Isi kandungan:
- Mempelajari lengkung pembelajaran
- Menggunakan cross-validation dengan betul
- Memilih ralat betul atau skor metrik
- Mencari hiper parameter yang paling baik
- Menguji beberapa model
- Model rata-rata
- Model menyusun
- Menggunakan kejuruteraan ciri
- Memilih ciri dan contoh
- Mencari lebih banyak data
Video: TEKNIK DAN CARA MENGHAFAL 10 KALI LEBIH CEPAT DAN MUDAH UNTUK PELAJAR & MAHASISWA (SEMUA KALANGAN) 2024
Sekarang bahawa anda adalah algoritma pembelajaran mesin telah selesai belajar dari data yang diperoleh menggunakan Python atau R, anda merenungkan hasil daripada set ujian anda dan bertanya-tanya sama ada anda boleh memperbaikinya atau telah mencapai hasil terbaik. Terdapat beberapa pemeriksaan dan tindakan yang memberi petunjuk kepada kaedah yang boleh anda gunakan untuk meningkatkan prestasi pembelajaran mesin dan mencapai peramal yang lebih umum yang mampu bekerja dengan baik dengan set ujian anda atau data baru. Senarai sepuluh teknik ini menawarkan peluang untuk meningkatkan hasil yang dicapai dengan menggunakan algoritma pembelajaran mesin.
Mempelajari lengkung pembelajaran
Sebagai langkah pertama untuk meningkatkan hasil anda, anda perlu menentukan masalah dengan model anda. Keluk pembelajaran memerlukan anda mengesahkan terhadap satu set ujian kerana anda mengubah bilangan contoh latihan. Anda akan melihat dengan segera sama ada anda mendapati banyak perbezaan antara kesilapan dalam sampel dan luar sampel anda. Perbezaan awal yang luas adalah tanda varians anggaran; sebaliknya, mempunyai kesilapan yang tinggi dan serupa adalah tanda bahawa anda bekerja dengan model yang berat sebelah.
Python membantu anda dengan mudah membuat keluk pembelajaran menggunakan fungsi Scikit-learn (). Anda juga boleh dengan mudah mencapai hasil yang sama menggunakan R dengan fungsi khusus, seperti yang diterangkan oleh blog analytics Revolusi.
Menggunakan cross-validation dengan betul
Melihat perbezaan besar antara estimasi silang-pengesahan (CV) dan hasilnya adalah masalah umum yang muncul dengan set ujian atau data segar. Mempunyai masalah ini bermakna ada sesuatu yang salah dengan pengesahan silang. Di luar fakta bahawa CV bukan peramal prestasi yang baik, masalah ini juga bermakna penunjuk yang mengelirukan telah menyebabkan anda memodelkan masalah dengan betul dan mencapai hasil yang tidak memuaskan.
Cross-validation memberikan anda petunjuk apabila langkah yang anda ambil betul. Ia penting, tetapi tidak kritikal, bahawa CV menganggarkan dengan tepat meniru pengukuran ralat sampel. Walau bagaimanapun, adalah penting bahawa anggaran CV mencerminkan dengan betul atau memburukkan lagi dalam fasa ujian kerana keputusan pemodelan anda. Secara amnya, terdapat dua sebab bahawa anggaran rentas pengesahan boleh berubah dari hasil ralat sebenar:
- Snooping
- Perampasan salah
Python menawarkan lapisan sampel stratified-k-lipat. R boleh menyusun sampel menggunakan kaedah createFolds perpustakaan caret apabila anda memberikan parameter y sebagai faktor.
Memilih ralat betul atau skor metrik
Cuba untuk mengoptimumkan metrik ralat berdasarkan ralat median dengan menggunakan algoritma pembelajaran berdasarkan ralat min tidak akan memberikan hasil terbaik melainkan jika anda menguruskan proses pengoptimuman fesyen yang berfungsi memihak kepada metrik yang anda pilih.Apabila menyelesaikan masalah menggunakan data dan pembelajaran mesin, anda perlu menganalisis masalah dan menentukan metrik yang sesuai untuk dioptimumkan.
Contohnya boleh membantu banyak. Anda boleh mendapatkan banyak daripada mereka dari kertas akademik dan dari kontes pembelajaran mesin awam yang dengan teliti menentukan masalah tertentu dari segi data dan ralat / skor metrik. Cari peraduan yang tujuan dan datanya sama dengan anda, dan kemudian semak metrik yang diminta.
Mencari hiper parameter yang paling baik
Kebanyakan algoritma berfungsi dengan baik dari kotak menggunakan tetapan parameter piawai. Bagaimanapun, anda boleh mencapai hasil yang lebih baik dengan menguji hiper parameter yang berbeza. Apa yang anda perlu lakukan ialah membuat carian grid di antara nilai-nilai yang boleh dimanfaatkan oleh parameter anda dan menilai keputusan menggunakan ralat yang betul atau skor metrik. Carian memerlukan masa, tetapi dapat meningkatkan hasil Anda.
Apabila pencarian mengambil masa terlalu lama untuk diselesaikan, anda sering boleh mencapai hasil yang sama dengan mengerjakan sampel data asal anda. Contoh yang lebih sedikit yang dipilih secara rawak memerlukan pengiraan yang lebih sedikit, tetapi mereka biasanya memberi petunjuk pada penyelesaian yang sama. Trik lain yang dapat menjimatkan masa dan usaha adalah melakukan pencarian secara rawak, dengan itu mengehadkan bilangan kombinasi hyper-parameter untuk diuji.
Menguji beberapa model
Sebagai amalan yang baik, menguji beberapa model, bermula dengan yang asas - model yang lebih berat daripada varians. Anda harus sentiasa memihak penyelesaian mudah ke atas yang kompleks. Anda mungkin mendapati bahawa penyelesaian mudah melakukan lebih baik.
Mewakili prestasi model berbeza menggunakan carta yang sama adalah berguna sebelum memilih yang terbaik untuk menyelesaikan masalah anda. Anda boleh meletakkan model yang digunakan untuk meramalkan tingkah laku pengguna, seperti tindak balas terhadap tawaran komersial, dalam carta kenaikan khas dan carta angkat. Carta-carta ini menunjukkan bagaimana model anda melakukan dengan membahagikan keputusannya kepada halus atau bahagian yang lebih kecil.
Oleh kerana anda mungkin berminat hanya dengan pengguna yang paling mungkin menanggapi tawaran anda, pesanan ramalan dari yang paling tidak mungkin akan menekankan betapa baiknya model anda meramalkan pelanggan yang paling menjanjikan. Jawapan Quora ini membantu anda melihat bagaimana carta keuntungan dan lif berfungsi: Apakah Curian ROC? dan apa itu kurva lif?.
Menguji beberapa model dan introspecting mereka juga boleh memberi cadangan tentang ciri-ciri untuk mengubah untuk penciptaan ciri atau ciri yang keluar apabila anda membuat pilihan ciri.
Model rata-rata
Pembelajaran mesin melibatkan membina banyak model dan menghasilkan banyak ramalan yang berbeza, semuanya dengan persembahan ralat yang diharapkan. Ia mungkin mengejutkan anda untuk mengetahui bahawa anda boleh mendapatkan hasil yang lebih baik dengan rata-rata model bersama-sama. Prinsipnya agak mudah: Anggaran varians adalah rawak, jadi dengan mensasarkan banyak model yang berbeza, anda dapat meningkatkan isyarat dan menolak bunyi yang sering membatalkannya.
Kadangkala hasil dari algoritma yang berfungsi dengan baik, bercampur dengan hasil dari algoritma yang lebih mudah yang tidak berfungsi juga, dapat menghasilkan prediksi yang lebih baik daripada menggunakan algoritma tunggal.Jangan meremehkan sumbangan yang diberikan dari model yang lebih mudah, seperti model linear, apabila anda purata hasilnya dengan output daripada algoritma yang lebih canggih, seperti meningkatkan kecerunan.
Model menyusun
Untuk alasan yang sama yang membuat kerja rata, susunan juga boleh memberikan anda prestasi yang lebih baik. Dalam menyusun, anda membina model pembelajaran mesin anda dalam dua peringkat. Pada mulanya teknik ini meramalkan pelbagai hasil menggunakan algoritma yang berbeza, dengan semua mereka belajar dari ciri-ciri yang ada dalam data anda. Semasa fasa kedua, bukannya menyediakan ciri-ciri yang model baru akan belajar, anda memberikan model itu dengan ramalan yang lain, model yang dilatih sebelumnya.
Menggunakan pendekatan dua peringkat adalah wajar apabila meneka fungsi sasaran kompleks. Anda boleh menghitung mereka hanya dengan menggunakan model berganda bersama-sama dan kemudian dengan menggabungkan hasil pendaraban dengan cara pintar. Anda boleh menggunakan regresi logistik mudah atau ensemble pokok rumit sebagai model peringkat kedua.
Pertandingan Netflix menyediakan bukti dan ilustrasi terperinci tentang bagaimana model heterogen boleh disusun bersama untuk membentuk model yang lebih kuat. Walau bagaimanapun, melaksanakan penyelesaian ini sebagai aplikasi kerja boleh menjadi rumit.
Menggunakan kejuruteraan ciri
Jika anda percaya bahawa berat sebelah masih mempengaruhi model anda, anda mempunyai sedikit pilihan tetapi untuk membuat ciri-ciri baru yang meningkatkan prestasi model. Setiap ciri baru boleh meneka tindak sasaran lebih mudah.
Penciptaan ciri automatik mungkin dilakukan dengan menggunakan pengembangan polinomial atau kelas mesin vektor sokongan algoritma pembelajaran mesin. Mesin vektor sokongan secara automatik boleh mencari ciri-ciri yang lebih baik di ruang ciri dimensi yang lebih tinggi dengan cara yang cepat dan memori komputasi optimum.
Walau bagaimanapun, tiada apa yang benar-benar boleh menggantikan kepakaran dan pemahaman anda tentang kaedah yang diperlukan untuk menyelesaikan masalah data yang algoritma cuba untuk belajar. Anda boleh membuat ciri berdasarkan pengetahuan dan idea anda tentang bagaimana keadaan bekerja di dunia. Manusia masih tidak terkalahkan dalam berbuat demikian, dan mesin tidak dapat menggantikannya dengan mudah.
Memilih ciri dan contoh
Jika varians anggaran adalah tinggi dan algoritma anda bergantung kepada banyak ciri, anda perlu memotong beberapa ciri untuk mendapatkan hasil yang lebih baik. Dalam konteks ini, mengurangkan bilangan ciri dalam matriks data anda dengan memilih yang mempunyai nilai ramalan tertinggi adalah dinasihatkan.
Apabila bekerja dengan model linear, mesin vektor sokongan linier, atau rangkaian saraf, pengaturcaraan sentiasa menjadi pilihan. Kedua-dua L1 dan L2 dapat mengurangkan pengaruh pemboleh ubah berlebihan atau bahkan menghapusnya dari model. Pemilihan kestabilan memanfaatkan keupayaan L1 untuk mengecualikan pemboleh ubah kurang berguna. Teknik ini menyertakan data latihan untuk mengesahkan pengecualian.
Anda boleh mengetahui lebih lanjut mengenai pemilihan kestabilan dengan melihat contoh di laman web Scikit-learn. Di samping itu, anda boleh mengamalkan menggunakan fungsi RandomizedLogisticRegression dan RandomizedLasso Scikit dalam modul linear_model.
Mencari lebih banyak data
Setelah mencuba semua cadangan sebelumnya, anda mungkin masih mempunyai variasi ramalan yang tinggi untuk ditangani. Dalam kes ini, satu-satunya pilihan anda adalah untuk meningkatkan saiz set latihan anda. Cuba meningkatkan sampel anda dengan menyediakan data baru, yang boleh diterjemahkan ke dalam kes-kes baru atau ciri-ciri baru.
Jika anda mahu menambahkan lebih banyak kes, lihat saja sama ada anda mempunyai data yang sama di tangan. Sekiranya anda ingin menambah ciri-ciri baru, cari sumber data sumber terbuka, jika mungkin, untuk memadankan data anda dengan entrinya. Satu lagi cara terbaik untuk mendapatkan kedua-dua kes baru dan ciri-ciri baru adalah dengan mengikis data dari web. Seringkali, data tersedia antara sumber yang berlainan atau melalui antara muka pengaturcaraan aplikasi (API). Contohnya, Google API menawarkan banyak sumber maklumat geografi dan perniagaan.