This commit is contained in:
Filip Gralinski 2021-04-14 13:23:33 +02:00
parent eac3962fce
commit 3424ca9041
1 changed files with 214 additions and 1 deletions

View File

@ -134,7 +134,9 @@
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"## Uczenie maszynowe - widok z góry" "## Uczenie maszynowe - widok z góry\n",
"\n",
"![Uczenie maszynowe - schemat](./uczenie-schemat.png)"
] ]
}, },
{ {
@ -142,6 +144,217 @@
"metadata": {}, "metadata": {},
"source": [ "source": [
"## Wyzwania uczenia maszynowego\n", "## Wyzwania uczenia maszynowego\n",
"\n",
"Zbiór danych (_data set_) - w uczeniu nadzorowanym po prostu zestaw danych wejściowych i oczekiwanych danych wyjściowych $(X, Y)$.\n",
"Wyzwanie uczenia maszynowego (_ML challenge_) - ustandaryzowany zbiór danych, podzielony na zbiór uczący i zbiory testowe, z określoną metryką ewaluacji.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Zob. listę na stronie https://gonito.net/list-challenges"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Uczenie nadzorowane\n",
"\n",
"#### Klasyfikacja binarna\n",
"\n",
"$$V^* \\mapsto \\{c,\\bar{c}\\}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Przykłady:\n",
" \n",
"* klasyfikacja spam/nie-spam \n",
"* https://gonito.net/challenge/petite-difference-challenge2\n",
"* https://gonito.net/challenge/sentiment-by-emoticons\n",
"* https://gonito.net/challenge/sane-words"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"Na platformie Gonito wyzwania (i zgłoszenia) są dostępne jako repozytoria git."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/home/filipg/ext/amu/aitech-eks/wyk\n",
"Klonowanie do „sentiment-by-emoticons”...\n",
"remote: Wymienianie obiektów: 29, gotowe.\u001b[K\n",
"remote: Zliczanie obiektów: 100% (29/29), gotowe.\u001b[K\n",
"remote: Kompresowanie obiektów: 100% (25/25), gotowe.\u001b[K\n",
"remote: Razem 29 (delty 5), użyte ponownie 0 (delty 0), paczki użyte ponownie 0\n",
"Pobieranie obiektów: 100% (29/29), 155.07 MiB | 2.39 MiB/s, gotowe.\n",
"Rozwiązywanie delt: 100% (5/5), gotowe.\n"
]
}
],
"source": [
"%cd wyk\n",
"! git clone --single-branch git://gonito.net/sentiment-by-emoticons"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/home/filipg/ext/amu/aitech-eks/wyk/sentiment-by-emoticons\n",
"config.txt dev-0 README.md test-A train\n"
]
}
],
"source": [
"%cd sentiment-by-emoticons\n",
"! ls"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--metric LogLoss --metric Accuracy --precision 5 -%\n"
]
}
],
"source": [
"# plik konfiguracyjny\n",
"! cat config.txt"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"expected.tsv in.tsv.xz meta.tsv.xz\n"
]
}
],
"source": [
"# zbiór uczący, oczywiście z oczekiwanym wyjściem\n",
"! ls train"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"expected.tsv in.tsv meta.tsv\n"
]
}
],
"source": [
"# zbiór deweloperski też ma\n",
"! ls dev-0"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"in.tsv\n"
]
}
],
"source": [
"# a ostateczny zbiór testowy - nie ma (plik jest dostępny tylko dla ewaluatora)\n",
"! ls test-A"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\t1) Amor omnia vincit!!!!- miłość wszystko zwycięży!!!! 2) każdy człowiek jest jak kwiat...Więdnieje bez miłości *) 3) Szukaj mnie cierpliwie dzień po dniu... 4) BĄDű DLA INNYCH SŁONECZNYM ZEGAREM, ODMIERZAJ TYLKO SŁONECZNE GODZINY 5) \\\"... Momenty ze ze snu wyrwana; zas nie wyspana...\\\" 6) ULEWA JEST MA SIOSTRA , STRUMIEN BRATEM 7) KażdaMiłośMusiPrzejścPrzezPróbęWtedyOkażeSięJejPrawdziwaWartość... 8) Zaplątana w pajęczynę snów.. Lepkie nici marzeń.. Utkane przez noc.. 9) Podobno ludzi lubimy za ich zalety, a kochamy za ich wady.... 10) Pozwól mi pozostać... 11) KIEDYŚ-to juz przeszeszłosc...Trzeba przyzwyczajic sie do-DZISIAJ;/ 12) To MoJa JeSt..NiEdOrOsLa MiLoSć..UpArcIe WiEc...BeDe BrOnIć JeJ... 13) Jeszcze jeden krok , a zgine.. 14) *CoRazBl!ŻejŚw!ęTa* NapisałamListDoŚw.Mikołaja ProszącOTwojąMiłość! 15) JeStEm W TeScO Na UrOdZiNaCh <EMOTICON> <EMOTICON> <EMOTICON> 16) Facet jest jak plemnik,tylko jeden na milion staje się człowiekiem! 17) Jeżeli ktoś komuś coś, ewentualnie nikt nikomu nic, to myślę iż wątpię 18) Samotna wśród ludzi którzy myślą...ONA NIGDY NIE JEST SAMA ! 19) PotrzebaCałegoŻycia, AbyZapomniecOKimś, KtoByłDla NasNaprawdeWażny :&# 20) NieŻałujTegoCoZrobiłeś,KaraPrzyjdzieZCzasem;TymczasemUczSięDobroci...\n",
"0\t@ Rodzyn \"Ech szkoda, że to wersja komercyjna <EMOTICON>\" A jaki to problem załatać jądro np. za pomocą RTAI lub skorzystać z preempt_RT? Tylko co ci po tym? @ Mily \"Ja chetnie bym przetestowal ten system. Mysle, ze pomimo ze jest on dedykowany do innych zastosowan, bardzo dobrze sprawowal by sie jako system desktopowy. Mam tu na mysli gwarantowane czsy odpowiedzi (muzyka, film, reakcja interface'u graficznego na dzialania uzytkownika).\" To nie działa w ten sposób. Zagadnienia systemów czasu rzeczywistego są o wiele bardziej skomplikowane. Zazwyczaj tylko krytyczne aplikacje działają w czasie rzeczywistym. Gdybyś nadał priorytet czasu rzeczywistego wszystkim aplikacjom \"zwykłego użytkownika\" walczyłyby między sobą o zasoby tak samo jak teraz. O wiele lepiej byłoby gdyby w końcu zaczęto tworzyć aplikacje również z myślą o oszczędności zasobów. @ Macius \"8 rdzeni rowna sie 1system, 2desktop, 3muza,4film, 5net, 6 7 8 inne pierdoly ktore dzialaja w czasie rzeczywistym to jest cos.\" Wybacz, ale uważam to za piekielne marnotrawienie zasobów. Chcesz żeby jeden rdzeń obsługiwał np. tylko muzykę? Przecież to będzie jakieś 5% zasobów współczesnego rdzenia. Wszystko działałoby szybciej gdybyśmy większą uwagę przywiązywali do szybkości działania aplikacji niż jej wizualnych bajerów.\n",
"0\tCzy u Was też taka brzydka pogoda, która sprawia, że nic się nie chce?<EMOTICON> ale ja na szczęście jakoś chyba na przekór tej jesieni zaczęłam wyplatać...\n",
"0\tPo spektaklu w teatrze,,KOMEDIA''wracałam obok tej pani samochodem i uśmiechałam się ,ale pani jest faktycznie sztuczna i sztywna....zagrała ,wyszła i ma gdzieś sympatię ludzi...ja już jej nie mam dla tej pani<EMOTICON>\n",
"1\ta wtedy i ekskomunika niestraszna <EMOTICON>\n",
"paste: błąd zapisu: Przerwany potok\n",
"paste: błąd zapisu\n"
]
}
],
"source": [
"# W każdym wierszu jest osobny dokument\n",
"! xzcat train/in.tsv.xz | paste train/expected.tsv - | head -n 5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Klasyfikacja wieloklasowa\n",
"\n",
"$$V^* \\mapsto \\{c_1,\\dots,c_n\\}$$\n",
"\n",
"#### Regresja\n",
"\n",
"$$V^* \\mapsto \\mathbb{R}$$\n",
"\n",
"#### Zadania seq2seq\n",
"\n",
"$$V^* \\mapsto Y^*$$\n",
"\n",
"##### Zadania tłumaczenia maszynowego\n",
"\n",
"$$V^* \\mapsto V^*$$\n",
"\n",
"##### Zadania sequence labeling\n",
"\n",
"$$V^* \\mapsto L^*$$\n",
"\n",
"\n",
"\n",
"\n",
"\n" "\n"
] ]
}, },