Learning machine tanpa Python, Anaconda lan reptil liyane

Ora, mesthi, aku ora serius. Mesthine ana watesan nganti bisa nyederhanakake subyek. Nanging kanggo tahap pisanan, mangerteni konsep dhasar lan kanthi cepet "mlebu" topik kasebut, bisa uga ditrima. Kita bakal ngrembug carane jeneng materi iki kanthi bener (opsi: "Mesin sinau kanggo boneka", "Analisis data saka popok", "Algoritma kanggo bocah cilik") ing pungkasan.

Kanggo titik. Nulis sawetara program aplikasi ing MS Excel kanggo visualisasi lan perwakilan visual saka proses sing dumadi ing macem-macem cara machine learning nalika nganalisa data. Ningali iku pracaya, sawise kabeh, minangka bearers saka budaya ngomong, kang dikembangakΓ© paling cara iki (kanthi cara, ora kabeh mau. Paling kuat "mesin vektor support", utawa SVM, support mesin vektor punika penemuan saka senegara kita Vladimir Vapnik, Institut Manajemen Moskow. 1963, oalah! Saiki, dheweke mulang lan kerja ing AS).

Telung file kanggo review

1. K-tegese clustering

Masalah jinis iki nuduhake "pembelajaran sing ora diawasi," nalika kita kudu mbagi data dhisikan menyang sawetara kategori sing wis dingerteni sadurunge, nanging kita ora duwe nomer "jawaban sing bener"; kita kudu ngekstrak saka data kasebut dhewe. . Masalah klasik dhasar kanggo nemokake subspesies kembang iris (Ronald Fisher, 1936!), Sing dianggep minangka tandha pisanan saka lapangan kawruh iki, mung sifat iki.

Cara kasebut cukup prasaja. Kita duwe set obyek sing dituduhake minangka vektor (set nomer N). Ing irises, iki minangka set 4 nomer sing dadi ciri kembang: dawa lan jembar lobus njaba lan njero perianth, masing-masing (Irises Fischer - Wikipedia). Metrik Cartesian sing biasa dipilih minangka jarak, utawa ukuran jarak antarane obyek.

Sabanjure, pusat kluster dipilih kanthi acak (utawa ora acak, deleng ing ngisor iki), lan jarak saka saben obyek menyang pusat kluster diitung. Saben obyek ing langkah pengulangan tartamtu ditandhani minangka kagungane pusat paling cedhak. Banjur tengah saben kluster ditransfer menyang rata-rata aritmetika saka koordinat anggota (kanthi analogi karo fisika, uga disebut "pusat massa"), lan prosedur kasebut diulang.

Proses converges cukup cepet. Ing gambar ing rong dimensi katon kaya iki:

1. Distribusi acak awal titik ing bidang lan jumlah klompok

Learning machine tanpa Python, Anaconda lan reptil liyane

2. Nemtokake pusat kluster lan nemtokake titik kanggo kluster

Learning machine tanpa Python, Anaconda lan reptil liyane

3. Nransfer koordinat pusat kluster, ngitung maneh afiliasi titik nganti pusat stabil. Lintasan pusat kluster sing pindhah menyang posisi pungkasan katon.

Learning machine tanpa Python, Anaconda lan reptil liyane

Sawayah-wayah, sampeyan bisa nyetel pusat kluster anyar (tanpa ngasilake distribusi titik anyar!) Lan ndeleng manawa proses pemisahan ora mesthi ora jelas. Secara matematis, iki tegese kanggo fungsi sing dioptimalake (jumlah jarak kuadrat saka titik menyang pusat kluster), kita ora nemokake global, nanging minimal lokal. Masalah iki bisa diatasi kanthi pilihan non-acak saka pusat kluster awal, utawa kanthi ngitung pusat sing bisa ditindakake (kadhangkala mupangati kanggo nyelehake persis ing salah sawijining titik, mula paling ora ana jaminan manawa kita ora bakal kosong. kluster). Ing kasus apa wae, set winates tansah duwe infimum.

Sampeyan bisa muter file iki ing link iki (aja lali ngaktifake dhukungan makro. File wis dipindai kanggo virus)

Katrangan cara ing Wikipedia - metode k-means

2. Kira-kira kanthi polinomial lan pemecahan data. Latihan maneh

Ilmuwan sing luar biasa lan popularisasi ilmu data K.V. Vorontsov kanthi ringkes nggambarake metode pembelajaran mesin minangka "ilmu nggambar kurva liwat titik." Ing conto iki, kita bakal nemokake pola ing data nggunakake metode kuadrat paling ora.

Teknik mbagi data sumber dadi "latihan" lan "kontrol" ditampilake, uga fenomena kayata latihan maneh, utawa "nyetel maneh" menyang data. Kanthi perkiraan sing bener, kita bakal duwe kesalahan tartamtu ing data latihan lan kesalahan sing rada gedhe ing data kontrol. Yen salah, bakal nyebabake pangaturan sing tepat kanggo data latihan lan kesalahan gedhe ing data tes.

(Iku kasunyatan sing kondhang yen liwat titik N siji bisa nggambar kurva siji saka gelar N-1, lan cara iki ing kasus umum ora menehi asil sing dikarepake. Polinomial interpolasi Lagrange ing Wikipedia)

1. Setel distribusi wiwitan

Learning machine tanpa Python, Anaconda lan reptil liyane

2. Kita dibagi poin dadi "latihan" lan "kontrol" kanthi rasio 70 nganti 30.

Learning machine tanpa Python, Anaconda lan reptil liyane

3. We tarik kurva approximating bebarengan TCTerms latihan, kita ndeleng kesalahan menehi ing data kontrol

Learning machine tanpa Python, Anaconda lan reptil liyane

4. We tarik kurva pas liwat TCTerms latihan, lan kita waca kesalahan monstrous ing data kontrol (lan nul ing data latihan, nanging apa titik?).

Learning machine tanpa Python, Anaconda lan reptil liyane

Ditampilake, mesthi, minangka pilihan sing paling gampang kanthi divisi siji menyang subset "latihan" lan "kontrol", ing kasus umum, iki ditindakake kaping pirang-pirang kanggo pangaturan koefisien sing paling apik.

File kasedhiya ing kene, dipindai dening antivirus. Aktifake makro kanggo operasi sing bener

3. Keturunan gradien lan dinamika owah-owahan kesalahan

Bakal ana kasus 4-dimensi lan regresi linier. Koefisien regresi linier bakal ditemtokake langkah demi langkah nggunakake metode turunan gradien, wiwitane kabeh koefisien nol. Grafik sing kapisah nuduhake dinamika pengurangan kesalahan amarga koefisien diatur kanthi luwih akurat. Sampeyan bisa ndeleng kabeh papat proyeksi 2-dimensi.

Yen sampeyan ngeset langkah keturunan gradien gedhe banget, sampeyan bisa ndeleng manawa saben-saben kita bakal ngliwati minimal lan bakal entuk asil kanthi langkah-langkah sing luwih akeh, sanajan pungkasane kita isih bakal teka (kajaba kita uga nundha langkah mudhun. akeh - banjur algoritma bakal "ing spades"). Lan grafik kesalahan gumantung ing langkah pengulangan ora bakal Gamelan, nanging "jerky".

1. Ngasilake data, atur langkah keturunan gradien

Learning machine tanpa Python, Anaconda lan reptil liyane

2. Kanthi pilihan sing bener saka langkah keturunan gradien, kita lancar lan cepet tekan minimal

Learning machine tanpa Python, Anaconda lan reptil liyane

3. Yen langkah keturunan gradien ora dipilih kanthi bener, kita ngluwihi maksimal, grafik kesalahan "jerky", konvergensi njupuk langkah sing luwih akeh.

Learning machine tanpa Python, Anaconda lan reptil liyane
ΠΈ

Learning machine tanpa Python, Anaconda lan reptil liyane

4. Yen kita milih langkah keturunan gradien rampung salah, kita pindhah adoh saka minimal

Learning machine tanpa Python, Anaconda lan reptil liyane

(Kanggo ngasilake proses nggunakake nilai-nilai langkah keturunan gradien sing ditampilake ing gambar, priksa kothak "data referensi").

File kasebut ana ing tautan iki, sampeyan kudu ngaktifake makro, ora ana virus.

Miturut masyarakat sing dihormati, apa nyederhanakake lan cara nyedhiyakake materi kasebut bisa ditampa? Apa worth nerjemahake artikel menyang basa Inggris?

Source: www.habr.com

Add a comment