Daftar Isi:
- Mempelajari kurva belajar
- Menggunakan validasi silang dengan benar
- Memilih kesalahan yang benar atau menilai metrik
- Mencari parameter hyper-parameter terbaik
- Menguji beberapa model
- Model rata-rata
- Penumpukan model
- Menerapkan teknik fitur
- Memilih fitur dan contoh
- Mencari lebih banyak data
Video: Rahasia Otak Einstein yang Wajib Kamu Tahu!! 2024
Sekarang setelah Anda mempelajari algoritma pembelajaran telah selesai belajar dari data yang diperoleh dengan menggunakan Python atau R, Anda merenungkan hasil dari set tes Anda dan bertanya-tanya apakah Anda dapat memperbaikinya atau telah benar-benar mencapai hasil terbaik. Ada sejumlah pemeriksaan dan tindakan yang mengisyaratkan metode yang dapat Anda gunakan untuk meningkatkan kinerja pembelajaran mesin dan mencapai prediktor yang lebih umum yang dapat bekerja sama baiknya dengan rangkaian pengujian atau data baru Anda. Daftar sepuluh teknik ini memberi Anda kesempatan untuk memperbaiki hasil yang dicapai dengan menggunakan algoritma pembelajaran mesin.
Mempelajari kurva belajar
Sebagai langkah awal untuk memperbaiki hasil Anda, Anda perlu menentukan masalah dengan model Anda. Kurva belajar mengharuskan Anda melakukan verifikasi terhadap tes yang ditetapkan saat Anda memvariasikan jumlah contoh pelatihan. Anda akan segera melihat apakah Anda menemukan banyak perbedaan antara kesalahan dalam sampel dan kesalahan di luar sampel Anda. Perbedaan awal yang luas adalah tanda varians perkiraan; Sebaliknya, memiliki kesalahan yang sama-sama tinggi dan serupa adalah pertanda bahwa Anda bekerja dengan model yang bias.
Python membantu Anda dengan mudah menggambar kurva belajar menggunakan fungsi Scikit-learn (). Anda juga dapat dengan mudah mencapai hasil yang sama dengan menggunakan R dengan fungsi kustom, seperti yang dijelaskan oleh blog analisis Revolusi.
Menggunakan validasi silang dengan benar
Melihat perbedaan besar antara perkiraan validasi silang (CV) dan hasilnya adalah masalah umum yang muncul dengan kumpulan tes atau data baru. Memiliki masalah ini berarti ada yang tidak beres dengan validasi silang. Di luar fakta bahwa CV bukanlah prediktor kinerja yang baik, masalah ini juga berarti bahwa indikator yang menyesatkan telah menyebabkan Anda memodelkan masalah dengan tidak benar dan mencapai hasil yang tidak memuaskan.
Validasi silang memberi petunjuk saat langkah yang Anda lakukan benar. Ini penting, namun tidak penting, bahwa CV memperkirakan dengan tepat meniru pengukuran kesalahan di luar sampel. Namun, sangat penting bahwa perkiraan CV benar mencerminkan perbaikan atau perburukan dalam fase uji karena keputusan pemodelan Anda. Secara umum, ada dua alasan bahwa perkiraan validasi silang dapat bervariasi dari hasil kesalahan sebenarnya:
- Mengintip
- Sampling salah
Python menawarkan sampler CV berlapis-lapis. R dapat mengelompokkan sampel menggunakan metode createFolds pada perpustakaan caret saat Anda memberikan parameter y sebagai faktor.
Memilih kesalahan yang benar atau menilai metrik
Mencoba mengoptimalkan metrik kesalahan berdasarkan kesalahan median dengan menggunakan algoritma pembelajaran berdasarkan kesalahan rata-rata tidak akan memberi Anda hasil terbaik kecuali jika Anda mengelola proses pengoptimalan di mode yang sesuai dengan metrik pilihan Anda.Saat memecahkan masalah dengan menggunakan data dan pembelajaran mesin, Anda perlu menganalisis masalah dan menentukan metrik yang ideal untuk dioptimalkan.
Contoh dapat membantu banyak. Anda bisa mendapatkan banyak dari mereka dari makalah akademis dan dari kontes pembelajaran mesin publik yang dengan hati-hati menentukan masalah spesifik dalam hal data dan error / score metric. Cari kontes yang tujuan dan datanya sama dengan Anda, lalu periksa metrik yang diminta.
Mencari parameter hyper-parameter terbaik
Kebanyakan algoritme tampil cukup baik di luar kotak menggunakan pengaturan parameter default. Namun, Anda selalu dapat mencapai hasil yang lebih baik dengan menguji berbagai parameter yang berbeda. Yang harus Anda lakukan adalah membuat pencarian grid di antara nilai yang mungkin parameter Anda dapat mengambil dan mengevaluasi hasilnya dengan menggunakan kesalahan yang benar atau menilai metrik. Pencarian membutuhkan waktu, namun bisa meningkatkan hasil Anda.
Bila pencarian membutuhkan waktu terlalu lama untuk diselesaikan, Anda sering dapat mencapai hasil yang sama dengan mengerjakan sampel data asli Anda. Contoh yang lebih sedikit dipilih secara acak memerlukan perhitungan yang lebih sedikit, namun biasanya petunjuk pada solusi yang sama. Trik lain yang dapat menghemat waktu dan usaha adalah melakukan pencarian secara acak, sehingga membatasi jumlah kombinasi parameter hiper untuk diuji.
Menguji beberapa model
Sebagai praktik yang baik, uji beberapa model, dimulai dengan yang mendasar - model yang memiliki bias lebih banyak daripada varians. Anda harus selalu memilih solusi sederhana dari solusi yang rumit. Anda mungkin menemukan bahwa solusi sederhana berkinerja lebih baik.
Mewakili kinerja berbagai model menggunakan tabel yang sama sangat membantu sebelum memilih yang terbaik untuk memecahkan masalah Anda. Anda dapat menempatkan model yang digunakan untuk memprediksi perilaku konsumen, seperti respons terhadap tawaran komersial, grafik grafik khusus dan grafik angkat. Bagan ini menunjukkan bagaimana model Anda melakukan dengan mempartisi hasilnya menjadi desil atau bagian yang lebih kecil.
Karena Anda mungkin tertarik hanya pada konsumen yang kemungkinan besar menanggapi tawaran Anda, memesan prediksi dari kebanyakan ke yang paling kecil kemungkinannya akan menekankan seberapa bagus model Anda memprediksi pelanggan yang paling menjanjikan. Jawaban Quora ini membantu Anda melihat bagaimana grafik gain dan lift bekerja: Apa itu ROC Curve? dan Apa itu Kurva Angkat?.
Menguji beberapa model dan introspeksi mereka juga dapat memberikan saran mengenai fitur mana yang akan diubah untuk pembuatan fitur, atau fitur mana yang harus ditinggalkan saat Anda membuat pilihan fitur.
Model rata-rata
Pembelajaran mesin melibatkan pembuatan banyak model dan menghasilkan banyak prediksi berbeda, semuanya dengan kinerja kesalahan yang diharapkan. Mungkin mengejutkan Anda untuk mengetahui bahwa Anda bisa mendapatkan hasil yang lebih baik lagi dengan merata-ratakan model bersama-sama. Prinsipnya cukup sederhana: Estimasi varians acak, jadi dengan rata-rata banyak model yang berbeda, Anda dapat meningkatkan sinyal dan menyingkirkan kebisingan yang sering kali akan membatalkan dirinya sendiri.
Kadang-kadang hasil dari algoritma yang berkinerja baik, dicampur dengan hasil dari algoritma yang lebih sederhana yang tidak bekerja dengan baik, dapat membuat prediksi yang lebih baik daripada menggunakan satu algoritma.Jangan meremehkan kontribusi yang disampaikan dari model yang lebih sederhana, seperti model linier, bila Anda menilai hasilnya dengan algoritme yang lebih canggih, seperti peningkatan gradien.
Penumpukan model
Dengan alasan yang sama bahwa rata-rata bekerja, penumpukan juga dapat memberi Anda kinerja yang lebih baik. Dalam susun, Anda membangun model pembelajaran mesin Anda dalam dua tahap. Awalnya teknik ini memprediksi banyak hasil dengan menggunakan algoritma yang berbeda, dengan semuanya belajar dari fitur yang ada dalam data Anda. Selama fase kedua, alih-alih menyediakan fitur yang akan dipelajari oleh model baru, Anda menyediakan model itu dengan prediksi model lain yang sebelumnya telah dilatih.
Menggunakan pendekatan dua tahap dapat dibenarkan saat menebak fungsi target yang kompleks. Anda dapat memperkirakannya hanya dengan menggunakan beberapa model bersama-sama dan kemudian dengan menggabungkan hasil perkalian dengan cara yang cerdas. Anda bisa menggunakan regresi logistik sederhana atau ansambel pohon yang kompleks sebagai model tahap kedua.
Kompetisi Netflix memberikan bukti dan ilustrasi rinci tentang bagaimana model heterogen dapat ditumpuk bersama untuk membentuk model yang lebih hebat. Namun, menerapkan solusi ini sebagai aplikasi kerja bisa sangat merepotkan.
Menerapkan teknik fitur
Jika Anda yakin bahwa bias masih mempengaruhi model Anda, Anda hanya memiliki sedikit pilihan selain menciptakan fitur baru yang memperbaiki kinerja model. Setiap fitur baru bisa membuat tebakan target lebih mudah.
Pembuatan fitur otomatis dimungkinkan dengan menggunakan perluasan polinomial atau kelas mesin vektor pendukung algoritma pembelajaran mesin. Mesin vektor pendukung dapat secara otomatis mencari fitur yang lebih baik pada ruang fitur berdimensi tinggi dengan cara yang cepat dan optimal dari komputasi.
Namun, tidak ada yang benar-benar dapat menggantikan keahlian dan pemahaman Anda tentang metode yang diperlukan untuk memecahkan masalah data yang sedang mencoba algoritma. Anda dapat membuat fitur berdasarkan pengetahuan dan gagasan Anda tentang bagaimana segala sesuatu bekerja di dunia. Manusia masih terkalahkan dalam melakukannya, dan mesin tidak dapat dengan mudah menggantinya.
Memilih fitur dan contoh
Jika varians perkiraan tinggi dan algoritme Anda mengandalkan banyak fitur, Anda perlu memangkas beberapa fitur untuk hasil yang lebih baik. Dalam konteks ini, mengurangi jumlah fitur dalam matriks data Anda dengan memilih yang memiliki nilai prediktif tertinggi disarankan.
Saat bekerja dengan model linier, mesin vektor pendukung linier, atau jaringan syaraf tiruan, regularisasi selalu menjadi pilihan. Baik L1 dan L2 dapat mengurangi pengaruh variabel redundan atau bahkan menghilangkannya dari model. Pemilihan stabilitas memanfaatkan kemampuan L1 untuk mengecualikan variabel yang kurang berguna. Teknik ini menguraikan data pelatihan untuk mengkonfirmasi pengecualian.
Anda dapat mempelajari lebih lanjut tentang pemilihan stabilitas dengan melihat contoh di situs web Scikit-learn. Selain itu, Anda dapat berlatih menggunakan fungsi RandomizedLogisticRegression dan RandomizedLasso Scikit-learn dalam modul linear_model.
Mencari lebih banyak data
Setelah mencoba semua saran sebelumnya, Anda mungkin masih memiliki variasi prediksi yang tinggi untuk ditangani. Dalam hal ini, satu-satunya pilihan Anda adalah meningkatkan ukuran latihan Anda. Cobalah meningkatkan sampel Anda dengan menyediakan data baru, yang bisa diterjemahkan ke dalam kasus baru atau fitur baru.
Jika Anda ingin menambahkan lebih banyak kasus, lihat saja apakah Anda memiliki data serupa yang ada. Jika Anda ingin menambahkan fitur baru, cari sumber data sumber terbuka, jika mungkin, untuk mencocokkan data Anda dengan entri-entrinya. Cara lain yang bagus untuk mendapatkan kedua kasus baru dan fitur baru adalah dengan menggores data dari web. Seringkali data tersedia antar berbagai sumber atau melalui antarmuka pemrograman aplikasi (API). Misalnya, Google API menawarkan banyak sumber informasi geografis dan bisnis.