Машинско учење на мрежи

С Википедије, слободне енциклопедије
(преусмерено са Oнлајн машинско учење)

У рачунарству, онлајн машинско учење (енг. Оnline machine learning) јесте метод машинског учења у коме подаци секвенцијално постају доступни, па се затим користе за ажурирање предиктора будућих података на сваком кораку, насупрот техника офлајн[1] машинског учења које генеришу предикторе учењем на целом скупу података за обуку. Онлајн учење је уобичајена техника која се користи у областима машинског учења где је немогуће претраживање целог скупа података, што стога захтева потребу за изузетно напредним алгоритмима. Такође се користи и у ситуацијама када је неопходно да се алгоритам динамички прилагођава новим обрасцима у подацима или када се сами подаци генеришу као функција времена, нпр. предвиђање цена акција. Онлајн алгоритми учења могу често бити склони грешкама.

Уводна прича[уреди | уреди извор]

У надгледаном машинском учењу, задатак је учење (обрада) функције где је простор улаза, а простор излаза тј. скуп вредности функције, која добро предвиђа конкретне инстанци чије је појављивање дато функцијом расподеле на . У пракси, ученику никада није позната расподела вредности . Уместо тога ученик обично има приступ конкретном скупу инстанци . У овом случају, такозвана функција грешке дата са јесте функција таква да мери разлике између предвићених вредности и правих вредности . Кључна ствар јесте избор функције , где је простор функција који се назива простор хипотеза, тако да је функција грешке минимализована. У зависности од статистичког модела могу се дефинисати разни облици функције грешке, које ће касније водити разним алгоритмима машинског учења.

Статистичко виђење онлајн машинског учења[уреди | уреди извор]

У статистичким моделима учења, за узорак се претпоставља да је изабран из одговарајуће расподеле , па је даље циљ минимизовати очекивани "ризик":

Надаље је циљ оценити функцију методом емпиријске минимизације ризика или регуларизоване емпиријске минимизације ризика (обично метод Tikhonov-e регуларизације). Одабир функције грешке у овим случајевима доводи до неколико добро познатих алгоритама као што су метода најмањих квадрата и SVM метод машинског учења. Чисто онлајн метод машинског учења у овом случају би своја предвиђања засновао само на основу новог улаза , тренутно најпрецизнијег предиктора и специфичних, до тог корака сачуваних, додатних информација (за чување оваквих информација обично је резервисан фиксни меморијски простор, независан од количине доступних података). За разне формулације проблема, на пример за нелинеарни метод језгара право онлајн машинско учење није могуће спровести. Ипак неку врсту модификованог односно хибридног онлајн машинског учења ипак је могуће спровести, рецимо рекурзивним алгоритмом када зависи од и свих претходних тачака . У овом случају просторни захтеви алгоритма више нису гарантовано константни с обзиром да је алгоритму сада неопходно да чува вредности свих претходних тачака, али ће таквом решењу врло вероватно требати мање времена за извршавање додавањем нових тачака односно података у поређењу са горепоменутим офлајн машинским учењем примењеним на исти проблем. Честа стратегија за превазилажење претходно наведених проблема јесте машинско учење комбиновањем претходних онлајн и офлајн метода коришћењем мини серија, које процесирају мале групе од података у једном кораку. Претходно се може сматрати као псеудо-онлајн учење када је много мање од укупног броја тачака тј. података за обраду у општем случају. Технике мини серија машинског учења се користе када имамо вишеструки пролаз кроз податке у процесу обраде, у циљу добијања оптимитзованих верзија алгоритама аутоматског учења.

Пример: линеарна апроксимација (метод најмањих квадрата)[уреди | уреди извор]

Линеарни метод најмањих квадрата (илустрација)

Једноставан уводни пример линеарна метода најмањих квадрата користи се да објасни ширину идеја које се провлаче кроз корене онлајн машинског учења. Ова математичка идеја јесте довољно општа да се примени у разним другим проблемима, нпр. са осталим конвексинм функцијама грешке.

Учење у серијама[уреди | уреди извор]

Ако у надгледаном машинском учењу за функцију грешке узмемо квадратну функцију, минимизација грешке своди се на минимизацију квадратне функције.

где је
.

Нека буде матрица и нека је матрица циљаних вредности након првих тачака.

Претпоставимо да је матрица коваријансе[2] инверзибилна (иначе се на њу примењују одређени методи регуларизације), најбоље решење линеарним методом најмањих квадрата дато је са

.

Даље, рачунање матрице коваријансе повлачи сложеност , инвертовање матрице повлачи сложеност , док је остало множење сложености , дајући тако укупну сложеност целог процеса . Када је укупан број доступних тачака и када треба поново рачунати решење након додавања сваке нове тачке , изложено решење ће имати укупну сложеност . Приметимо да ако у меморији чувамо матрицу коваријансе , тада њено ажурирање на сваком кораку захтева само додавање , које је сложености , што умањује укупну сложеност на , али користи додатни простор реда величине да чувамо .[3]

Онлајн машинско учење: рекурзивна метода најмањих квадрата[уреди | уреди извор]

Рекурзивни алгоритам методе најмањих квадрата разматра проблем методе најмањих квадрата из угла онлајн машинског учења. Исти се може приказати на следећи начин. Нека је и . Решење линеарним методом најмањих квадрата дато у претходном одељку може бити израчунато следећим итеративним процесом:

Претходни итеративни алгоритам може бити доказан методом математичке индукције по .[4]. Претходни доказ показује да је . Сложеност у корака овог алгоритма јесте , што је за ред величине ефикасинје од одговарајућег претходно изложеног алгоритма за учење у серијама. Просторни захтеви сваког -тог корака овде се своде на чување матрице , што је константа . У случају када није регуларна тј. инверзибилна, разматра се функција грешке . Даље је релативно једноставо показати да наш алгоритам ради са почетним условом , и итерацијама .[3]

Стохастички метод градијентног спуста[5][уреди | уреди извор]

Ако у претходном алгоритму формулу

заменимо формулом

где и , долазимо до нечега што се назива стохастички метод градијентног спуста. Овај алгоритам има сложеност за корака редуковану на . Просторни захтеви овог алгоритма у сваком -том кораку су константни .

Било како било, величину корака треба пажљиво изабрати тако да се минимизује очекивана грешка. Избором корака може се показати конвергенција претходног итеративног низа u просечном броју корака . Овај проблем представља специјални случај области стохастичке оптимизације, добро познате подобласти оптимизације.[3]

Постепени стохастички метод градијентног спуста[уреди | уреди извор]

У пракси могуће је изводити вишеструке стохастичке пролазе (који се у том случају називају циклуси или епохе) кроз податке. Овако модификовани алгоритам се назива постепени стохастички метод градијентног спуста и одговара следећој итеративној формули:

.

Основна разлика у односу на претходно изложени метод јесте та што у овом случају низ се користи да се одлучи која тачка ће бити посећена у -том кораку. Тај низ може бити стохастичki или детерминистички. Број итерација више није једнак броју тачака (свака тачка може бити коришћена више него једном). Ова метода се може искористити да минимизује функцију ризика[6] Технике сличне овој могу бити корисне када се узимају у обзир функције грешке састављене од веома великог скупа података.

Кернел методе[уреди | уреди извор]

Кернели се могу користити за проширивање горенаведених алгоритама на непараметрарске моделе (или моделе где параметри формирају простор бесконачне димензије). Одговарајући поступак више неће бити у пуном смислу метод онлајн машинског учења, и уместо тога укључиче чување свих података, али ће и даље бити доста бржи од метода грубе силе. Наредна дискусија је ограничена на случај квадратне функције грешке, али се једноставно може проширити на било који случај конвексне функције грешке. Једноставном математичком индукцијом[3] могуће је показати да ако је матрица података а резултат алгоритма након -тог корака стохастичког метода градијентног спуста, тада:

где је и додатно низ је дат рекурзивном дефиницијом:

и

Приметимо да је стандардни кернел на , и предиктор јесте облика

.

Даље, ако општи кернел означимо са и ако је предиктор сада облика:

тада ће доказ аналоган претходном показати да се предиктор који минимизује грешку добија променом горње рекурзије на

.

Горенаведени израз захтева чување свих података за ажурирање . Укупна временска сложеност претходне рекурзије када се израчнавања врше за сваку -ту тачку је , где хе сложеност израчунавања вредности кернела на пару тачака домена.[3]. Дакле, употреба форми омогућила је да се пође од простора параметара коначне димензије и да се дође до евентуално бесконачнодимензионог простора презентованог кернелом и уместо извођења рекурзије на простору параметара , чија је димензија једнака димензији посматраних података. Теоријски, претходно је последица теореме о репрезентацији (теорема математичке статистике).

Прогресивно учење[уреди | уреди извор]

Прогресивно учење је ефективан модел учења који симулира процес учења код људи. То је процес континуираног учења директно на основу искуства. Техника прогресивног учења (енг. PLN) у машинском учењу може учити нове класе/лабеле динамично, у покрету.[7] Иако онлајн машинско учење може обрађивати нове узорке података који стижу секвенцијално, оно не може обрађивати нове класе података које се динамички уводе у сам модел. Парадигма прогресивног учења је независна од броја ограничења у класама и може учити тј. обрађивати нове класе док истовремено задржава сва знања из претходно обрађених класа. Када год се наиђе на нову класу података (класу непознату алгортму, ону коју до сада још није сусрео) класификатор се аутоматски преобликује и параметри се обрађују на начин којим се задржава досадашње знање. Овакве технике су погодне за апликације у пракси, где је број различитих класа често непознат и потребно је учење у реалном времену.

Онлајн конвексна оптимизација[уреди | уреди извор]

У техникама онлајн конвексне оптимизације (енг. ОСО) скуп хипотеза и функција грешке су присиљено конвексни да би алгоритам добио више простора за учење. Модификован алгоритам сада има следећи облик: За

  • Алгоритам добија улаз
  • Алгоритам рачуна из фиксног конвексог скупа
  • Околина враћа конвексну функцију грешке .
  • Алгоритам процењује направњене погрешке и ажурира модел.

На пример, размотримо онлајн машинско учење кроз линеарну апроксимацију методом најмањих квадрата. Овде тежински вектори долазе из конвексног скупа , док је конвексна функција грешке дата са . Приметимо узгред да је у овом случају имплицитно послато кроз .

Мећутим, неки проблеми онлајн машинског учења не могу се природно уклопити у ову методу. За пример посматрајмо онлајн класификацију код које домен и функција грешке нису конвексни. У оваквим ситуацијама користе се две основне технике конвесксификације: рандомизација и замена функције грешке.

Неки од једноставних онлајн метода конвексне оптимизације алгоритама су:

Алгоритам прати лидера (енг. FТL)[уреди | уреди извор]

Најједноставнији метод учења јесте избор (у тренутном кораку) хипотезе која има најмање гутитака у свим претходним корацима. Овај алгоритам носи назив Алгоритам прати лидера (енг. Follow the leader) и дат је једноставном формулом за корак са:

.

На овај метод може се гледати као на похлепни алгоритам. У случају онлајн квадратне оптимизације (где је функција губитка дата са ), може се показати да границе регресије расту са . Какогод, овај метод се не може применити на друге важне фамилије модела машинског учења као сто је онлајн линеарна оптимизација. Да би се то урадило, овај алгоритам се модификује тако што се изврши такозвана регуларизација.

Модификовани алгоритам прати лидера (енг. FТRL)[уреди | уреди извор]

Модификовани алгоритам прати лидера представља природну модификацију претходног алгоритма која се додаје да стабилизује понашање истог, и да обезбеди боље границе регресије. Функција регуларизације дата је са и учење је дато у кораку t као:

Као посебан пример претходног размотримо случај онлајн линеарне оптимизације где је функција губитка дата у облику . Такође, имамо . Претпоставимо да је функција регуларизације одабрана за неки позитиван број . Под оваквим претпоставкама, може се доказати да итеративни процес минимизације има слецећи облик:

Приметимо да претходно може бити записано и као , што изгледа баш као онлајн метода градијентног спуста.

Ако је уместо тога S неки конвексан подскуп од , S би требало пројектовати, што доводи до промене правила ажурирања

Овај алгоритам познат је и под именом лења пројекција, због тога што вектор акумулира градијент. Такође, познат је и под именом двоструки Нестеров средњи алгоритам. У овом случају, случају линеарне функције губитка и квадратне регуларизације, граница регерије је у оквирима сложености , и стога просечна регресија иде ка 0 што и желимо.

Остали алгоритми[уреди | уреди извор]

Квадратно регуларисани алгоритам пратње лидера води до лење пројекције градијентног метода као што је описано у претходним пасусима. Да би се горе описано користило за произвољне конвексне функције и регуларизаторе може се користити слична модификација. Други алгоритам се назива предвиђање стручним саветима. У овом случају скуп хипотеза састоји се од функција. Дистрибуција над експертских функција се одржава, и предвиђање се врши узимањем узорака из ове дистрибуције. У слушају Еуклидске регуларизације, може се показати да је граница регресије дата са , сто може бити побољшано до ганице ако се користи боља функција регуларизације.

Интерпретације онлајн машинског учења[уреди | уреди извор]

Парадигма онлајн машинског учења интересантно има различите интерпретације у зависности од избора метода учења, од којих свака има различите импликације у погледу предиктивног квалитета секвенце функција . За ову дискусију користи се стохастички алгоритам градијентног спуста. Као сто је горе наведено, његова рекурзија дата је са

.

Прва интерпретација разматра метод стохастичког алгоритма градијентног спуста примењеног на проблем минимизације очекиваног ризика дефинисаног раније.[8] Заиста, у случају бесконачног стримовања односно дотока података, као у примеру претпостављено је да исти долазе из расподеле , за низ градијената у претходним итерацијама претпоставља се да је узорак стохастичких процена градијената очекиваног ризика и стога је могуће применити резултате метода стохастичког градијентног спуста за ограничење девијације , где је минимизатор за .[9]. Ова интерпретација је такође валидна и у случају коначног скупа доступних података. Иако са вишеструким пролазом кроз податке градијенти више нису независни, и даље се претходни резултати могу користити у неким ситуацијама.

Друга интерпретација се примењује на случај коначног скупа података и разматра се Стохастички градијентни спуст као пример методе postepenog градијентног спуста.[6] У овом случају посматра се емпиријски ризик дат са:

Како су градијенти у овој методи такође стохастичке процене градијента од , тумачење овог метода је такође повезано са методом стохастичког градијентног спуста, али се примењује у циљу минимизовања емпиријског ризика уместо минимизације очекиваног ризика. Како се оваква интерпретација концентрише на емпиријски ризик а не на очекивани ризик, вишеструки проласци кроз податке су дозвољени и заправо воде до строжих граница девијације , где је минимизатор од .

Имплементације онлајн машинског учења[уреди | уреди извор]

  • Vowpal Wabbit: Отворени софтвер, брз онлајн систем машинског учења што је значајно за подршку бројним редукцијама машинског учења, подржавајући избор различитих функција губитака и алгоритама оптимизције. Користи такозвани трик са хеширањем за ограничавање величине скупа функција, независно од количине података који се обрађују.
  • scikit-learn: Обезбеђује изванредне имплементације алгоритама за
    • Класификацију.
    • Регресију
    • Кластеринг, итд.

Види још[уреди | уреди извор]

Референце[уреди | уреди извор]

  1. ^ Различити аутори користе разне класификације области машинског учења; Очекује се да ће терминологија временом исконвергирати
  2. ^ Матрица чији елемент на позицији представља коваријансу између i тог и j тог елемента оригиналног вектора
  3. ^ а б в г д L. Rosasco, T. Poggio, Machine Learning: a Regularization Approach, MIT-9.520 Lectures Notes, Manuscript, Dec. 2015. Chapter 7 - Online Learning
  4. ^ Yin & Kushner 2003, стр. 8–12.
  5. ^ Стохастичка оптимизација метода градијентног спуста
  6. ^ а б Bertsekas, D. P. (2011). Incremental gradient, subgradient, and proximal methods for convex optimization: a survey. Optimization for Machine Learning, 85.
  7. ^ Venkatesan, Rajasekar; Meng Joo, Er (2016). „A novel progressive learning technique for multi-class classification”. Neurocomputing. 207: 310—321. S2CID 12510650. arXiv:1609.00085Слободан приступ. doi:10.1016/j.neucom.2016.05.006. 
  8. ^ Bottou, Léon (1998). „Online Algorithms and Stochastic Approximations”. Online Learning and Neural Networks. Cambridge University Press. ISBN 978-0-521-65263-6. 
  9. ^ Kushner, Harold; George Yin, G. (2003). Stochastic Approximation and Recursive Algorithms and Applications (2nd изд.). New York: Springer. ISBN 978-0-387-00894-3. 

Литература[уреди | уреди извор]