Professional Documents
Culture Documents
Se Uedno Mas 2
Se Uedno Mas 2
На сликата има права со црвено и таа права ја чинат точките x1,x2 за кои хипотезата е 0. Таа го
дели просторот на два полупростори, од кој едниот се
сите точки за кој хипотезата е поголема од 0, а другиот е
за кој хипотезата е помала од нула. Векторот w е нормала
на таа права и е прикажан како вектор со почетна точка во
координатниот почеток, но почетната точка е произволна.
Има и вектор на х кој се наоѓа го просторот на позитивни
примери. Имаме разложување на векторот х на збир од
два вектори dw/||w||. Овде, најважно е од која страна се
наоѓа пример и колку е оддалечен од хиперрамнината
која кажува колку е добро класифициран примерот. Скаларниот производ на два вектори ќе
исчезне кога тие два вектори се нормални, односно векторот w е нормален на сите вектори кои
лежат на хиперрамнината. Оддалеченоста на примерот од хиперрамнината може да биде
позитивна/негативна па тоа е означена оддалеченост. Векторот w без w0 е нормала на n-1
димензионалната рамнина во просторот R^n и покажува во насока на полупросторот за кој h(x)>0.
Означеното растојание од w е еднакво на нормата на w.
Проблем кај оваа класификација е дека многу линеарни дискриминативни модели се бинарни
класификатори и се поставува прашање како да се искористат овие модели. Проблемот можеме
да го разделиме на повеќе класи во м-во на бинарни класификациски проблеми и тогаш
повеќепати ќе може да се употреби бинарна класификација. Има две шеми за ова, едната е еден
наспроти еден и другата е еден наспроти останатите. Кај еден наспроти еден таа се сведува на К
на 2 независни бинарни класификациски проблеми, односно по еден за секој пар на класи. Ако
има три класи, ќе ни требаат три бинарни класификатори. На сликата лево секоја од трите
хипотези секогаш разделува само две класи, а третата ја игнорира. Овде се разделуваат y=2 и y=3
со ориентација кон примери од класата y=2, додека пак поминува низ примерите на класата y=1.
Кај еден наспроти остантите имаме
декомпозиција на бинарни
класификации. Кај оваа шема има К
независни бинарни класификатори, од
кои секој се тренира за да ги раздели
примерите на класата од сите останати
класи. На сликата десно имаме три класи,
па ќе имаме три бинарни класификатори
со нивните хипотези каде хипотезата ги
разделува примерите на класата од
примерите на сите останати класи.
Кај еден наспроти еден треба да се избере онаа класа каде збирот од бинарните класификатори е
максимален. Оваа шема е едноставна, но може да има ситуација каде одлуката за класификација
не е еднозначна. Примерот кај еден наспроти останати се доделува на онаа класа која е
најсигурна во својата позитивна класификација. Вака дефинираниот модел значи дека
имплицитно меѓу две соседни класи има граница кои одговараат на симетралите на аглите. Кај
оваа шема не може да се случи да не се знае каде е класифициран примерот, за разлика од еден
наспроти еден, освен ако примерот е во координатниот почеток. Еден наспроти остани има
помалку модели, но проблем е неурамнотеженост на класите (нееднаков број на примери).
Проблем кој се јавува е кога оптимизацискиот алгоритам сака да ја намали емпириската грешка,
тоа ќе штети на примерите од помалата класа и се нарекува проблем на неурамнотеженост на
класа.
Класификација со регресија
Кога влезниот простор е со една димензија, примерот кој бил правилно класифициран кога ќе се
додаде нов пример ќе придонесе до грешна класификација на друг пример. Истото се случува и
кај влезен простор со повеќе димензии каде примерите кои се наоѓаат далеку од границата имаат
големо влијание и ја смалуваат точноста на класификаторот. Ова укажува дека линеарниот модел
на регресија не е добар класификатор. Ако примерите се лиенарно одвоиво, се очекува да имаме
перфектна класификација, но кај линеарната регресија ова не се случува.
Секој алгоритам на МЛ се состои од модел, ф-ја на загуба и оптимизациски алгоритам и ако има
грешка при класификација со регресија, проблемот е во првите две, каде може да имаме големо
квадратно отстапување каде се казнуваат и добро класифицираните примери.
На графот имаме х оска имаме вредност која ќе е позитивна за точна класификација, и негативна
за неточна класификација. Оваа вредност е мерка за точност на класификацијата. Колку сме
подалеку од координатниот почеток, толку
класификација е точна/неточна. На у оската е
вредност на функцијата на загува L. На графот, оваа
функција има вредност 1 ако класификацијата е
неточна, а вредност 0 ако класификацијата е точна.
Загубата ќе биде еднаква на нула кога вредноста на
предикцијата е еднаква на ознаката у, односно тоа
ќе биде кога вредност на х оската ќе биде еднаква
на 1. Кога предикцијата е еднаква на 0, загубата ќе
биде 1. Кога предикцијата е еднаква на 2, загубата
ќе биде 1. Ако ова сакаме да го поправиме, односно
само да се казнуваат погрешните класификации,
сакаме загубата да биде 0-1, но ова не е погодно, бидејќи ако ф-јата на загуба ја замениме треба
да ја промениме и оптимизациската постапка и ова нема веќе да биде алгоритам за линеарна
регресија.
За класификација, не можеме да ја употребиме регресијата, па се наметнува користење на
алгоритам кој како ф-ја на загуба има 0-1. Но, ф-јата на грешка дефинирана како очекување на ф-
ја на загуба 0-1 нема да може да се користи за оптимизација, бидејќи не е диференцијабилна. Но
место загуба 0-1, може да се искористи друга функција која е диференцијабилна.
Кога имаме промена на ф-ја на загуба нема минимизатор во затворена форма, па решение е
градиентно спуштање каде тежините се ажурираат во насока спротивна на градиентот и тоа ќе не
доведе до минимумот на грешката. Тежините се ажурираат според правилото на Widrow-Hoff
каде се одредува величина на чекор со кој се спуштаме кон минимумот.
Алгоритам на перцептрон:
Кај надгледувано машинско учење примерите се означени, односно тоа се парови х,у и ни е
позната целната класа ако е класификација, односно целната вредност ако е регресија. Кај
ненадгледуваното учење немаме означени примери. Има различни пристапи кај ова учење, но
најпрво станува збор за кластерирање каде неозначените примери се собираат во кластери во
зависност од тоа колку се слични. Основна мотивација за ненадгледувано учење е немањето на
информација за тоа кој пример на која класа припаѓа. Овде располагаме со м-во на неозначени
Овој алгоритам примерите од неозначеното м-во ги групира во К цврсти кластери. Овде станува
збор за партициско групирање бидејќи има цврсто групирање. Идејата е да секоја група има своја
средна вредност односно центроид која го претставува кластерот и секој пример припаѓа на група
на која центроидот му е најблизок. Постапката на кластерирање е итеративна, се почнува од
центроид на к-тата група и сите примери се додаваат на онаа група на која центроидот им е
најблизок. Ова може да доведе до поместување на центроидот, па во следниот чекор се
пресметуваат нови центроиди во секоја група. Ова може да доведе до промена на припадноста во
групите, па примерите повторно се разделуваат во групи каде центроидот им е најблизок. Оваа
постапка продолжува се додека не се постигне конвергенција, нема менување на центроид/групи
на примероци.
Бројот на итерации Т е многу помал од бројот на примери, па бројот на итерации е клучен фактор
кај сложеност. Не интересира дали овој алгоритам е детерминистички, оптимален и дали
конвергира. Детерминистички значи да дава исти излези за исти влезови. Во алгоритамот треба
да се изберат почетни средини на групите, ако тоа избирање се прави стохастички, тогаш
алгоритамот ќе биде стохастички/недетерминистички. Ако изборот е детерминистички,
алгоритмот има додатен извор на недетерминизам, односно разрешување на исто растојание на
два примери од центроидот. Конвергирање значи бројот на конфигурации да биде конечен,
односно партиционирање плус распределба на средни вредности. Оптимизациската постапка
значи да критериумската функција Ј се смалува со итерациите. Од ова следи дека алгоритмот
никогаш не ја посетува истата конфигурација повеќе пати, па тоа значи дека мора да конвергира.
Кога ќе конвергира алгоритмот, не е најдено оптимално кластерирање бидејќи станува збор за
алчен алгоритам кој наоѓа локално оптимално решение. Групирање зависи од изборот на
почетните центроиди. (примее 39:17)
Алгоритам К-медоиди
Тој се користи кога примерите може да се прикажат во векторски пристап, односно кога може да
се пресмета центроидот и евклидовото растојание. Левенштајново растојание – за пар примери ја
враќа нивна сличност.
Кај последните два алгоритми, бројот на кластери треба однапред да се одреди. Ова е случај кај
многу алгоритми на кластерирање, исклучок се непараметарските алгоритми за кластерирање.
Изборот на оптималниот број на кластери е дел од проблемот проверка на кластери. Тоа е
проверка колку добро е извршено кластерирањето. Бројот на кластери одговара на бројот на
природни групи во м-вото на податоци но тој број не се знае. Проблемот на избор на кластери е
аналоген на избор на моделот. Техники за избор на број на кластери: рачна проверка на
квалитет на кластери (се разгледуваат примерите во групите и се обидуваме да разбереме дали
групирањето има смисла), редукција на димензии во 2д простор и визуелна проверка
(примерите од високо димензионалниот простор да ги пресликаме во 2д простор и да утврдиме
оптимален број на групи, па да ги групираме), метод на колено (графички се прикажува
зависноста на критериумска функција од параметарот к и се бара колено на таа крива, односно
место каде ф-јата нагло паѓа и стагнира. Со зголемување на бројот на групи, влезноста на ф-јата ќе
паѓа но тој пад нема да биде изедначен. Со мало зголемување, имаме подобро групирање, а во
моментот кога ќе нема да има добро групирање, односно ф-јата ќе стагнира, новододадените
групи не одговараат на природното групирање на примерите.), анализа на силуета (графички се
прикажува вредноста на силуетата за секој пример и по основа на тоа визуелно се одредува
оптималниот број на групи. Вредноста на силуетата за еден пример се дефинира со просек на
оддалеченост од примерот до примерите каде не се наоѓа примерот. Ако вредноста на силуетата
е 1, примерот е многу оддалечен од примерите од соседната група,а блиску до примерите од
својата група. Ако е -1, примерот е погрешно групиран, обратно. пример околу минута 13.),
минимизација на регуларизирана функција на грешка (идејата за избор на групи е слична со
онаа на регуларизација кај надгледуваното учење. Овде се проширува критериумот за групирање
кој го минимизираме со цел да ја комбинира изворната критериска функција и сложеноста на
моделот со цел да ги казнуваме моделите со голем број на групи. . проблемот е
избирање на оптимална ламбда која индиректно одредува што значи примерите да се доволно
слични. Не може вкрстена проверка, бидејќи нема означени примери. Кога избираме ламбда
можеме да гледаме на меко кластерирање.) - акаикеов критериум (сложеноста на моделот се
проценува како производ од бројот на особини и бројот на групи. Ламбда ни е 2n.), точност на
подмножество примери (споредба на добиеното групирање со групирањето кое го сметаме за
точно и не знаеме кое е точно групирање. За помал број на примери, можеме да го одредиме
точниот број на групи.) – рандов индекс (мерка за грешка, односно точност на групирање на ниво
на парови примери. За секој можен пар, гледаме дали тие примери завршиле во иста група или
не. Ако се во иста, парот на примери е позитивен, инаку е негативен. Ако примерите се во иста
група и навистина требало да бидат во иста група, тој пар е вистински позитивен, инаку ако
завршиле во друга група и така требало да биде тоа е вистински негативен пар. Збирот на
вистински негативни и вистински позитивни парови е бројот на точно групирани парови.
. пример 32:30. Рандовиот индекс е во интервалот 0-1. Ако бројот на групи е премал,
групите ќе се преголеми, па ќе имаме лажно позитивни парови. Ако бројот на групи е преголем,
бројот на групи ќе биде премал, па ќе имаме лажно негативни парови. Рандовиот индекс е
унимодална функција од бројот на групи.)
Masinsko ucenje predavanje 9
Тој изведува меко партициско групирање. Тоа е алгоритам кој е пробабилистичко обопштување на
алгоритмот к-средни вредности. Исто така тој е генеративен модел со латентни променливи за чие
тренирање ќе ни треба нов алгоритам кој е алгоритам за максимизација на очекувањето.
Псевдо код и објаснување како оде: Алгоритамот на к-средни вредности во секоја итерација
прави два чекори, во прв чекор примерите ги доделува на кластер со најблизок центроид а во
следниот чекор ги пресметува новите центроиди. Клучна измена кај алгоритмот модел на Гаусова
мешавина е дека примерот на групата припаѓа со некоја веројатност чии вредности се во интервал
[0,1]. Таа веројатност се нарекува и одговорност и се означува со h k ( i). Прво се иницијализираат
Пример: 29:15.
Ова горе е моделот на мешана густина со латентни променливи функционира ако знаеме на која
група примерот припаѓа, моделот ја зема и ја множи.
А кај моделот на мешана густина без латентни променливи нема голема разлика, нема
моделирана врска меѓу примерите и групата. Овде наместо производ, има сума.
Хиерархиско групирање
Кај алгомеративното во секој чекор се спојуваат две најблиски групи од кои секоја има по еден
пример, па растојанието меѓу овие две групи се пресметуват преку растојанието меѓу овие два
примери. Оддалеченоста меѓу две групи може да се претстави како најмала оддалеченост меѓу
поединечни примери во тие групи и тоа се нарекува групирање со еднократна поврзаност или
единечно. Оддалеченоста може да се дефинира како најголема оддалеченост меѓу примерите од
тие групи и таквото групирање се нарекува групирање со потполно поврзување или комплетно.
Ако групите се природно добро одвоени, овие две методи не даваат различни резултати.
Компромис меѓу овие две е групирање во однос на просечна поврзаност или просечно
поврзување. Последна метода е поврзување во однос на центроиди или поврзување на
центроиди каде просторот мора да е векторски. Се користи и метода на Ward на минимална
варијанса која оддалеченоста ја пресметува како зголемување на квадрат на оддалеченост меѓу
примери и центроиди пред и по спојување на групи.
Пример:
Import numpy as np
X = np.array([[1,2,3],[4,5,6]])
Print(“x:\n{}”.format(x))
Ќе се испечати:
x:
[[1 2 3]
[4 5 6]]
Пример
Print(eye) //vo dijagonalata kje ima 1, a site drugi prazni. 4 reda I 4 koloni
Sparse_matrix = sparse.csr_matrix(eye)
Print(sparse_matrix) //se zacuvuvaat vo numpy pole onie vlezovi koi ne se nula, zaedno so broj na red I
kolona
Primer
%matplotlib inline
X = np.linspace(-10,10,100)
Y = np.sin(x)
Plt.plot(x,y,market=”x”) //se generira sekvenca na broevi od -10 do 10 so 100 cekori megju ovie dva
broja. Se kreira vtoro pole so sinus. I se crta grafik na ovaa funkcii so plot
Pandas e biblioteka na python za analiza na podatoci I e izgradena vrz podatocna struktura DataFrame.
Pandas obezbeduva metodi za modifikacija so ovaa tabela I ovozmozuva sql prasanje I spojuvanje na
tabeli. Za razlika od numpy kade site elementi vo nizata treba da se od ist tip, pandas dozvoluva sekoja
kolona da ima svoj tip. Druga alatka e sposobnost da se primaat podatoci vo razlicni formati.
Import pandas as pd
Data_pandas = pd.DataFrame(data)
Display(Data_pandas)
Внесуваме ново поле со параметри: должина на sepal, ширина на sepal, должина petal, ширина
petal. Ја печатиме и се добива форма: број на пример 1 со број на особини 4. Следно потребно е
да предвидиме кој тип на ирис е ова. Креираме нова променлива prediction каде со помош на
објект од KNeighborsClassifier се предвидува на која класа припаѓа и името на класата на која
припаѓа.
Дрва на одлучување
Пример е проверка дали банкноти се лажни или не. Податоците се добиени од слики на
оригинални банкноти. Користена е wavelet transformed image. Атрибути: variance, skewness,
curtosis, entropy, class.
За задачи за класификација се користат матрица на конфузија, прецизност, одзив и f1 мерка. Таа
ги содржи методи: classification_report, confusion_matrix.
Чувствителност: a/(a+b)
Специфичност: d/(b+d)
Точност: (a+d)/(a+b+c+d)
Средна апсолутна грешка каде n е вкупен број на податочни точки, y е реална излезна вредност, y
Ненадгледувано учење
Предизвик кај ова учење е да се предвиди дали алгоритмот научил нешто корисни. Овие
алгоритми се применуваат на податоци што не содржат никакви информации за класата, па не се
знае точниот излез. Овде е тешко да се каже дали моделот добро е најден. Единствен начин за
оценување на овие алгоритми е рачно да се оценуваат. Наоѓање на нова репрезентиација на
податоците ја подобрува точноста на алгоритмите за надгледувано учење. Вообичаена практика е
да се прилагодат особините, за репрезентацијата да биде посоодветна.
За скалирање се користи метода fit врз податоците за учење. Кога со скалер се повикува овој
метод, единствено треба да се проследат податоци за учење, пример само X_train. Имаме и
користење на методот transform кој ја враќа нова репрезентација на податоците.
Методот transform секогаш го одзема минимумот најден во м-вото за учење и се дели со опсегот
на м-вото за учење.
Редукција на димензиите
Кај анализата на главни компоненти се ротира податочното м-во на начин на кој ротираните
особини се статистички некорелирани. Оваа ротација е следена од селектирање само на
подмножество од нови особини, според тоа колку се важни за објаснување на податоците.
Агломеративност кластерирање
Тоа е колекција на алгоритми за кластерирање изградени врз ист принцип. Алгоритмот започнува
со доделување на секој пример во посебен кластер и во секој чекор спојува два најслични
кластери се додека не се задоволи некој критериум за запирање. Критериум за запирање е број
на кластери. Има неколку критериуми за спојување кои специфицираат кои кластери се најслични,
има три избори во scikitlear:
Предност е што однапред немора да се зададе број на кластеи, може да се пронајдат кластери со
различни форми и може да се идентификуваат примери кои се шум. Има два параметри:
min_samples и eps. Тој идентификува примери кои се во густи региони, каде има многу примери
еден до друг. Примерите во густите региони се наречени core samples или јадро примери. Ако има
најмалку min_sample примери на растојание eps од даден пример, тој пример се класифицира
како core sample. Core samples кои се на растојание помало од eps се ставаат во ист кластер од
DBSCAN. Има три примери: примери кои се core, примери кои се на растојание eps од core
примерите и шум примери. Членството на пример во кластер зависи од редоследот на
посетување на примерите.
Кај кластерирањето е тешко да се одреди дали алгоритмот добро работи. Има мерки/метрики за
оцена на резултатите од кластерирањето со приод ground truth. Најважни од овие мерки се
прилагоден Рандов индекс и нормализирана меѓусебна информација кои даваат резултат оценка
чија вредност се движи меѓу 0 и 1. Од 34:20 споредба на алгоритмите.
Грешка при кластирање е користење на accuracy_score (бара ознаките на кластерите да
одговараат точно на однапред познатите ознаки).