Не, ну я, вядома, не ўсур'ёз. Павінна ж быць мяжа, да якой ступені можна спрашчаць прадмет. Але для першых этапаў, разумення базавых канцэпцый і хуткага "заязджання" ў тэму, можа быць, і дапушчальна. А як правільна назваць дадзены матэрыял (варыянты: "Машыннае навучанне для чайнікаў", "Аналіз дадзеных з пялёнак", "Алгарытмы для самых маленькіх"), абмяркуем у канцы.
Да справы. Напісаў некалькі прыкладных праграм на MS Excel для візуалізацыі і навочнага прадстаўлення працэсаў, якія адбываюцца ў розных метадах машыннага навучання пры аналізе даных. Seeing is believing, у выніку, як кажуць носьбіты культуры, якая і распрацавала большасць гэтых метадаў (дарэчы, далёка не ўсё. Наймагутны «метад апорных вектараў», або SVM, support vector machine – вынаходства нашага суайчынніка Уладзіміра Вапніка, Маскоўскі Інстытут кіравання. 1963 год, між іншым!Цяпер ён, праўда, выкладае і працуе ў ЗША).
1. Кластарызацыя метадам k-сярэдніх
Задачы гэтага віду адносяцца да «навучання без настаўніка», калі нам трэба разбіць зыходныя дадзеныя на некаторы загадзя вядомы лік катэгорый, але пры гэтым у нас няма ніякай колькасці «правільных адказаў», іх мы павінны атрымаць з саміх дадзеных. Фундаментальная класічная задача знаходжання падвідаў кветак касача (Рональд Фішэр, 1936!), Якая лічыцца першай ластаўкай гэтай галіне веды - як раз такой прыроды.
Метад дастаткова просты. У нас ёсць набор аб'ектаў, прадстаўленых у выглядзе вектараў (набораў N лікаў). У касач гэта - наборы 4 лікаў, якія характарызуюць кветка: даўжыня і шырыня вонкавай і ўнутранай долі калякветніка, адпаведна (
Далей, адвольнай выявай (ці не адвольнай, гледзіце далей) выбіраюцца цэнтры кластараў, і падлічваюцца адлегласці ад кожнага аб'екта да цэнтраў кластараў. Кожны аб'ект на дадзеным кроку ітэрацыі пазначаецца як які належыць да найбліжэйшага цэнтра. Затым цэнтр кожнага кластара пераносіцца ў сярэдняе арыфметычнае каардынат сваіх чальцоў (па аналогіі з фізікай яго завуць яшчэ «цэнтрам мас»), і працэдура паўтараецца.
Працэс дастаткова хутка сыходзіцца. На малюначках у двухмернасці гэта выглядае так:
1. Першапачатковае выпадковае размеркаванне кропак на плоскасці і колькасць кластараў
2. Заданне цэнтраў кластараў і аднясенне кропак да сваіх кластараў
3. Перанясенне каардынат цэнтраў кластараў, пераразлік прыналежнасці кропак, пакуль цэнтры не стабілізуюцца. Бачная траекторыя руху цэнтра кластара ў канцавое становішча.
У любы момант можна задаць новыя цэнтры кластараў (не генеруючы новае размеркаванне кропак!) і ўбачыць, што працэс разбіцця не заўсёды з'яўляецца адназначным. Матэматычна гэта азначае, што ў якая аптымізуецца функцыі (суме квадратаў адлегласцяў ад кропак да цэнтраў сваіх кластараў) мы знаходзім не глабальны, а лакальны мінімум. Перамагчы гэтую праблему можна альбо невыпадковым выбарам пачатковых цэнтраў кластараў, альбо пераборам магчымых цэнтраў (часам іх выгадна змясціць сапраўды ў якую-небудзь з кропак, тады хаця б ёсць гарантыя, што мы не атрымаем пустых кластараў). У любым выпадку, у канчатковага мноства заўсёды ёсць дакладная ніжняя грань.
Апісанне метаду ў Вікіпедыі
2. Апраксімацыя мнагачленамі і разбіўка дадзеных. Перанавучанне
Выдатны вучоны і папулярызатар навукі аб дадзеных К.В. Варанцоў коратка кажа аб метадах машыннага навучання як аб «навуцы аб правядзенні крывых праз кропкі». У гэтым прыкладзе будзем знаходзіць заканамернасць у дадзеных метадам найменшых квадратаў.
Паказана тэхніка разбіцця зыходных дадзеных на "навучальныя" і "кантрольныя", а таксама такі феномен, як перанавучанне, або "перападладка" пад дадзеныя. Пры правільнай апраксімацыі мы будзем мець нейкую памылку на навучальных дадзеных і некалькі большую - на кантрольных. Пры няправільнай - дакладную падладку пад навучальныя дадзеныя і вялікую памылку на кантрольных.
(Вядомы факт, што праз N кропак можна правесці адзіную крывую N-1 й ступені, і гэты спосаб у агульным выпадку не дае патрэбнага выніку.
1. Задаем першапачатковае размеркаванне
2. Дзелім кропкі на «навучальныя» і «кантрольныя» ў суадносінах 70 на 30.
3. Праводзім апраксімуючую крывую па навучальных кропках, бачым памылку, якую яна дае на кантрольных дадзеных
4. Праводзім дакладную крывую праз навучальныя кропкі, і бачым жахлівую памылку на кантрольных дадзеных (і нулявую на навучалых кропкі, але што толку?).
Паказаны, вядома, найпросты варыянт з адзіным разбіццём на «навучальныя» і «кантрольныя» падмноствы, у агульным выпадку гэта робіцца шматкроць для найлепшай падладкі каэфіцыентаў.
3. Градыентны спуск і дынаміка змены памылкі
Тут будзе 4-мерны выпадак і лінейная рэгрэсія. Каэфіцыенты лінейнай рэгрэсіі будуць вызначацца па кроках метадам градыентнага спуску, першапачаткова ўсе каэфіцыенты - нулі. На асобным графіку бачная дынаміка памяншэння памылкі па меры ўсё больш дакладнай падладкі каэфіцыентаў. Ёсць магчымасць паглядзець усе чатыры 2-мерныя праекцыі.
Калі задаць занадта вялікі крок градыентнага спуску, то відаць, што кожны раз мы будзем праскокваць мінімум і да выніку прыйдзем за большую колькасць крокаў, хоць, у рэшце рэшт, усё роўна прыйдзем (калі толькі не занадта моцна задерем крок спуску - тады алгарытм пойдзе у разнос»). І графік залежнасці памылкі ад кроку ітэрацыі будзе не плыўным, а "дерганным".
1. Генеруем дадзеныя, задаем крок градыентнага спуску
2. Пры правільным падборы кроку градыентнага спуску плаўна і досыць хутка прыходзім да мінімуму
3. Пры няправільным падборы кроку градыентнага спуску праскокваем максімум, графік памылкі - «дерганный», збежнасць займае большую колькасць крокаў
и
4. Пры зусім няправільным падборы кроку градыентнага спуску выдаляемся ад мінімуму
(Каб прайграць працэс пры паказаных на малюначках значэннях кроку градыентнага спуску, пастаўце галачку "эталонныя дадзеныя").
Як лічыць паважаная супольнасць, ці дапушчальна такое спрашчэнне і метад падачы матэрыялу? Ці варта перавесці артыкул на ангельскую?
Крыніца: habr.com