Шта је машинско учење? У овом видеу ћемо покушати да дефинишемо шта је то и покушати
да вам дамо осећај када желите да користите машинско учење. Чак и међу
онима који се баве машинским учењем не постоји опште прихваћена дефиниција шта је а шта
није машинско учење. Али дозволите ми да вам покажем пар примера на који начин
су људи покушали да га дефинишу. Ево дефиниције шта је машинско учење
по Артуру Семјуелу. Он је дефинисао машинско учење као студијско поље које даје
рачунарима могућност да уче без да бивају експлицитно програмирани. Семјуелов тренутак
славе се збио 1950-их, када је наприсао програм за играње даме. И
запањујућа ствар у вези са програмом за играње даме, је била да сам Артур Семјуел
није био веома добар играч даме. Али оно што је он урадио, је да је програмирао рачунар да игра
десетине хиљада игара против себе. А такође гледањем које врсте позиција
на табли су склони да воде до победе, и која врста позиција на табли је склона да води ка
поразима. Програм за играње даме, учи током времена шта су добре позиције
на табли а шта су лоше позиције на табли. И као исход, научио је да игра
даму боље него је што Артур Семјуел био у стању да игра. Ово је био изванредан резултат.
Испоставило да сам Артур Семјуел није био нарочито добар играч даме, али зато је
рачунар имао стрпљења да игра десетине хиљада игара самостално. Ниједан
човек нема стрпљења да игра толико пуно игара. На тај начин рачунар је био у стању
да стекне пуно искуства у игрању даме, тако да је коначно постао
бољи играч даме од самог Артура Семјуела. Ово је више неформална
и једна од старијих дефиниција. Ево нешто новије дефиниције од Тома
Мичела, који је пријатељ са Карнеги Мелон универзитета. Том дефинише машинско учење
говорећи да је добро постављен проблем машинског учења дефинисан на следећи начин. Каже се да рачунарски
програм учи из искуства E, у односу на неки задатак T, и неку
меру учинка P, ако се тај учинак задатка Т мерен са P побољшава
искуством E. У ствари ја мислим да је он у ствари смислио ову дефиницију само да би се
римовала. За пример играња даме, искуство E би било
искуство које програм стиче играјући десетине хиљада игара против себе.
Задатак T, би био задатак играња даме. А мера учинка P
би била вероватноћа да ће добити следећу игру даме против
неког новог противника. Кроз ове видео снимке, поред тога што ћу пробати да вас научим
новим стварима, повремено ћу вас питати питање да бих био сигуран да разумете
садржај. Ево и једне од најбољих дефиниција машинског учења од стране Тома
Мичела. Рецимо да ваш и-мејл програм гледа и-мејлове које ви означавате или не означавате
као спам. Тако у и-мејл клијенту као што је овај можете кликнти ово спам дугме да означите
неке и-мејлове као спам, а остале не. На основу тога које и-мејлове сте означили као
спам, ваш и-мејл програм боље учи како да филтрира спам и-мејлове. Шта је
задатак T у овој ситуацији? За пар секунди, видео ће се зауставити. Када се то деси,
можете користити вашег миша да селектујете једну од четири опције, да ми кажете
за који од ових четири мислите да је прави одговор на питање. То би могло
да буде мера учинковитости P. Према томе, учинковитост нашег задатка, системска
учинковитости на задатку T, тј. мера учинковитости P, ће се побољшати након
искуства E. Надам се да ћу вас на овом часу научити о различитим типовима
алгоритама машинског учења. Постоји неколико различитих типова алгоритама машинског учења.
Два главна типа су оно што називамо надзирано и ненадзирано
учење. У следећих неколико видео снимака ћу дефинисати шта ови термини значе. Али
у надзираном учењу, идеја је да ћемо ми научити
рачунар како да уради нешто, док ћемо у ненадзираном учењу пустити
рачунар да то ради сам. Не брините уколико вам ова два термина тренутно немају смисла, у
следећа два видео снимка ја ћу вам тачно рећи шта су ова два типа машинског учења.
Такође ћете чути остале актуелне термине као што су учење условљавањем (енг. reinforcement learning) и
системи за препоручивање (recommender systems). Ово су други типови алгоритама машинског учења о којима ћемо говорити
касније а два најкоришћенија типа алгоритама за машинско учење су вероватно
надзирано (supervised) и ненадзирано учење (unsupervised learning) и ја ћу их дефинисати у следећа
два видео снимка и провешћу већину часа говорећи о ова два типа
алгоритма машинског учења. Једна од ствари на коју ћу потрошити доста времена
на овом часу су практични савети за примену алгоритама за машинско учење. Ово је
нешто што ми је врло битно, и то је заправо нешто за што
не знам да се учи на било ком другом универзитету. Учење о алгоритмима машинског учења
је као да вам неко да сет алата. Једнако важено или још
важније од тога да вам неко да алате, јесте да вас научи како да примените те алате. Ја волим да
направим аналогију са учењем за столара. Замислите да вас неко
учи како да постанете столар и он вам каже ево чекић, ево
Имате све те алате, али још важнија ствар је да научите како да користите
ове алате на прави начин. Постоји огромна разлика између људи који
знају како да користе алгоритме за машинско учење, наспрам људи који не знају
како да користе ове алате на прави начин. Овде у Силицијумској долини где ја живи, када идем да
посетим различите компаније, чак и у најбољим компанијама у Силицијумској долини веома често видим
да људи покушавају да примене алгоритме машинског учења на неки проблем и
понекад то раде по шест месеци. Али понекад када погледам на
то шта су урадили, кажем им - забога, могао сам
да вам кажем шест пре месеци да је требало да узмете алгоритам за машинско учење и
да га примените на незнатно модификован начин и ваше шансе за успех би биле
много веће. Према томе оно што ћемо урадити на овом часу је заправо да потрошимо много
времена причајући о томе како, уколико покушате да развијете систем за машинско учење,
како да направите одлуке у складу са најбољом праксом, о начину на који да
изградите ваш систем тако да, када примените алгоритам машинског учења, буде мање
вероватно да ћете завршити као један од тих људи који су завршили шест месеци тражећи
прави пут. Неко други би могао помислити да то једноставно уопште неће радити
и да је то само протраћених шест месеци. Зато намеравам да потрошим
доста времена учећи вас тим врстама најбољих пракси у машинском учењу и
ВИ (вештачкој интелигенцији) и како да натерате те ствари да раде и како ми то радимо, како најбољи људи то раде у
Силицијумској долини и у целом свету. Надам се да ћу направити од вас неке од најбољих стручњака
који ће знати како да дизајнирају и праве озбиљне системе машинског учења и АИ системе. Дакле,
ово је машинско учење и ово су главне теме за које се надам да ћу да вас научим. У следећем
видеу ћу дефинисати шта је надгледано учење а после тога, шта
је ненадгледано учење. Након тога, причаћу о томе када би се могло употребити свако од њих.