Artikel ini akan dibagi menjadi 3 bagian ( Teori / Metode dan Algoritma Pemecahan Masalah / Pengembangan dan Implementasi di Jawa ) untuk menggambarkan gambaran lengkapnya. Artikel pertama hanya akan memuat teori untuk mempersiapkan pikiran para pembaca.
Tujuan artikel:
- Otomatisasi sebagian atau penuh dari tugas pengelompokan dan pengklasifikasian data besar, yaitu data teks.
- Penerapan algoritma pembelajaran mesin "unsupervised" (clustering) dan "supervised" (klasifikasi).
- Analisis solusi masalah saat ini.
Tugas yang harus dipertimbangkan secara umum:
- Pengembangan dan penerapan algoritma dan metode untuk pemrosesan bahasa alami.
- Pengembangan dan penerapan metode clustering untuk menentukan kelompok cluster dokumen input.
- Penerapan metode klasifikasi untuk mendefinisikan pokok bahasan masing-masing kelompok cluster.
- Pengembangan antarmuka web berdasarkan Java Vaadin
Hipotesis yang saya simpulkan dari masalah dan saat mengajar teori:
- Klasifikasi kelompok cluster mendefinisikan pengetahuan tersembunyi yang abstrak dan lebih berharga, mengabaikan kebisingan, daripada klasifikasi objek individual.
- Akurasi clustering berbanding lurus dengan jumlah cluster cluster dan berbanding terbalik dengan jumlah objek dalam satu cluster cluster.
Untuk siapa pun yang tertarik dengan algoritme itu sendiri, berikut ringkasannya.
Algoritme perangkat lunak pembelajaran mesin terdiri dari 3 bagian utama:
- Pemrosesan bahasa alami.
- tokenisasi;
- lemmatisasi;
- berhenti mendaftar;
- frekuensi kata;
- Metode pengelompokan.
TF-IDF;
SVD;
menemukan kelompok cluster;
- Metode klasifikasi - API Aylien.
Jadi mari kita mulai teorinya.
1. Konsep pembelajaran mesin
‒ , , . – , , - . “ , , , . , ?”. ‒ , “”. – , , — , .
. , , , , , . - () . , , , .. , ? — , , . ? — , . .
, , , , . , , , , . , . , , . , .
, . ‒ . , . , , . . , " ", . , , .
()? , : “ , E T P, T, P, E”. , E , T , P , . – E, , 100 . “” .
, , . . , , , .
, .
2.
‒ , :
- ‒ . , .
- ‒ . , , , .
- – , , . . , . , ‒ , .
- ‒ , . , .
. , , , . , . , , , . ‒ , , , , .
, , , , , .
, . . , . . , . , . , , , . , .
, , . , . , Google, Yahoo, Microsoft, Amazon , . , , Facebook, YouTube Twitter, . , , , , .
, . , . . , . , , , , , .
, . , , . , , .
, . , , , , , , , , , , , / .. , / . , .
Sebagai kesimpulan, kita dapat mengatakan bahwa big data dan pembelajaran mesin sangat erat kaitannya satu sama lain, karena data besar tidak berguna tanpa menganalisis dan mengekstrak informasi, dan pembelajaran mesin tidak dapat hidup berdampingan tanpa data besar, yang memberikan pengalaman dan pembelajaran algoritme.
3. Jenis pembelajaran mesin
Pembelajaran mesin, sebagai ilmu, dapat diklasifikasikan menjadi 3 kategori utama tergantung pada sifat pembelajaran:
- mengajar dengan seorang guru;
- mengajar tanpa guru;
- pembelajaran penguatan.
Dalam beberapa karya ilmiah, pada dasarnya pembelajaran terbagi menjadi 4 kategori yang meliputi pembelajaran parsial, namun pembelajaran ini hanya simbiosis dengan guru dan tanpa guru.
3.1. Belajar dengan seorang guru
, , , , . , , . , . . , . , , , , . , .
Untuk memecahkan masalah dalam rangka menerapkan supervised learning, langkah-langkah berikut harus diikuti:
- Tentukan jenis contoh pelatihan. Pertama-tama, Anda perlu memutuskan data apa yang harus digunakan sebagai set pelatihan.
- Pengumpulan data. Dataset harus mewakili penggunaan sebenarnya dari fungsi tersebut. Dengan demikian, sekumpulan fitur masukan dan keluaran terkait dikumpulkan.
- Penentuan representasi input dari objek fungsi yang dipelajari. Keakuratan fungsi yang sedang dipelajari sangat bergantung pada bagaimana objek masukan direpresentasikan. Biasanya, objek input diubah menjadi objek vektor yang berisi serangkaian objek yang menggambarkan objek tersebut. Jumlah fungsi tidak boleh terlalu besar, karena "kutukan dimensi", tetapi harus berisi informasi yang cukup untuk memprediksi hasil secara akurat.
- .
- . . . ( ) .
- . , , .
Algoritme dilatih menggunakan contoh yang telah diproses sebelumnya, dan pada tahap ini performa algoritme dievaluasi menggunakan data uji. Terkadang pola yang diidentifikasi dalam subset data tidak dapat ditemukan dalam populasi data yang lebih besar. Jika model hanya cocok untuk merepresentasikan pola yang ada dalam subset pelatihan, masalah yang disebut "Overfitting" akan dibuat.
Overfitting berarti model disesuaikan dengan baik untuk set data pelatihan, tetapi tidak dapat diterapkan ke set data besar yang tidak diketahui. Untuk melindungi dari overfitting, pengujian harus dilakukan terhadap data yang tidak terduga atau tidak dikenal. Menggunakan data yang tidak terduga untuk rangkaian pengujian dapat membantu Anda mengukur keakuratan model saat memprediksi hasil. Model pembelajaran yang diawasi memiliki penerapan yang luas untuk berbagai masalah bisnis, termasuk deteksi penipuan, rekomendasi, pengenalan ucapan, atau analisis risiko.
Algoritme supervised learning yang paling banyak digunakan dan populer adalah:
- dukungan mesin vektor;
- regresi linier;
- regresi logistik;
- pengklasifikasi Bayesian yang naif;
- pelatihan pohon keputusan;
- metode k-tetangga terdekat;
- jaringan saraf tiruan;
- studi tentang persamaan.
Masing-masing algoritma di atas memiliki pendekatan matematika dan statistik matematika, metode, dan rumus yang berbeda. Tetapi pola umum dari algoritme dapat ditekankan, karena semua algoritme ini adalah pembelajaran yang diawasi:
n (x_1,y_1),(x_2,y_2),...,(x_n,y_n), x_i ‒ , y_i ‒ . , x_i , , , , . y_i «” „“.
‒ m : (xn+1, xn+2,..., xn+m) * (x_(n+1),x_(n+2),...,x_(n+m) ). , , (, “” “ ”), , .
3.3.
‒ . , . , () . . , “” .
, , (), . , , . ‒ ‒ .
, , . , , , . , , , . , , , , .
Dilemanya adalah bahwa baik belajar maupun menguasai tidak dapat dilakukan secara eksklusif tanpa kegagalan dalam tugas. Algoritme harus mencoba tindakan yang berbeda dan secara bertahap memilih tindakan yang tampaknya terbaik. Dalam masalah stokastik, setiap tindakan harus dilakukan berulang kali untuk mendapatkan estimasi yang dapat diandalkan. Dilema penguasaan belajar telah dipelajari secara intensif oleh para ahli matematika selama beberapa dekade, tetapi tetap tidak terpecahkan.
Kesalahan membantu Anda belajar karena kesalahan menambah ukuran disiplin (biaya, waktu yang terbuang, penyesalan, rasa sakit, dll., Mengajari Anda bahwa tindakan tertentu kurang mungkin dilakukan daripada yang lain.) Contoh menarik dari pembelajaran penguatan terjadi ketika komputer belajar bermain video game sendiri tanpa campur tangan manusia.
Pembelajaran mesin juga dapat diklasifikasikan berdasarkan hasil yang diinginkan:
- klasifikasi;
- kekelompokan;
- regresi.
Algoritma regresi biasanya digunakan untuk analisis statistik. Regresi membantu Anda menganalisis hubungan model antara titik data. Algoritma regresi dapat mengukur kekuatan korelasi antar variabel dalam kumpulan data. Selain itu, analisis regresi dapat berguna untuk memprediksi nilai data masa depan berdasarkan nilai historis. Namun, penting untuk diingat bahwa analisis regresi mengasumsikan bahwa korelasi adalah tentang sebab dan akibat. Tanpa memahami konteks di sekitar data, analisis regresi dapat menyebabkan prediksi yang tidak akurat. Jenis regresi:
- regresi linier;
- regresi nonlinier;
- regresi vektor;
- regresi logistik.
Pengelompokan adalah teknik yang cukup sederhana untuk dipahami. Objek dengan parameter serupa dikelompokkan bersama (dalam sebuah cluster). Semua objek dalam cluster lebih mirip satu sama lain dibandingkan dengan objek di cluster lain. Clustering adalah jenis pembelajaran tanpa pengawasan karena algoritme itu sendiri menentukan karakteristik umum dari elemen dalam data. Algoritme menginterpretasikan parameter yang membentuk setiap elemen dan kemudian mengelompokkannya.
Kategori pengelompokan:
- metode k-means;
- pengelompokan spasial berbasis kepadatan untuk aplikasi yang berisik - DBSCAN;
- algoritma pengelompokan OPTICS;
- metode komponen utama.
Tetapi penting untuk dicatat bahwa dalam pengelompokan, terutama dalam pembelajaran tanpa pengawasan, algoritme mencari koneksi antara data masukan. Keindahan pembelajaran mesin adalah menemukan koneksi tersembunyi antar data, yang lebih dikenal sebagai koneksi laten. Untuk pengelompokan dalam mencari hubungan laten, model variabel tersembunyi digunakan, yang diterapkan untuk mempelajari hubungan antar nilai variabel. Model variabel tersembunyi meliputi:
- Algoritma EM;
- metode momen;
- pemisahan sinyal buta;
- metode komponen utama;
- analisis komponen independen;
- dekomposisi matriks non-negatif;
- dekomposisi nilai tunggal.
Klasifikasi adalah proses memprediksi kelas dari titik data tertentu. Kelas terkadang disebut sebagai label atau kategori. Pemodelan prediksi klasifikasi adalah masalah pendekatan fungsi pemetaan (f) dari variabel masukan (X) ke variabel keluaran diskrit (y) . Klasifikasi tersebut termasuk dalam kategori supervised learning. Jenis skema klasifikasi:
- kamus;
- taksonomi;
- model data;
- jaringan transportasi;
- ontologi.
Namun dalam pembelajaran mesin, jenis klasifikasi dilakukan sesuai dengan jenis algoritme yang dalam satu atau lain cara mengacu pada skema klasifikasi. Algoritme pembelajaran yang paling banyak digunakan adalah:
- dukungan mesin vektor;
- regresi logistik;
- pengklasifikasi Bayesian yang naif;
- metode k-tetangga terdekat;
- jaringan saraf tiruan;
- .
4.
, . . , . – . ‒ , , – . , . , .
(NLP) ‒ . ‒ , , ( ) . , , , . , .
, , .
, , . , . ( ) (), . / . . , , . : () .
, . , -, , ‒ . (NLP). NLP ‒ (-) . NLP , , . NLP, , : . , , ( ). NLP , . NLP, , . , :
- ‒ () , . – . , . .
- ‒ , . ? , () , . . . , , . .
- – , . , . , :
- , , , , .
- ,
, . , .
- - ‒ - , , , , - , . .
- – . , . , , ( ).
, , . , . . . . . , , . .
Dalam pembelajaran mesin, dokumen teks dapat tumpang tindih dengan banyak kategori dalam klasifikasi atau dengan banyak cluster dalam pengelompokan. Algoritme pengambilan sampel fitur yang paling umum digunakan adalah:
- Term Frequency - Inverse Document Frequency (TF-IDF) biasa digunakan untuk membobot setiap kata dalam suatu dokumen teks sesuai dengan keunikannya. Bobot kata (token) sering digunakan untuk pengambilan informasi dan analisis semantik teks. Bobot ini merupakan ukuran statistik yang digunakan untuk menilai seberapa penting suatu kata bagi suatu dokumen dalam suatu kumpulan atau korpus Dengan kata lain pendekatan TF-IDF mencerminkan relevansi kata, dokumen teks, dan kategori tertentu.
- Word2Vec adalah alat (kumpulan algoritme) untuk menghitung representasi vektor dari kata-kata, yang mengimplementasikan dua arsitektur utama - kumpulan kata terus menerus (CBOW) dan Skip-gram. Dokumen teks atau kata dilewatkan sebagai input, dan data output akan direpresentasikan sebagai variabel vektor (koordinat dalam ruang vektor).
Kata Penutup
Faktanya, teori pembelajaran mesin sangat luas dan luas. Di sini saya menulis dengan kata-kata yang lebih abstrak dan sederhana. Jika ada amandemen teks atau teori, silakan tulis. Tujuan dari artikel ini, sekali lagi, adalah untuk mempersiapkan pembaca untuk masalah dan solusi yang paling praktis.
Tinggalkan komentar jika Anda menunggu lebih banyak.