Uploaded by Spyphy Farnsworth

Введение в машинное обучение

advertisement
1.1.
1.
Ìàøèííîå îáó÷åíèå
×òî òàêîå ìàøèííîå îáó÷åíèå?
(ÈÈ, AI) íàóêà è òåõíîëîãèÿ ñîçäàíèÿ èíòåëëåêòóàëüíûõ êîìïüþòåðíûõ ïðîãðàìì.
Èñêóññòâåíííûé èíòåëëåêò
1
Äâà ïîäõîäà ê îáó÷åíèþ ÈÈ:
• äåäóêòèâíîå (àíàëèòè÷åñêîå) çíàíèÿ ôîðìóëèðóþòñÿ ýêñïåðòîì. Ïðîãðàììà âûâîäèò èç íèõ ôàêòû è íîâûå ïðàâèëà.
Ïðèìåð ýêñïåðòíûå ñèñòåìû.
• èíäóêòèâíîå (ñòàòèñòè÷åñêîå) ïðîãðàììà îáó÷àåòñÿ íà ñîáñòâåííîì îïûòå. Èç ýìïèðè÷åñêèõ äàííûõ âûâîäèò îáùèå ïðàâèëà. Ïîä ìàøèííûì îáó÷åíèåì áóäåò ïîíèìàòüñÿ òîëüêî ýòîò âèä îáó÷åíèÿ ÈÈ.
(ML) ïîäðàçäåë ÈÈ, èçó÷àþùèé ìåòîäû ïîñòðîåíèÿ àëãîðèòìîâ, ñïîñîáíûõ îáó÷àòüñÿ.
Ìàøèííîå îáó÷åíèå
Ðèñ. 1.
Òðàäèöèîííûé ïîäõîä ê ðåøåíèþ çàäà÷è è ïîäõîä íà îñíîâå ML
 îòëè÷èå îò ¾êëàññè÷åñêèõ¿ àëãîðèòìîâ îáó÷åííàÿ ìàøèíà ñïîñîáíà ïîêàçàòü
ïîâåäåíèå, êîòîðîå â íåé íå áûëî ÿâíî çàïðîãðàììèðîâàíî.
1.2.
Òåðìèíîëîãèÿ.
= àëãîðèòì(äàííûå) = ôóíêöèÿ ñ âàðüèðóåìûìè ïàðàìåòðàìè, ñïîñîáíàÿ îáó÷àòüñÿ äëÿ ðåøåíèÿ íåêîòîðîé çàäà÷è:
Ìîäåëü
y = fw (x).
âíóòðåííèå ïåðåìåííûå w ìîäåëè, êîòîðûå îïòèìèçèðóþòñÿ â ïðîöåññå îáó÷åíèÿ ìîäåëè (îò íèõ çàâèñèò ôóíêöèÿ îøèáîê);
Ãèïåðïàðàìåòðû ìîäåëè âåëè÷èíû, êîòîðûå õàðàêòåðèçóþò ìîäåëü, îäíàêî
íå âõîäÿò â ôóíêöèþ îøèáîê. Êàê ïðàâèëî, ïîñòîÿííû âî âðåìÿ îáó÷åíèÿ ìîäåëè.
Ãèïåðïàðàìåòðû íàñòðàèâàþòñÿ äî íà÷àëà îáó÷åíèÿ ìîäåëè.
Ôóíêöèÿ îøèáîê (ôóíêöèÿ ïîòåðü, loss) ôóíêöèÿ îò âåñîâ ìîäåëè, êîòîðàÿ
ïîêàçûâàåò íàñêîëüêî ñèëüíî îøèáàåòñÿ ìîäåëü.
Îáó÷åíèå (tting) ïðîöåññ ìèíèìèçàöèè ôóíêöèè îøèáîê, ò.å. íàñòðîéêà âåñîâ ìîäåëè òàêèì îáðàçîì, ÷òîáû îøèáêà áûëà ìèíèìàëüíà (íà êàêîì-òî ôèêñèðîâàííîì íàáîðå äàííûõ, íàçûâàåìîì train dataset).
Âàëèäàöèÿ ïðîâåðêà êà÷åñòâà ìîäåëè íà íàáîðå äàííûõ (validation dataset),
êîòîðûé íå ó÷àñòâîâàë â ïðîöåññå îáó÷åíèÿ.
Ïàðàìåòðû (âåñà) ìîäåëè
1.3. Âèäû ìàøèííîãî îáó÷åíèÿ.
(1) ñ ó÷èòåëåì (îáó÷åíèå ïî ïðåöåäåíòàì):
• êëàññèôèêàöèÿ ïðîãíîç ìåòêè êëàññà
• ðåãðåññèÿ ïðîãíîç âåù. ÷èñëà (èíòåðïîëÿöèÿ ëèáî àïïðîêñèìàöèÿ).
• ðàíæèðîâàíèå ñîðòèðîâêà ïî ðåëåâàíòíîñòè òåêñòà ê ïîèñêîâîìó
çàïðîñó
(2) áåç ó÷èòåëÿ :
• íåêîíòðîëèðóåìîå ïðåîáðàçîâàíèå: ñîêðàù. ðàçìåðíîñòè, ïîèñê êîìïîíåíò
• êëàñòåðèçàöèÿ ðàçáèåíèå íà ãðóïïû ñõîæèõ ýëåìåíòîâ (êîãäà íå
èçâåñòåí ïðàâèëüíûé îòâåò)
(3) îáó÷åíèå ñ ïîäêðåïëåíèåì (reinforcement learning) îáó÷åíèå àëãîðèòìîâ
ðåàãèðîâàòü íà âíåøíåå îêðóæåíèå:
• ìàðêîâñêèé ïðîöåññ ïðèíÿòèÿ ðåøåíèé
1.4. Ïîäãîòîâêà äàííûõ è îáó÷åíèå ìîäåëè.
Äåëåíèå âûáîðêè (dataset) íà 3 íåïåðåñåêàþùèåñÿ ÷àñòè:
• îáó÷àþùàÿ (training) èñïîëüçóåòñÿ äëÿ íàñòðîéêè (îïòèìèçàöèè) ïàðàìåòðîâ) ìîäåëè (íàïðèìåð, âåñîâ íåéðîñåòè).
• âàëèäàöèîííàÿ (validation) èñïîëüçóåòñÿ äëÿ âûáîðà íàèëó÷øåé ìîäåëè
ñðåäè îáó÷àåìûõ (îïòèìèçàöèÿ ãèïåðïàðàìåòðîâ).
• òåñòîâàÿ (testing) äëÿ îêîí÷àòåëüíîé ïðîâåðêè, êîòîðàÿ ïðîèçâîäèòñÿ
òîëüêî îäèí ðàç â êîíöå èññëåäîâàíèÿ.
Êðîññ-âàëèäàöèÿ.
èëè êðîññ-âàëèäàöèÿ (cross-validation, CV) ïðîöåäóðà ýìïèðè÷åñêîãî îöåíèâàíèÿ îáîáùàþùåé ñïîñîáíîñòè àëãîðèòìîâ, îáó÷àåìûõ ïî
ïðåöåäåíòàì. ßâëÿåòñÿ ñòàíäàðòíîé ìåòîäèêîé òåñòèðîâàíèÿ è ñðàâíåíèÿ àëãîðèòìîâ êëàññèôèêàöèè, ðåãðåññèè è ïðîãíîçèðîâàíèÿ.
Ôèêñèðóåòñÿ íåêîòîðîå ìíîæåñòâî ðàçáèåíèé èñõîäíîé âûáîðêè íà äâå ïîäâûáîðêè: îáó÷àþùóþ è êîíòðîëüíóþ. Äëÿ êàæäîãî ðàçáèåíèÿ âûïîëíÿåòñÿ íàñòðîéêà àëãîðèòìà ïî îáó÷àþùåé ïîäâûáîðêå, çàòåì îöåíèâàåòñÿ åãî ñðåäíÿÿ îøèáêà
íà îáúåêòàõ êîíòðîëüíîé ïîäâûáîðêè. Îöåíêîé ñêîëüçÿùåãî êîíòðîëÿ íàçûâàåòñÿ
ñðåäíÿÿ ïî âñåì ðàçáèåíèÿì âåëè÷èíà îøèáêè íà êîíòðîëüíûõ ïîäâûáîðêàõ.
Ñêîëüçÿùèé êîíòðîëü
1.5. Îáó÷åíèå ñ ó÷èòåëåì.
Ïóñòü
X ìíîæåñòâî îáúåêòîâ (samples),
D ìíîæåñòâî ¾ïðàâèëüíûõ¿ îòâåòîâ (ìåòîê) (labels),
g : X → D íåèçâåñòíàÿ èñòèííàÿ çàâèñèìîñòü (true, target).
Îáó÷àþùàÿ âûáîðêà ýòî ìíîæåñòâî îáúåêòîâ, äëÿ êîòîðûõ èçâåñòåí îòâåò:
X0 = {(xi , di )} ⊂ X.
Ïàðà âèäà (xi, di) ∈ (X, D) íàçûâàåòñÿ ïðåöåíäåíò. Ò.å. ïðåöåíäåíò îáúåêò
x ∈ X , äëÿ êîòîðîãî èçâåñòåí (èñòèííûé) îòâåò d ∈ D.
Çàäà÷à îáó÷åíèÿ ñ ó÷èòåëåì ñîñòîèò â òîì, ÷òîáû ïî îáó÷àþùåé âûáîðêå X0
âîññòàíîâèòü çàâèñèìîñòü g, ò.å. ÷òîáû íàó÷èòüñÿ ïîëó÷àòü îòâåò äëÿ ëþáîãî îáúåêòà x ∈ X .
ýòî îáîáùåíèå çàäà÷è àïïðîêñèìàöèè ôóíêöèè íà ïðîèçâîëüíûå âèäû îáúåêòîâ (èçîáðàæåíèÿ, âèäåî, òåêñòû, ðàçëè÷íûå íå÷èñëîâûìè èëè íåòî÷íûå äàííûå).
Ïóñòü y(x) îòâåò ìîäåëè f íà îáúåêòå x ∈ X .
Îøèáêà ìîäåëè íà x ýòî ðàçíîñòü ε(x) = y(x) − d(x).
Ïóñòü Y = {f (x) | x ∈ X} ìíîæåñòâî îòâåòîâ ìîäåëè. Ïîëó÷àåìàÿ òàêèì îáðàçîì çàâèñèìîñòü f : X → Y íàçûâàåòñÿ ðåøàþùåé ôóíêöèåé (decision function).
Òàêèì îáðàçîì, çàäà÷à ML ïîñòðîèòü ðåøàþùóþ ôóíêöèþ f , êîòîðàÿ áû
ïðèáëèæàëà öåëåâóþ (èñòèííóþ) çàâèñèìîñòü g.
Çàäà÷à ðåãðåññèè çàäà÷à ML äëÿ ñëó÷àÿ D = R.
Íàïðèìåð, çàäà÷à ïðîãíîçèðîâàíèÿ (forecasting).
Çàäà÷à êëàññèôèêàöèè äëÿ ñëó÷àÿ D = {1, 2, ..., m}, ãäå m ∈ N.
Ïîäìíîæåñòâî îáúåêòîâ Kd = {x ∈ X | g(x) = d} íàçûâàåòñÿ êëàññîì ñ ìåòêîé
d ∈ D.
Òàêèì îáðàçîì, çàäà÷à êëàññèôèêàöèè îòâåòèòü íà âîïðîñ ¾êàêîìó êëàññó
ïðèíàäëåæèòü îáúåêò x ∈ X ¿
 çàäà÷å ðàñïîçíàâàíèè îáðàçîâ êëàññû íàçûâàþòñÿ îáðàçàìè (pattern).
Ôóíêöèÿ ïîòåðü
(loss), ôóíêöèÿ îøèáîê, ôóíêöèÿ ñòîèìîñòè íåîòðèöàòåëüíàÿ ôóíêöèÿ îò ïàðàìåòðîâ ìîäåëè f , êîòîðàÿ õàðàêòåðèçóåò âåëè÷èíó îøèáêè
àëãîðèòìà íà çàäàííîì îáúåêòå x:
Ôóíêöèÿ ïîòåðü
Lf = Lf (ε(x)),
ε(x) = y(x) − d(x).
Íàïðèìåð,
Lf (x) = (y(x) − d(x))2 .
(ô-ë ñðåäíèõ ïîòåðü) àëãîðèòìà f íà âûáîðêå X ýòî
óñðåäíåííîå çíà÷åíèå ôóíêöèè ïîòåðü íà çàäàííîì ïîäìíîæåñòâå îáúåêòîâ:
Ôóíêöèîíàë êà÷åñòâà
Qf (X) = avg(Lf (X)) =
1 X
Lf (x).
|X|
x∈X
Ñîîòâåòñòâåííî ðàçëè÷àþò: avg train loss, avg valid loss, avg test loss.
Ôóíêöèè îøèáîê äëÿ çàäà÷ ðåãðåññèè è êëàññèôèêàöèè.
 çàäà÷å ðåãðåññèè îáû÷íî èñïîëüçóåòñÿ ñðåäíÿÿ êâàäðàòè÷íàÿ îøèáêà (MSE):
n
1X
MSE =
(yi − di )2 .
n i=1
 çàäà÷å êëàññèôèêàöèè îáû÷íî èñïîëüçóåòñÿ ïåðåêðåñòíàÿ ýíòðîïèÿ (CrossEntropy):
X
H(p, q) = −
pk log qk ,
k
ãäå k èíäåêñ êëàññà, q = softmax(output).
1.6. Âîïðîñû îáó÷åíèÿ è èñïîëüçîâàíèÿ ìîäåëåé.
Äâå îñíîâíûå ñòàäèè:
(1) îáó÷åíèå (tting) ïîñòðîåíèå ïî îáó÷àþùåé âûáîðêå X0 ñ ïîìîùüþ íåêîòîðîãî ìåòîäà µ ìàøèííîãî îáó÷åíèÿ àëãîðèòìà (ìîäåëè) fw = µ(X0).
(2) ïðèìåíåíèå (inference) èñïîëüçîâàíèå îáó÷åííîé ìîäåëè fw äëÿ ïðåäñêàçàíèÿ ðåçóëüòàòà íà íîâûõ äàííûõ: y = fw (x).
1.7.
Overtting.
(overtting) ñèòóàöèÿ, êîãäà ñðåäíÿÿ îøèáêà ìîäåëè íà âàëèäàöèîííîé (è òåñòîâîé) âûáîðêå îêàçûâàåòñÿ ñóùåñòâåííî âûøå, ÷åì îøèáêà íà
îáó÷àþùåé âûáîðêå:
Ïåðåîáó÷åíèå
Ïåðåîáó÷åííàÿ ìîäåëü õîðîøî çàïîìèíàåò îáðàçû, íà êîòîðûõ îáó÷àåòñÿ, íî íå
îáëàäàåò äîñòàòî÷íîé îáîáùàþùåé ñïîñîáíîñòü.
Íà ïðèìåðå àïïðîêñèìàöèè ôóíêöèè ïîëèíîìîì (M ñòåïåíü ïîëèíîìà):
1.8.
Ìåòîäû áîðüáû ñ ïåðåîáó÷åíèåì.
(augmentation) óâåëè÷åíèå ðàçìåðà îáó÷àþùåé âûáîðêå çà
ñ÷åò ïðèìåíåíèÿ ê íåé ðàçëè÷íûõ èñêàæåíèé è äåôîðìàöèé: âðàùåíèå, àôôèííûå ïðåîáðàçîâàíèÿ, öâåòîâîå, äîáàâëåíèå øóìà.
• Ðåãóëÿðèçàöèÿ (regularization) äîáàâëåíèå ê ôóíêöèè ïîòåðü ñëàãàåìîãî
â âèäå øòðàôà çà ñëîæíîñòü ìîäåëè:
L1: MSE += λ||W ||1 ,
L2: MSE += λ||W ||22 .
• Dropout ðàíäîìíîå ¾óäàëåíèå¿ ÷àñòè íåéðîíîâ â ñêðûòûõ ïîëíîñâÿçíûõ
ñëîÿõ.
•
Àóãìåíòàöèÿ
1.9. Ïðåäîáó÷åíèå.
Ïðåäîáó÷åíèå
Ðèñ. 2.
Ïðåäîáó÷åíèå áåç ó÷èòåëÿ (unsuperviser pretraining)
2.
Reference
http://www.machinelearning.ru
https://github.com/demidovakatya/vvedenie-mashinnoe-obuchenie
Download