Meningkatkan dalam Pembelajaran Mesin: Apa itu, Fungsi, Jenis & Fitur
Diterbitkan: 2020-05-29Meningkatkan dalam Pembelajaran Mesin adalah topik penting. Banyak analis bingung tentang arti istilah ini. Karena itulah, dalam artikel ini, kita akan mengetahui apa yang dimaksud dengan peningkatan Pembelajaran Mesin dan cara kerjanya. Boosting membantu model ML dalam meningkatkan akurasi prediksinya. Mari kita bahas algoritma ini secara rinci:
Daftar isi
Apa itu Boosting dalam Machine Learning?
Sebelum kita membahas ' Peningkatan Pembelajaran Mesin ', kita harus terlebih dahulu mempertimbangkan definisi istilah ini. Meningkatkan berarti 'untuk mendorong atau membantu sesuatu untuk meningkatkan.' Peningkatan pembelajaran mesin melakukan hal yang persis sama seperti memberdayakan model pembelajaran mesin dan meningkatkan akurasinya. Karena alasan ini, ini adalah algoritma yang populer dalam ilmu data.
Boosting dalam ML mengacu pada algoritme yang mengubah model pembelajaran yang lemah menjadi model yang kuat. Misalkan kita harus mengklasifikasikan email dalam kategori 'Spam' dan 'Bukan Spam'. Kita dapat mengambil pendekatan berikut untuk membuat perbedaan ini:
- Jika email hanya memiliki satu file gambar, itu adalah spam (karena gambar biasanya promosi)
- Jika email berisi frasa yang mirip dengan 'Anda telah memenangkan lotre', itu adalah spam.
- Jika email hanya berisi banyak tautan, itu adalah spam.
- Jika email berasal dari sumber yang ada di daftar kontak kami, itu bukan spam.
Sekarang, meskipun kami memiliki aturan untuk klasifikasi, menurut Anda apakah aturan itu cukup kuat secara individual untuk mengidentifikasi apakah email adalah spam atau bukan? Mereka tidak. Secara individual, aturan ini lemah dan tidak cukup untuk mengklasifikasikan email dalam 'Bukan Spam' atau 'Spam'. Kita perlu membuatnya lebih kuat, dan kita bisa melakukannya dengan menggunakan rata-rata tertimbang atau mempertimbangkan prediksi suara yang lebih tinggi.
Jadi, dalam kasus ini, kami memiliki lima pengklasifikasi, di mana tiga pengklasifikasi menandai email sebagai 'Spam', oleh karena itu, kami akan menganggap email sebagai 'Spam' secara default, karena kelas ini memiliki suara yang lebih tinggi daripada 'Bukan Spam' kategori.
Contoh ini adalah untuk memberi Anda gambaran tentang apa itu algoritma boosting. Mereka lebih kompleks dari ini.

Lihat: 25 Pertanyaan & Jawaban Wawancara Pembelajaran Mesin
Bagaimana mereka bekerja?
Contoh di atas telah menunjukkan kepada kita bahwa boosting menggabungkan pelajar yang lemah untuk membentuk aturan yang ketat. Jadi, bagaimana Anda mengidentifikasi aturan yang lemah ini? Untuk menemukan aturan yang tidak pasti, Anda harus menggunakan algoritme pembelajaran berbasis instans. Setiap kali Anda menerapkan algoritma pembelajaran dasar, itu akan menghasilkan aturan prediksi yang lemah. Anda akan mengulangi proses ini untuk beberapa iterasi, dan dengan setiap iterasi, algoritme peningkatan akan menggabungkan aturan yang lemah untuk membentuk aturan yang kuat.
Algoritma boosting memilih distribusi yang tepat untuk setiap iterasi melalui beberapa langkah. Pertama, itu akan mengambil semua berbagai alokasi dan menetapkan bobot yang sama. Jika algoritma pembelajaran dasar pertama membuat kesalahan, itu akan menambah bobot lebih pada pengamatan tersebut. Setelah menetapkan bobot, kami melanjutkan ke langkah berikutnya.
Pada langkah ini, kami akan terus mengulangi prosesnya sampai kami meningkatkan akurasi algoritme kami. Kami kemudian akan menggabungkan output dari pelajar yang lemah dan membuat yang kuat yang akan memberdayakan model kami dan membantunya dalam membuat prediksi yang lebih baik. Algoritma boosting lebih berfokus pada asumsi yang menyebabkan kesalahan tinggi karena aturannya yang lemah.
Pelajari lebih lanjut: 5 Aplikasi Terobosan Pembelajaran Mesin
Berbagai Jenis Algoritma Peningkat
Algoritme peningkatan dapat menggunakan berbagai jenis mesin yang mendasarinya, termasuk pemaksimal margin, stempel keputusan, dan lainnya. Terutama, ada tiga jenis algoritma peningkatan Pembelajaran Mesin:
- Peningkatan Adaptif (juga dikenal sebagai AdaBoosta)
- Meningkatkan Gradien
- XGBoost
Kami akan membahas dua yang pertama, AdaBoost dan Gradient Boosting, secara singkat di artikel ini. XGBoost adalah topik yang jauh lebih rumit, yang akan kita bahas di artikel lain.
1. Peningkatan Adaptif
Misalkan Anda memiliki sebuah kotak yang memiliki lima plus dan lima minus. Tugas Anda adalah mengklasifikasikannya dan meletakkannya di tabel yang berbeda.
Pada iterasi pertama, Anda menetapkan bobot yang sama untuk setiap titik data dan menerapkan tunggul keputusan di dalam kotak. Namun, garis hanya memisahkan dua plus dari grup, dan yang lainnya tetap bersama. Tunggul keputusan Anda (yang merupakan garis yang melewati kotak yang seharusnya kami), gagal memprediksi semua titik data dengan benar dan telah menempatkan tiga plus dengan minus.

Pada iterasi berikutnya, kami memberikan bobot lebih pada tiga nilai plus yang telah kami lewatkan sebelumnya; tapi kali ini, keputusan buntung hanya memisahkan dua menit dari grup. Kami akan memberikan bobot lebih pada minus yang kami lewatkan dalam iterasi ini dan ulangi prosesnya. Setelah satu atau dua pengulangan, kita dapat menggabungkan beberapa hasil ini untuk menghasilkan satu aturan prediksi yang ketat.
AdaBoost bekerja seperti ini. Ini pertama memprediksi dengan menggunakan data asli dan memberikan bobot yang sama untuk setiap titik. Kemudian lebih mementingkan pengamatan yang gagal diprediksi oleh pembelajar pertama dengan benar. Ini mengulangi proses sampai mencapai batas akurasi model.
Anda dapat menggunakan stempel keputusan serta algoritme Pembelajaran Mesin lainnya dengan Adaboost.
Berikut adalah contoh AdaBoost dengan Python:
dari sklearn.ensemble impor AdaBoostClassifier
dari sklearn.datasets impor make_classification
X,Y = make_classification(n_samples=100, n_features=2, n_informative=2,
n_redundant=0, n_repeated=0, random_state=102)
clf = AdaBoostClassifier(n_estimators=4, random_state=0, algoritma='SAMME')
clf.fit(X, Y)
2. Peningkatan Gradien
Gradient Boosting menggunakan metode penurunan gradien untuk mengurangi fungsi kerugian dari seluruh operasi. Penurunan gradien adalah algoritma optimasi orde pertama yang menemukan minimum lokal dari suatu fungsi (fungsi terdiferensiasi). Peningkatan gradien secara berurutan melatih beberapa model, dan dapat menyesuaikan model baru untuk mendapatkan perkiraan respons yang lebih baik.
Ini membangun pelajar dasar baru yang dapat berkorelasi dengan gradien negatif fungsi kerugian dan yang terhubung ke seluruh sistem. Di Python, Anda harus menggunakan Gradient Tree Boosting (juga dikenal sebagai GBRT). Anda dapat menggunakannya untuk klasifikasi serta masalah regresi.
Berikut ini contoh Gradient Tree Boosting dengan Python:
dari sklearn.ensemble impor GradientBoostingRegressor
model = GradientBoostingRegressor(n_estimators=3,learning_rate=1)
model.fit(X,Y)
# untuk klasifikasi
dari sklearn.ensemble impor GradientBoostingClassifier
model = GradientBoostingClassifier()

model.fit(X,Y)
Fitur Meningkatkan dalam Pembelajaran Mesin
Boosting menawarkan banyak keuntungan, dan seperti algoritme lainnya, ia juga memiliki keterbatasan:
- Menafsirkan prediksi boosting cukup alami karena merupakan model ensemble.
- Ini memilih fitur secara implisit, yang merupakan keuntungan lain dari algoritma ini.
- Kekuatan prediksi algoritma boosting lebih dapat diandalkan daripada pohon keputusan dan bagging.
- Memperbesarnya agak rumit karena setiap penduga dalam peningkatan didasarkan pada penaksir sebelumnya.
Baca juga: Ide Proyek Machine Learning untuk Pemula
Ke mana harus pergi dari sini?
Kami harap Anda menemukan artikel tentang boosting ini bermanfaat. Pertama, kami membahas apa algoritma ini dan bagaimana menyelesaikan masalah Machine Learning. Kemudian kami melihat operasinya dan cara kerjanya.
Kami juga membahas berbagai jenisnya. Kami mengetahui tentang AdaBoost dan Gradient Boosting saat membagikan contoh mereka juga. Jika Anda tertarik untuk mempelajari lebih lanjut tentang pembelajaran mesin, lihat PG Diploma IIIT-B & upGrad dalam Pembelajaran Mesin & AI yang dirancang untuk para profesional yang bekerja dan menawarkan 450+ jam pelatihan ketat, 30+ studi kasus & tugas, IIIT- B Status alumni, 5+ proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.
Bagaimana saya bisa mendefinisikan peningkatan dalam pembelajaran mesin secara sederhana?
Meningkatkan dalam mesin terdiri dari mengacu pada algoritme yang membantu mengubah model pembelajaran yang lemah menjadi model yang kuat. Jika kita ambil contoh mengklasifikasikan email sebagai spam dan bukan spam, ada perbedaan tertentu yang dapat digunakan untuk memudahkan pemahaman. Perbedaan ini dapat didekati ketika email memiliki satu file tunggal, berisi frasa serupa seperti Anda telah memenangkan lotre, berisi banyak tautan, dan bersumber dari daftar kontak.
Bagaimana cara kerja algoritma boosting?
Aturan yang lemah diidentifikasi dengan menggunakan algoritma pembelajaran berbasis instance. Setelah algoritma pembelajaran dasar diterapkan dalam beberapa iterasi, akhirnya menggabungkan aturan yang lemah menjadi satu aturan yang kuat. Algoritma boosting membuat pilihan yang tepat untuk mendistribusikan setiap iterasi melalui beberapa langkah. Setelah mengambil alokasi, itu memberikan bobot yang sama sampai kesalahan dibuat, setelah itu bobot lebih diberikan. Proses ini diulang sampai akurasi yang lebih baik tercapai. Setelah itu, semua output yang lemah digabungkan untuk membuat yang kuat.
Apa saja jenis algoritma boosting dan fitur-fiturnya?
Jenis yang berbeda adalah peningkatan adaptif, peningkatan gradien, dan XGBoost. Boosting memiliki karakteristik seperti memilih fitur secara implisit. Pohon keputusan kurang dapat diandalkan daripada kekuatan prediksi. Selain itu, penskalaan lebih sulit karena penaksir didasarkan pada penaksir sebelumnya. Dan menafsirkan prediksi boost adalah wajar karena merupakan model ensemble.