Машинско учење без Пајтон, Анаконда и други рептили

Не, добро, се разбира, не сум сериозен. Мора да постои ограничување до степенот до кој е можно да се поедностави темата. Но, за првите фази, разбирање на основните концепти и брзо „влегување“ во темата, можеби е прифатливо. Ќе разговараме за правилно именување на овој материјал (опции: „Машинско учење за кукли“, „Анализа на податоци од пелени“, „Алгоритми за најмалите“) на крајот.

До точка. Напиша неколку апликативни програми во MS Excel за визуелизација и визуелно прикажување на процесите што се случуваат во различни методи на машинско учење при анализа на податоци. На крајот на краиштата, гледањето е верување, како што велат носителите на културата, кои ги развиле повеќето од овие методи (патем, не сите. Најмоќната „машина за вектор за поддршка“, или SVM, машина за вектор за поддршка е изум Нашиот сонародник Владимир Вапник, Московски институт за менаџмент, инаку, сега, пак, предава и работи во САД.

Три датотеки за преглед

1. К-значи кластерирање

Проблемите од овој тип се однесуваат на „ненадгледувано учење“, кога треба да ги поделиме првичните податоци на одреден број однапред познати категории, но немаме никаков број „точни одговори“ мора да ги извлечеме од самите податоци . Основниот класичен проблем за наоѓање подвидови на цветови од ирис (Роналд Фишер, 1936!), кој се смета за прв знак на ова поле на знаење, е токму од ваква природа.

Методот е прилично едноставен. Имаме множество од објекти претставени како вектори (множества од N броеви). Во ирисите, ова се збирки од 4 броеви што го карактеризираат цветот: должината и ширината на надворешниот и внатрешниот лобус на периантот, соодветно (Фишеровите ириси - Википедија). Вообичаената Декартовска метрика е избрана како растојание, или мерка за близина помеѓу објектите.

Следно, центрите за кластери се избираат по случаен избор (или не случајно, видете подолу), и се пресметуваат растојанијата од секој објект до центрите за кластери. Секој објект на даден чекор на повторување е означен дека припаѓа на најблискиот центар. Тогаш центарот на секој кластер се пренесува на аритметичката средина на координатите на неговите членови (по аналогија со физиката се нарекува и „центар на маса“), а постапката се повторува.

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

1. Почетна случајна распределба на точките на рамнината и бројот на кластери

Машинско учење без Пајтон, Анаконда и други рептили

2. Специфицирање на центри за кластери и доделување поени на нивните кластери

Машинско учење без Пајтон, Анаконда и други рептили

3. Пренесување на координатите на кластерските центри, повторно пресметување на припадноста на точките додека центрите не се стабилизираат. Видлива е траекторијата на центарот на кластерот што се движи до неговата крајна положба.

Машинско учење без Пајтон, Анаконда и други рептили

Во секое време, можете да поставите нови центри за кластери (без да генерирате нова дистрибуција на поени!) и да видите дека процесот на партиционирање не е секогаш недвосмислен. Математички, тоа значи дека за функцијата што се оптимизира (збирот на квадратните растојанија од точките до центрите на нивните кластери), не наоѓаме глобален, туку локален минимум. Овој проблем може да се надмине или со неслучаен избор на почетни центри за кластери, или со набројување можни центри (понекогаш е поволно да се постават точно на една од точките, тогаш барем постои гаранција дека нема да останеме празни кластери). Во секој случај, конечното множество секогаш има инфимум.

Можете да играте со оваа датотека на овој линк (не заборавајте да овозможите поддршка за макро. Датотеките се скенирани за вируси)

Опис на методот на Википедија - метод k-значи

2. Апроксимација по полиноми и расчленување на податоците. Преквалификација

Извонреден научник и популаризирач на науката за податоци К.В. Воронцов накратко ги опишува методите на машинско учење како „наука за цртање криви низ точките“. Во овој пример, ќе најдеме шема во податоците користејќи го методот на најмали квадрати.

Прикажана е техниката на поделба на изворните податоци на „обука“ и „контрола“, како и феномен како преквалификација или „повторно прилагодување“ на податоците. Со правилно приближување ќе имаме одредена грешка на податоците за обуката и малку поголема грешка на податоците за контрола. Доколку е неточно, тоа резултира со прецизно прилагодување на податоците за обуката и огромна грешка на податоците од тестот.

(Добро познат факт е дека преку N точки може да се нацрта една крива од N-1 степен, а овој метод во општ случај не го дава посакуваниот резултат. Лагранж интерполационен полином на Википедија)

1. Поставете ја почетната дистрибуција

Машинско учење без Пајтон, Анаконда и други рептили

2. Поените ги делиме на „тренинг“ и „контрола“ во сооднос од 70 до 30.

Машинско учење без Пајтон, Анаконда и други рептили

3. Ја цртаме приближната крива по точките за обука, ја гледаме грешката што ја дава на контролните податоци

Машинско учење без Пајтон, Анаконда и други рептили

4. Повлекуваме точна крива низ точките за обука и гледаме монструозна грешка на контролните податоци (и нула на податоците за обуката, но која е поентата?).

Машинско учење без Пајтон, Анаконда и други рептили

Се разбира, прикажана е наједноставната опција со една поделба на подмножества „тренинг“ и „контрола“, во општ случај, ова се прави многу пати за најдобро прилагодување на коефициентите.

Датотеката е достапна овде, скенирана со антивирус. Овозможете макроа за правилно работење

3. Спуштање на градиент и динамика на промена на грешката

Ќе има 4-димензионален случај и линеарна регресија. Коефициентите на линеарна регресија ќе се одредуваат чекор по чекор користејќи го методот на спуштање на градиент, првично сите коефициенти се нула. Посебен графикон ја прикажува динамиката на намалување на грешката бидејќи коефициентите се попрецизно приспособени. Можно е да се видат сите четири 2-димензионални проекции.

Ако го поставите чекорот за спуштање на градиент премногу голем, можете да видите дека секој пат ќе го прескокнеме минимумот и ќе пристигнеме до резултат во поголем број чекори, иако на крајот сепак ќе пристигнеме (освен ако не го одложиме и чекорот за спуштање многу - тогаш алгоритмот ќе оди „во лопати“). И графиконот на грешката во зависност од чекорот на повторување нема да биде мазен, туку „непредвидлив“.

1. Генерирајте податоци, поставете го чекорот за спуштање на градиент

Машинско учење без Пајтон, Анаконда и други рептили

2. Со правилен избор на чекорот за спуштање на градиент, непречено и брзо го достигнуваме минимумот

Машинско учење без Пајтон, Анаконда и други рептили

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

Машинско учење без Пајтон, Анаконда и други рептили
и

Машинско учење без Пајтон, Анаконда и други рептили

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

Машинско учење без Пајтон, Анаконда и други рептили

(За да го репродуцирате процесот користејќи ги вредностите на чекорот за спуштање на градиент прикажани на сликите, штиклирајте го полето „референтни податоци“).

Датотеката е на овој линк, треба да овозможите макроа, нема вируси.

Според почитуваната заедница, дали е прифатливо ваквото поедноставување и метод на презентирање на материјалот? Дали вреди да се преведе статијата на англиски?

Извор: www.habr.com

Додадете коментар