Menerapkan Proses Machine Learning!

Proses Sistematis  Bekerja Melalui Masalah Pemodelan Prediktif
Yang Memberikan Hasil Di Atas Rata-Rata


Seiring waktu, dengan mengerjakan masalah penerapan machine learning , kita dapat mengembangkan pola atau proses untuk mendapatkan hasil yang baik dengan cepat.

Setelah selesai dikembangkan,  kita dapat menggunakan kembali proses ini di berbagai proyek. Semakin baik  sebuah proses, semakin cepat kita  bisa mendapatkan hasil yang diharapkan.

Dalam posting ini, penulis ingin berbagi tentang kerangka proses  untuk menyelesaikan masalah pada machine learning.

Kita dapat menggunakan ini sebagai template pada proyek yang lainnya.


5 Langkah Proses Sistematis


Penulis sering menggunakan proses 5 langkah:
  1. Tentukan Masalah
  2. Siapkan Data
  3. Algoritma Spot Check
  4. Tingkatkan Hasil
  5. Presentasikan Hasil Kerja
Ada banyak fleksibilitas dalam proses ini. Misalnya, tahap "menyiapkan data" biasanya dipecah menjadi analisis data (meringkas dan membuat grafik) dan menyiapkan data (menyiapkan sampel untuk eksperimen). Langkah "Spot Checks" mungkin melibatkan beberapa eksperimen formal.

Ini adalah jalur produksi besar yang penuli coba jalani secara linier. Hal terbaik dalam menggunakan automated tools adalah kita dapat kembali beberapa langkah (misalnya dari "Meningkatkan Hasil" kembali ke "Mempersiapkan Data") dan memasukkan transformasi baru dari kumpulan data dan menjalankan kembali eksperimen dalam langkah-langkah intervensi untuk melihat apa hasil menarik keluar dan bagaimana mereka dibandingkan dengan eksperimen yang dilakukan sebelumnya.

Proses yang penulis gunakan telah diadaptasi dari proses data mining standar di database (atau KDD).


Tentukan Masalah


Penulis suka menggunakan  tiga langkah proses untuk mendefinisikan masalah. Penulis juga sering bergerak  cepat dan  menggunakan mini proses ini untuk melihat masalah dari berbagai perspektif yang berbeda dengan  cepat:

  • Langkah 1: Apa masalahnya? Jelaskan masalah secara informal dan formal dan daftar asumsi dan masalah serupa.
  • Langkah 2: Mengapa masalah perlu dipecahkan? Buat daftar motivasi  untuk memecahkan masalah, manfaat yang diberikan oleh solusi dan bagaimana solusi tersebut akan digunakan.
  • Langkah 3: Bagaimana cara memecahkan masalah? Jelaskan bagaimana masalah akan diselesaikan secara manual untuk membersihkan pengetahuan domain.

Siapkan Data

Penulis mempersiapkan data dalam fase analisis data dengan meringkas atribut dan memvisualisasikannya menggunakan plot pencar dan histogram. Penulis juga ingin menggambarkan secara detail setiap atribut dan hubungan antar atribut. Pekerjaan ini memaksa penulis untuk memikirkan data dalam konteks masalah sebelum hilang dari algoritma

Proses persiapan data secara keseluruhan terdiri dari tiga langkah sebagai berikut:

  • Langkah 1: Pemilihan Data: Pertimbangkan data apa yang tersedia, data apa yang hilang dan data apa yang bisa dihapus.
  • Langkah 2: Prapemrosesan Data: Atur data yang Anda pilih dengan memformat, membersihkan, dan mengambil sampel darinya.
  • Langkah 3: Transformasi Data: Transformasikan data yang telah diproses sebelumnya menjadi machine learning dengan merekayasa fitur menggunakan penskalaan, dekomposisi atribut, dan agregasi atribut.


Algoritma Spot Check

Penulis menggunakan validasi silang 10 kali lipat dalam rangkaian pengujian  secara default. Semua eksperimen (kombinasi algoritma dan kumpulan data) diulang 10 kali dan mean serta standar deviasi  dikumpulkan kemudian dilaporkan. Penulis  menggunakan uji signifikansi statistik untuk menghilangkan hasil yang berarti dari noise. Box-plot sangat berguna untuk meringkas distribusi hasil akurasi untuk setiap pasangan algoritma dan dataset.

Melihat algoritma spot check, yang berarti memuat banyak algoritme standar machine learning ke dalam rangkaian pengujian  dan melakukan eksperimen formal. Penulis biasanya menjalankan 10-20 algoritme standar dari semua keluarga algoritme utama di semua versi dataset yang diubah dan diskalakan yang telah  disiapkan.

Tujuan dari spot check  untuk menghilangkan jenis algoritma dan kombinasi dataset yang baik dalam memilih struktur masalah sehingga dapat dipelajari lebih detail dengan eksperimen terfokus.

Eksperimen yang lebih terfokus pada kelompok algoritme yang memiliki kinerja baik dapat dilakukan pada langkah ini, tetapi pengaturan algoritme dilakukan dalam langkah berikutnya.


Tingkatkan Hasil


Setelah melakukan spot checking, saatnya memperoleh hasil terbaik dari rig. Penulis melakukan ini dengan menjalankan analisis sensitivitas otomatis pada  algoritme yang memiliki kinerja terbaik. Penulis juga merancang dan menjalankan eksperimen menggunakan metode ansambel standar dari algoritme dengan kinerja terbaik. Penulis menghabiskan banyak waktu  untuk mendapatkan lebih banyak  data atau  algoritme yang terbukti memiliki kinerja baik.

Sekali lagi, signifikansi statistik merupakan hasil sangat penting di sini. Sangat mudah untuk fokus pada metode dan bermain dengan konfigurasi algoritma. Hasilnya hanya akan bermakna jika signifikan dan semua konfigurasi sudah dipikirkan serta eksperimen dijalankan dalam batch. Penulis juga ingin mempertahankan personal leaderboard  hasil teratas pada suatu masalah.

Secara singkat, proses meningkatkan hasil melibatkan:

  • Algorithm Tuning: di mana model terbaik diperlakukan seperti masalah pencarian melalui ruang parameter model.
  • Metode Ensemble: di mana prediksi yang dibuat oleh beberapa model digabungkan.
  • Rekayasa Fitur Ekstrim: di mana dekomposisi dan agregasi atribut yang terlihat dalam persiapan data didorong hingga batasnya.

Hasil Sekarang


Hasil dari masalah Machine learning yang kompleks tidak ada artinya kecuali jika diterapkan. Ini biasanya berarti representasi kepada pemangku kepentingan. Sekalipun ini merupakan sebuah kompetisi atau masalah yang dikerjakan secara pribadi, penulus tetap menjalani proses untuk mempresentasikan hasil. Ini adalah praktik yang baik dan memberi penulus pembelajaran yang jelas yang dapat  dikembangkan di lain waktu.

Template yang penulis gunakan untuk menyajikan hasil ada di bawah dan dapat berbentuk dokumen teks, laporan formal, atau slide presentasi.
  • Konteks (Mengapa): Tentukan lingkungan di mana masalah itu ada dan atur motivasi untuk pertanyaan penelitian.
  • Masalah (Pertanyaan): Secara singkat gambarkan masalah sebagai pertanyaan yang kita keluarkan dan jawab.
  • Solusi (Jawaban): Jelaskan secara singkat solusi sebagai jawaban atas pertanyaan yang kita ajukan di bagian sebelumnya. Jadilah spesifik.
  • Temuan: Daftar berbutir penemuan yang kita buat sepanjang jalan yang menarik minat audiens. Itu mungkin penemuan dalam data, metode yang berhasil atau tidak, atau manfaat kinerja model yang dicapai sepanjang perjalanan Anda.
  • Keterbatasan: Pertimbangkan di mana model tidak berfungsi atau pertanyaan yang tidak dijawab oleh model. Jangan menghindar dari pertanyaan-pertanyaan ini, Memperhitungkan bagaimana model unggul lebih dipercaya jika kita dapat memikirkan sisi di mana ia tidak unggul.
  • Kesimpulan (Mengapa+Pertanyaan+Jawaban): Tinjau kembali “mengapa”, pertanyaan penelitian dan jawaban yang  ditemukan dalam paket kecil yang mudah diingat dan diulangi untuk diri sendiri dan orang lain.

Ringkasan

Dalam posting ini, kita telah mempelajari template umum  untuk memproses masalah pembelajaran mesin.

Penulis menggunakan proses ini hampir tanpa kegagalan dan  menggunakannya di seluruh platform, dari Weka, R dan scikit-learn dan bahkan platform baru yang telah penulis gunakan seperti pylearn2.

Sumber: https://machinelearningmastery.com/process-for-working-through-machine-learning-problems/

Komentar

Postingan populer dari blog ini

Digaji melalui Machine Learning

Mendapatkan Uang dengan Machine Learning!