Pembelajaran mesin tanpa Python, Anaconda sareng réptil sanésna

Henteu, tangtosna, kuring henteu serius. Kedah aya watesna dugi ka tiasa nyederhanakeun hiji subjek. Tapi pikeun tahap kahiji, pamahaman konsep dasar sarta gancang "ngasupkeun" topik, éta bisa jadi ditarima. Urang bakal ngabahas kumaha leres nami bahan ieu (pilihan: "Mesin diajar pikeun dummies", "Analisis data tina popok", "Algoritma keur leutik") dina tungtungna.

Ka titik. Nulis sababaraha program aplikasi dina MS Excel pikeun visualisasi jeung ngagambarkeun visual prosés anu lumangsung dina métode learning mesin béda nalika nganalisis data. Ningali nyaeta percanten, sanggeus kabeh, salaku bearers tina budaya nyebutkeun, nu dimekarkeun lolobana métode ieu (ku jalan kitu, teu sakabéh éta. Pangkuatna "mesin vektor rojongan", atawa SVM, ngarojong mesin vektor nyaéta penemuan. compatriot urang Vladimir Vapnik, Moscow Institute of Management. 1963, ku jalan kitu! Ayeuna, kumaha oge, anjeunna ngajar jeung gawe di AS).

Tilu file pikeun review

1. K-hartina clustering

Masalah tipe ieu nujul kana "unsupervised learning," lamun urang kudu ngabagi data awal kana sababaraha kategori nu tangtu dipikawanoh sateuacanna, tapi urang teu boga "jawaban bener" wae; urang kudu nimba aranjeunna tina data sorangan. . Masalah klasik dasar nyungsi subspésiés kembang iris (Ronald Fisher, 1936!), Nu dianggap tanda mimiti widang pangaweruh ieu, ngan alam ieu.

Metoda anu cukup basajan. Simkuring boga susunan objék digambarkeun salaku vektor (sét angka N). Dina irises, ieu mangrupikeun sét 4 nomer anu dicirikeun kembang: panjang sareng lebar lobus luar sareng jero perianth, masing-masing (Irises Fischer - Wikipédia). Métrik Cartesian biasa dipilih salaku jarak, atanapi ukuran jarak antara objék.

Salajengna, puseur klaster dipilih acak (atanapi henteu acak, tingali di handap), sarta jarak ti unggal obyék ka puseur klaster diitung. Unggal obyék dina hambalan iterasi dibikeun ditandaan salaku milik puseur pangdeukeutna. Lajeng puseur unggal klaster ditransferkeun ka mean arithmetic tina koordinat anggotana (ku analogi jeung fisika, disebut oge "puseur massa"), sarta prosedur diulang.

Prosésna converges rada gancang. Dina gambar dina dua diménsi sigana kieu:

1. Sebaran acak awal titik dina pesawat jeung jumlah klaster

Pembelajaran mesin tanpa Python, Anaconda sareng réptil sanésna

2. Nangtukeun puseur klaster sarta assigning titik ka klaster maranéhna

Pembelajaran mesin tanpa Python, Anaconda sareng réptil sanésna

3. Mindahkeun koordinat tina puseur klaster, recalculating afiliasi titik nepi ka puseur stabil. Lintasan puseur klaster pindah ka posisi ahirna katingali.

Pembelajaran mesin tanpa Python, Anaconda sareng réptil sanésna

Iraha wae, anjeun tiasa nyetél puseur klaster anyar (tanpa ngahasilkeun sebaran anyar titik!) Jeung ningali yén prosés partisi henteu salawasna unambiguous. Sacara matematis, ieu ngandung harti yén pikeun fungsi dioptimalkeun (jumlah tina jarak kuadrat ti titik ka puseur klaster maranéhanana), urang manggihan lain global, tapi minimum lokal. Masalah ieu bisa diatasi boh ku pilihan non-acak tina puseur klaster awal, atawa ku enumerating mungkin puseur (kadangkala eta nguntungkeun pikeun nempatkeun eta persis di salah sahiji titik, lajeng sahenteuna aya jaminan yén urang moal meunang kosong. klaster). Dina sagala hal, susunan terhingga salawasna boga infimum.

Anjeun tiasa maén sareng file ieu dina tautan ieu (tong hilap ngaktifkeun dukungan makro. File parantos diseken pikeun virus)

Katerangan ngeunaan métode dina Wikipedia - métode k-hartina

2. Aproksimasi ku polynomials na ngarecahna data. Latihan deui

Élmuwan anu luar biasa sareng ngapopulérkeun élmu data K.V. Vorontsov sakeudeung ngajelaskeun métode pembelajaran mesin salaku "élmu ngagambar kurva ngaliwatan titik". Dina conto ieu, urang bakal mendakan pola dina data nganggo metode kuadrat pangsaeutikna.

Téhnik ngabagi data sumber kana "latihan" sareng "kontrol" ditampilkeun, kitu ogé fenomena sapertos palatihan ulang, atanapi "nyaluyukeun deui" kana data. Kalayan perkiraan anu leres, urang bakal ngagaduhan kasalahan anu tangtu dina data latihan sareng kasalahan anu rada ageung dina data kontrol. Upami lepat, éta nyababkeun panyesuaian anu pas kana data latihan sareng kasalahan anu ageung dina data tés.

(Kanyataan anu dipikanyaho yén ngaliwatan titik N anjeun tiasa ngagambar kurva tunggal gelar N-1, sareng metode ieu dina kasus umum henteu masihan hasil anu dipikahoyong. Polinomial interpolasi Lagrange dina Wikipedia)

1. Atur sebaran awal

Pembelajaran mesin tanpa Python, Anaconda sareng réptil sanésna

2. Urang ngabagi titik kana "latihan" sareng "kontrol" dina nisbah 70 ka 30.

Pembelajaran mesin tanpa Python, Anaconda sareng réptil sanésna

3. Urang ngagambar kurva approximating sapanjang titik latihan, urang tingali kasalahan méré on data kontrol

Pembelajaran mesin tanpa Python, Anaconda sareng réptil sanésna

4. Urang ngagambar kurva pasti ngaliwatan titik latihan, sarta kami ningali kasalahan monstrous dina data kontrol (jeung enol dina data latihan, tapi naon titik?).

Pembelajaran mesin tanpa Python, Anaconda sareng réptil sanésna

Ditémbongkeun, tangtosna, mangrupikeun pilihan pangbasajanna kalayan divisi tunggal kana "latihan" sareng "kontrol" sawaréh; dina kasus umum, ieu dilakukeun sababaraha kali pikeun adjustment pangsaéna tina koefisien.

Berkasna sayogi di dieu, diseken ku antipirus. Aktipkeun macros pikeun operasi bener

3. Gradién turunan jeung dinamika parobahan kasalahan

Bakal aya kasus 4 diménsi sareng régrési linier. Koéfisién régrési liniér bakal ditangtukeun undak-usuk ngagunakeun métode turunan gradién, mimitina kabéh koefisien téh nol. Grafik anu misah nunjukkeun dinamika pangurangan kasalahan nalika koefisien disaluyukeun langkung akurat. Kasebut nyaéta dimungkinkeun pikeun nempo sakabeh opat projections 2 diménsi.

Upami anjeun ngeset léngkah turunan gradién ageung teuing, anjeun tiasa ningali yén unggal waktos urang bakal ngalangkungan minimum sareng bakal ngahontal hasil dina sajumlah léngkah anu langkung ageung, sanaos tungtungna urang masih bakal dugi (kacuali urang ngalambatkeun léngkah turunan ogé. loba - lajeng algoritma bakal balik " dina spades"). Jeung grafik kasalahan gumantung kana hambalan Iteration moal mulus, tapi "jerky".

1. Ngahasilkeun data, atur léngkah turunan gradién

Pembelajaran mesin tanpa Python, Anaconda sareng réptil sanésna

2. Jeung Pilihan bener tina hambalan turunan gradién, urang mulus tur gancang ngahontal minimum

Pembelajaran mesin tanpa Python, Anaconda sareng réptil sanésna

3. Lamun hambalan turunan gradién salah dipilih, urang overshoot maksimum, grafik kasalahan "jerky", konvergénsi nyokot jumlah badag hambalan.

Pembelajaran mesin tanpa Python, Anaconda sareng réptil sanésna
и

Pembelajaran mesin tanpa Python, Anaconda sareng réptil sanésna

4. Lamun urang milih hambalan turunan gradién lengkep leres, urang mindahkeun jauh ti minimum

Pembelajaran mesin tanpa Python, Anaconda sareng réptil sanésna

(Pikeun ngahasilkeun deui prosés nganggo nilai léngkah turunan gradién anu dipidangkeun dina gambar, pariksa kotak "data rujukan").

Filena aya dina tautan ieu, anjeun kedah ngaktipkeun makro, teu aya virus.

Numutkeun komunitas anu dipikahormat, naha nyederhanakeun sareng metode nampilkeun materi tiasa ditampi? Éta patut narjamahkeun artikel kana basa Inggris?

sumber: www.habr.com

Tambahkeun komentar