[ad_1]
Dibutuhkan lebih dari sekadar membuat prediksi dan pemasangan version untuk algoritma pembelajaran mesin menjadi semakin akurat. Teknik rekayasa dan ensemble telah digunakan oleh sebagian besar version yang sukses dalam bisnis atau kompetisi untuk meningkatkan kinerja mereka. Dibandingkan dengan rekayasa fitur, strategi ini lebih sederhana untuk digunakan, itulah sebabnya mereka dapatkan popularitas.
ADVERTISEMENT
SCROLL TO RESUME CONTENT
Apa itu peningkatan gradien?
Peningkatan gradien adalah algoritma gradien fungsional yang berulang kali untuk membuat pilihan fungsi yang mengarah ke arah hipotesis yang lemah atau gradien negatif dengan begitu bisa meminimalkan fungsi kerugian. Klasifikasi penambah gradien menggabungkan beberapa version pembelajaran yang lemah untuk menghasilkan version prediksi yang kuat.
Baca lebih lanjut: Apa yang dipelajari Scikit?
Meningkatkan gradien dalam klasifikasi
Peningkatan gradien terdiri dari tiga bagian penting:
Fungsi kerugian
Tujuan fungsi kerugian adalah untuk menghitung seberapa baik version memprediksi, mengingat information yang tersedia. Tergantung pada masalah tertentu yang dihadapi, ini mungkin saja berubah.
Pelajar yang lemah
Pelajar yang lemah mengklasifikasikan information, namun itu membuat sejumlah besar kesalahan dalam melakukannya. Biasanya, ini adalah pohon keputusan.
Version aditif
Ini adalah bagaimana pohon ditambahkan secara bertahap, iteratif, dan berurutan. Anda harus segera lebih dekat dengan version akhir Anda dengan setiap iterasi.
Langkah untuk meningkatkan gradien
Klasifikasi penambah gradien membutuhkan langkah -langkah ini:
- Sesuai dengan version
- Menyesuaikan hiperparameter dan parameter version.
- Membuat perkiraan
- Menafsirkan temuan
Pemahaman intuitif:
Memvisualisasikan peningkatan gradien
1. Metode ini akan dapatkan log peluang untuk membuat prediksi awal tentang information. Biasanya, ini adalah rasio jumlah nilai yang benar dengan nilai palsu.
2. Andai Anda mempunyai dataset enam kejadian cancer, dengan empat orang dengan cancer dan tiga yang tidak menderita, maka log (peluang) sama dengan log (4/3) 1.3, dan orang yang bebas dari cancer akan mempunyai nilai 0. Orang yang menderita cancer akan mempunyai nilai 1.
3. Untuk membuat prediksi, Anda harus segera terlebih dahulu mengonversi log (peluang) menjadi probabilitas dengan bantuan fungsi logistik. Di sini, hal itu akan sekitar 1,3, sama dengan nilai log (peluang) 1,3
4. Sebab lebih besar sekali dari 0,5, algoritma akan memakai 1,3 sebagai estimasi baseline untuk setiap kejadian.
E * LOG (Odds) / (1 + E * Log (Odds))
5. Formulation di atas akan menyelesaikan residu untuk setiap kejadian dalam set pelatihan.
6. Setelah memberhentikan ini, ia membangun pohon keputusan untuk memperkirakan estimasi residu.
7. Jumlah maksimum daun bisa digunakan saat membuat pohon keputusan. Ini menghasilkan dua hasil potensial:
- Beberapa contoh menjadi daun yang sama.
- Daunnya bukan satu contoh.
Anda harus segera memakai rumus untuk memodifikasi nilai -nilai ini di sini:
Σresidual / prob sebelumnya (1 – prob sebelumnya))
8. Anda sekarang harus segera memberhentikan dua hal:
- Mendapatkan prakiraan log untuk setiap example set pelatihan.
- Ubah ramalan menjadi probabilitas.
9. Formulation untuk menghasilkan prediksi adalah sebagai berikut:
base_log_odds + (learning_rate * nilai residu yang diperkirakan)
Pemahaman matematika
1. Inisialisasi version dengan nilai konstan:
Fo (x) = argmini = 1nl (yi,
Untuk m = 1 ke m:
- Hitung residu rim = l (yi, f (x) = fm-1 (x) f (f (xi)
untuk i = 1, …, n
- Latih pohon regresi dengan fitur x terhadap r dan buat alasan simpul terminal
R untuk j = 1, …, jm
- Hitung JM = argminxirjml (yi, fm-1 (xi)+) untuk j = 1, …… jm
- Perbarui version:
Fm (x) = fm-1 (x)+vj = 1jmjm1 (xrjm)
Klasifikasi penambah gradien yang berbeda
Sistem penambah peningkatan bisa dengan mudah overfit pada kumpulan information pelatihan; Tetapi, overfitting bisa dicegah dengan memakai berbagai batasan atau teknik regularisasi yang meningkatkan kinerja algoritma.
Pembelajaran yang dihukum
Kendala tertentu bisa mencegah overfitting tergantung pada topologi pohon keputusan. Pohon regresi adalah alat yang bisa digunakan dalam algoritma meningkatkan gradien.
Kendala pohon
Dengan membatasi jumlah pengamatan masing -masing perpecahan, jumlah pengamatan yang dilatih, kedalaman pohon, dan jumlah daun atau node di pohon, Anda bisa mengontrol gradien.
Pengambilan sampel acak/peningkatan stokastik
Peningkatan gradien stokastik, metode yang melibatkan pemilihan secara acak dari set information pelatihan, juga bisa membantu menghindari overfitting.
Penyusutan/pembaruan tertimbang
Kontribusi pohon bisa diblokir atau diperlambat memakai metode yang dikenal sebagai penyusutan sebab perkiraan masing -masing pohon ditambahkan bersama -sama.
Implementasi Peningkatan Gradien di Python
|
Impor panda sebagai PD impor numpy sebagai np Dari sklearn.metrics impor classification_report dari sklearn.datasets impor load_breast_cancer dari sklearn. dari sklearn.model_selection impor train_test_split |
Mengimpor perpustakaan penting, Anda harus segera melanjutkan adalah langkah awal. Kumpulan information yang digunakan dalam contoh ini termasuk dataset cancer, educate _test break up, peningkatan gradien, laporan klasifikasi, dan numpy.
|
df = pdataFrame (load_breast_cancer () ('information'), kolom = load_breast_cancer () ('feature_names')) df ('y') = load_breast_cancer () ('goal') df.head (5) |
Langkah berikut adalah memastikan bahwa Anda memakai pustaka PANDAS saat bekerja dengan bingkai information.
|
X, y = df.drop ('y', sumbu = 1), df.y Test_Size = 0,30 # Mengambil 70:30 Pelatihan dan Tes Set seed = 7 # unggulan nomor acak untuk pengulangan kode X_train, x_test, y_train, y_test = train_test_split (x, y, test_size = test_size, acak_state = seed) |
Fungsi break up tes kereta membagi dataset menjadi bagian -bagian pengujian dan pelatihan.
|
gradient_booster = gradientboosttingclassifier (learning_rate = 0,1) Klasifikasi penambah gradien diperlukan untuk menerapkan peningkatan gradien. gradient_booster.have compatibility (x_train, y_train) Dataset pelatihan sekarang harus segera digunakan agar sesuai dengan version; Andai information dipasang dengan tepat, hal itu akan menghasilkan akurasi yang baik. Print (classification_report (y_val, gradient_booster.are expecting (x_val))))) Gunakan Modul Python bernama Laporan Klasifikasi untuk memverifikasi kebenaran dan kualitas laporan akurasi (). |
Anda akan mengamati bahwa version khusus ini memberi Anda akurasi 99%.
Membandingkan dan kontras meningkatkan dan meningkatkan gradien
- Adaboost adalah algoritma peningkatan pertama yang dibuat dengan fungsi kerugian tertentu. Peningkatan gradien adalah teknik umum yang membantu dalam mencari tau perkiraan untuk jawaban masalah pemodelan aditif.
- Adaboost bekerja paling baik dengan pelajar yang lemah dan meminimalkan fungsi kerugian yang keterkaitan dengan kesalahan klasifikasi apa pun. Masalah fungsi kerugian yang bisa dibedakan diselesaikannya dengan memakai penambah gradien.
- Peningkatan gradien memakai gradien untuk mengidentifikasi kelemahan pelajar yang lemah, untuk saat ini Adaboost memakai titik information dengan berat tinggi untuk melakukan hal yang sama.
Keuntungan dan Kerugian dari Peningkatan Gradien
Keuntungan:
- Tak henti-hentinya mempunyai akurasi peramalan sesuatu yang luar biasa.
- Sejumlah besar pilihan untuk penyesuaian hiperparameter dan kemampuan untuk mengoptimalkan berbagai fungsi kerugian.
- Ini tak henti-hentinya bekerja dengan baik dengan nilai numerik dan kategorikal tanpa pra-pemrosesan enter.
- Berurusan dengan information yang hilang; Imputasi tidak perlu.
Kerugian:
- Klasifikasi penambah gradien akan terus memulihkan untuk mengurangi semua ketidakakuratan. Ini bisa dikarenakan overfitting dan penekanan berlebihan pada outlier.
- Mahal untuk dihitung sebab tak henti-hentinya membutuhkan dengan jumlah besar pohon (> 1000), yang dapat memori dan memakan waktu.
- Sebab tingkat fleksibilitas yang tinggi, sejumlah besar variabel berinteraksi dan secara signifikan mempengaruhi bagaimana teknik berperilaku.
- Kurang interpretatif, meski demikian ini bisa dengan mudah dikoreksi dengan beberapa alat.
Kesimpulan
Dimungkinkan untuk memakai classifier meningkatkan gradien, yang merupakan algoritma yang kuat, untuk masalah klasifikasi dan regresi. Pada set information yang sangat rumit, version penambah gradien bisa berkinerja sangat baik, namun mereka juga rentan terhadap overfitting, yang bisa dihindari memakai beberapa teknik.
Anda bisa mengejar karir di bidang Ilmu Information dengan menguasai topik -topik seperti R, Python, Device Finding out, Tableau, Hadoop, dan Spark dengan bantuan program Grasp Ilmuwan Information Intensif ini. Program ini ditawarkan bekerja sama dengan IBM dan Purdue College. Ini termasuk sesi langsung dari para mahir luar, laboratorium, dan proyek bisnis.
Pelajar kami juga bertanya
1. Dapatkah peningkatan gradien digunakan untuk klasifikasi?
Ya, peningkatan gradien bisa digunakan untuk klasifikasi.
2. Apa itu algoritma penambah gradien?
Metode pembelajaran mesin yang disebut penambah gradien digunakan dalam masalah regresi dan klasifikasi. Ini memberikan version prediksi dalam bentuk ansambel version prediksi lemah seperti pohon.
3. Metode mana yang digunakan dalam version untuk classifier meningkatkan gradien?
Algoritma Adaboostting digunakan oleh classifier meningkatkan gradien. Pengklasifikasi dan enter tertimbang kemudian dihitung ulang setelah digabungkan dengan minimalisasi tertimbang.
4. Apakah gradien meningkatkan classifier adalah yang diawasi atau tidak diawasi?
Ini adalah metode pembelajaran mesin yang diawasi.
5. Apa bedanya XGBoost dari penambah gradien?
XGBOOSTIS Versi yang lebih diatur dari peningkatan gradien. Andai dibandingkan dengan peningkatan gradien, XGBoost menawarkan kinerja sesuatu yang luar biasa. Ini mempunyai kurva belajar yang cepat dan bisa memparalelkan di seluruh cluster.
6. Apa perbedaan antara peningkatan gradien dan hutan acak?
Mereka berbeda satu sama lain dengan dua faktor kunci. Peningkatan gradien dilatih secara progresif, satu pohon pada satu waktu, dengan masing -masing dilatih untuk memperbaiki kekurangan yang sebelumnya. Alternatifnya, kami membangun setiap pohon secara terpisah di hutan acak.
(TagStotranslate) Algoritma penambah gradien
[ad_2]
Sumber: simplilearn-com








