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