Klasifikasi dalam Pembelajaran Mesin: Apa Artinya dan Cara Kerjanya
Diterbitkan: 2024-11-20Klasifikasi adalah konsep inti dalam analisis data dan pembelajaran mesin (ML). Panduan ini membahas apa itu klasifikasi dan cara kerjanya, menjelaskan perbedaan antara klasifikasi dan regresi, dan mencakup jenis tugas, algoritme, aplikasi, kelebihan, dan tantangan.
Daftar isi
- Apa itu klasifikasi?
- Klasifikasi vs. regresi
- Jenis tugas klasifikasi di ML
- Algoritma yang digunakan untuk analisis klasifikasi
- Penerapan klasifikasi
- Keuntungan klasifikasi
- Kekurangan klasifikasi
Apa klasifikasi dalam pembelajaran mesin?
Klasifikasi adalah teknik pembelajaran terbimbing dalam pembelajaran mesin yang memprediksi kategori (juga disebut kelas) titik data baru berdasarkan fitur masukan. Algoritma klasifikasi menggunakan data berlabel, dimana kategori yang benar diketahui, untuk mempelajari cara memetakan fitur ke kategori tertentu. Proses ini juga disebut sebagai kategorisasi atau klasifikasi kategoris.
Untuk melakukan klasifikasi, algoritma beroperasi dalam dua fase utama. Selama fase pelatihan, algoritme mempelajari hubungan antara data masukan dan label atau kategori terkait. Setelah dilatih, model memasuki fase inferensi, yang menggunakan pola yang dipelajari untuk mengklasifikasikan data baru yang tidak terlihat dalam aplikasi dunia nyata. Efektivitas klasifikasi sangat bergantung pada cara penanganan fase-fase ini dan kualitas data praproses yang tersedia selama pelatihan.
Memahami bagaimana algoritma klasifikasi mengelola fase-fase ini sangatlah penting. Salah satu perbedaan utamanya adalah cara mereka mendekati pembelajaran. Hal ini membawa kita pada dua strategi berbeda yang mungkin diikuti oleh algoritma klasifikasi: pembelajaran malas dan pembelajaran bersemangat.
Pembelajar yang malas vs. pembelajar yang bersemangat
Algoritme klasifikasi biasanya mengadopsi salah satu dari dua strategi pembelajaran: pembelajaran malas atau pembelajaran bersemangat. Pendekatan-pendekatan ini berbeda secara mendasar dalam hal bagaimana dan kapan model dibangun, sehingga memengaruhi fleksibilitas, efisiensi, dan kasus penggunaan algoritme. Meskipun keduanya bertujuan untuk mengklasifikasikan data, keduanya dilakukan dengan metode kontras yang disesuaikan dengan jenis tugas dan lingkungan berbeda.
Mari kita periksa cara kerja pembelajar yang malas dan bersemangat untuk lebih memahami kekuatan dan kelemahan masing-masing pendekatan.
Pembelajar yang malas
Juga dikenal sebagai pembelajar berbasis instance atau berbasis memori, algoritme pembelajaran malas menyimpan data pelatihan dan menunda pembelajaran aktual hingga kueri perlu diklasifikasikan. Ketika salah satu dari algoritma ini dioperasikan, ia membandingkan titik data baru dengan contoh yang disimpan menggunakan ukuran kesamaan. Kualitas dan kuantitas data yang tersedia secara signifikan memengaruhi keakuratan algoritme, dan akses ke kumpulan data yang lebih besar biasanya akan meningkatkan performanya. Pembelajar yang malas sering kali memprioritaskan data terkini, yang dikenal sebagaibias terkini. Karena mereka belajar secara real-time, mereka bisa lebih lambat dan lebih mahal secara komputasi ketika merespons pertanyaan.
Pembelajar yang malas unggul dalam lingkungan yang dinamis di mana pengambilan keputusan secara real-time sangat penting, dan data terus berkembang. Algoritme ini sangat cocok untuk tugas-tugas di mana informasi baru terus mengalir, dan tidak ada waktu untuk siklus pelatihan ekstensif antar tugas klasifikasi.
Pembelajar yang bersemangat
Sebaliknya, algoritma pembelajaran yang bersemangat memproses semua data pelatihan terlebih dahulu, membangun model sebelum tugas klasifikasi apa pun dilakukan. Fase pembelajaran awal ini biasanya lebih intensif sumber daya dan kompleks, sehingga memungkinkan algoritme mengungkap hubungan yang lebih dalam pada data. Setelah dilatih, pembelajar yang bersemangat tidak memerlukan akses ke data pelatihan asli, sehingga membuatnya sangat efisien selama fase prediksi. Mereka dapat mengklasifikasikan data dengan cepat dan menangani kueri dalam jumlah besar dengan biaya komputasi minimal.
Namun, pembelajar yang bersemangat kurang fleksibel dalam beradaptasi dengan data baru yang real-time. Proses pelatihan mereka yang banyak sumber daya membatasi jumlah data yang dapat mereka tangani, sehingga sulit untuk mengintegrasikan informasi baru tanpa melatih ulang seluruh model.
Nanti di postingan ini, kita akan melihat bagaimana algoritma yang malas dan bersemangat dapat digunakan secara bersamaan untuk pengenalan wajah.
Klasifikasi vs. regresi: Apa bedanya?
Sekarang setelah kita mempelajari cara kerja klasifikasi, penting untuk membedakannya dari teknik pembelajaran terawasi utama lainnya: regresi.
Klasifikasi dan regresi digunakan untuk membuat prediksi berdasarkan data berlabel dari fase pelatihan, namun keduanya berbeda dalam jenis prediksi yang dihasilkannya.
Algoritme klasifikasimemprediksi hasil yang diskrit dan kategoris. Misalnya, dalam sistem klasifikasi email, email mungkin diberi label sebagai “spam” atau “ham” (dimana “ham” mengacu pada email non-spam). Demikian pula, model klasifikasi cuaca mungkin memprediksi “ya”, “tidak”, atau “mungkin” sebagai jawaban atas pertanyaan “Apakah besok akan turun hujan?”
Algoritme regresi, di sisi lain, memprediksi nilai kontinu. Daripada menetapkan data ke dalam kategori, model regresi memperkirakan keluaran numerik. Misalnya, dalam sistem email, model regresi mungkin memprediksi kemungkinan (misalnya, 70%) bahwa sebuah email adalah spam. Untuk model prediksi cuaca, model ini dapat memprediksi perkiraan volume curah hujan, misalnya curah hujan 2 inci.
Meskipun klasifikasi dan regresi memiliki tujuan yang berbeda, terkadang keduanya digunakan bersamaan. Misalnya, regresi mungkin memperkirakan probabilitas yang dimasukkan ke dalam sistem klasifikasi, sehingga meningkatkan akurasi dan rincian prediksi.
Jenis tugas klasifikasi di ML
Tugas klasifikasi bervariasi, masing-masing disesuaikan untuk tipe data dan tantangan tertentu. Bergantung pada kompleksitas tugas Anda dan sifat kategori, Anda dapat menggunakan metode berbeda: klasifikasi biner, multikelas, multilabel, atau tidak seimbang. Mari selami lebih dalam setiap pendekatan di bawah ini.
Klasifikasi biner
Klasifikasi biner adalah tugas mendasar yang mengurutkan data menjadi dua kategori, seperti benar/salah atau ya/tidak. Ini banyak diteliti dan diterapkan di berbagai bidang seperti deteksi penipuan, analisis sentimen, diagnosis medis, dan pemfilteran spam. Meskipun klasifikasi biner berhubungan dengan dua kelas, kategorisasi yang lebih kompleks dapat ditangani dengan memecah masalah menjadi beberapa tugas biner. Misalnya, untuk mengklasifikasikan data menjadi “apel”, “jeruk”, “pisang”, dan “lainnya”, pengklasifikasi biner terpisah dapat digunakan untuk menjawab “Apakah itu apel?”, “Apakah itu jeruk?”, dan “ Apakah itu pisang?”
Klasifikasi multikelas
Klasifikasi multikelas, juga dikenal sebagai klasifikasi multinomial, dirancang untuk tugas yang datanya diklasifikasikan ke dalam tiga kategori atau lebih. Berbeda dengan model yang menguraikan masalah menjadi beberapa tugas klasifikasi biner, algoritma multikelas dibuat untuk menangani skenario seperti itu dengan lebih efisien. Algoritme ini biasanya lebih kompleks, memerlukan kumpulan data yang lebih besar, dan memerlukan lebih banyak sumber daya untuk menyiapkannya dibandingkan sistem biner, namun sering kali memberikan kinerja yang lebih baik setelah diterapkan.
Klasifikasi multilabel
Klasifikasi multilabel, juga dikenal sebagai klasifikasi multi-output, memberikan lebih dari satu label pada suatu bagian data. Hal ini sering dikacaukan dengan klasifikasi multikelas, di mana setiap instance hanya diberi satu label dari beberapa kategori.
Untuk memperjelas perbedaannya: Algoritme klasifikasi biner dapat mengurutkan gambar ke dalam dua kategori—gambar dengan buah dan gambar tanpa buah. Sistem multikelas kemudian dapat mengklasifikasikan gambar buah ke dalam kategori tertentu seperti pisang, apel, atau jeruk. Klasifikasi multilabel, sebaliknya, memungkinkan pemberian banyak label pada satu gambar. Misalnya, satu gambar dapat diklasifikasikan sebagai “buah” dan “pisang”, dan buah tersebut juga dapat diberi label “matang” atau “belum matang”. Hal ini memungkinkan sistem memperhitungkan beberapa karakteristik independen secara bersamaan, seperti (“tidak ada buah”, “tidak ada pisang”, “tidak ada yang matang”), (“buah”, “pisang”, “matang”, atau (“buah, ” “pisang”, “tidak ada yang matang”).
Klasifikasi tidak seimbang
Seringkali, data yang tersedia untuk pelatihan tidak mewakili sebaran data yang terlihat di dunia nyata. Misalnya, suatu algoritme mungkin hanya memiliki akses ke 100 data pengguna selama pelatihan, yang mana 50% dari mereka melakukan pembelian (padahal kenyataannya, hanya 10% pengguna yang melakukan pembelian). Algoritme klasifikasi yang tidak seimbang mengatasi masalah ini selama pembelajaran dengan menggunakan teknik oversampling (menggunakan kembali beberapa bagian data pelatihan) dan undersampling (menggunakan beberapa bagian data pelatihan secara kurang). Hal ini menyebabkan algoritme pembelajaran mempelajari bahwa subset data lebih sering atau lebih jarang muncul di dunia nyata dibandingkan dengan data pelatihan. Teknik-teknik ini biasanya merupakan semacam optimasi pelatihan karena memungkinkan sistem belajar dari data yang jauh lebih sedikit daripada yang diperlukan untuk mempelajari sebaliknya.
Terkadang mengumpulkan cukup data untuk mencerminkan kenyataan itu sulit atau memakan waktu, dan jenis pengoptimalan ini memungkinkan model dilatih lebih cepat. Di lain waktu, jumlah data sangat besar sehingga algoritma klasifikasi membutuhkan waktu terlalu lama untuk melatih semuanya, dan algoritma yang tidak seimbang memungkinkan mereka untuk dilatih.
Algoritma yang digunakan untuk analisis klasifikasi
Algoritme klasifikasi telah dipelajari dengan baik, dan tidak ada satu pun bentuk klasifikasi yang ditemukan cocok secara universal untuk semua situasi. Hasilnya, terdapat banyak perangkat algoritma klasifikasi yang terkenal. Di bawah ini, kami menjelaskan beberapa yang paling umum.
Prediktor linier
Prediktor linier mengacu pada algoritme yang memprediksi hasil berdasarkan kombinasi linier fitur masukan. Metode ini banyak digunakan dalam tugas klasifikasi karena mudah dan efektif.
Regresi logistik
Regresi logistik adalah salah satu prediktor linier yang paling umum digunakan, khususnya dalam klasifikasi biner. Ini menghitung probabilitas suatu hasil berdasarkan variabel yang diamati menggunakan fungsi logistik (atau sigmoid). Kelas dengan probabilitas tertinggi dipilih sebagai hasil prediksi, asalkan melebihi ambang batas kepercayaan. Jika tidak ada hasil yang memenuhi ambang batas ini, hasilnya mungkin ditandai sebagai “tidak yakin” atau “ragu-ragu”.
Regresi linier
Regresi linier biasanya digunakan untuk kasus penggunaan regresi, dan menghasilkan nilai kontinu. Namun, nilai dapat digunakan kembali untuk klasifikasi dengan menambahkan filter atau peta untuk mengubah keluarannya menjadi kelas. Jika, misalnya, Anda telah melatih model regresi linier yang menghasilkan prediksi volume hujan, model yang sama dapat menjadi pengklasifikasi biner “hari hujan”/”bukan hari hujan” dengan menetapkan ambang batas secara sewenang-wenang. Secara default, hanya tanda hasil regresi yang digunakan saat mengonversi model ke pengklasifikasi biner (0 dan angka positif dipetakan ke jawaban “ya” atau “+1”, dan angka negatif ke jawaban “tidak” atau “- 1”). Namun, peta bisa lebih kompleks dan disesuaikan dengan kasus penggunaan. Misalnya, Anda mungkin memutuskan bahwa prediksi curah hujan di atas lima ml akan dianggap sebagai “hari hujan”, dan prediksi di bawah ini akan memprediksi sebaliknya.
Analisis diskriminan
Analisis diskriminan linier (LDA) adalah prediktor linier penting lainnya yang digunakan untuk klasifikasi. LDA bekerja dengan menemukan kombinasi fitur linier yang paling baik dalam memisahkan kelas yang berbeda. Diasumsikan bahwa observasi bersifat independen dan terdistribusi normal. Meskipun LDA sering digunakan untuk reduksi dimensi, LDA juga merupakan alat klasifikasi canggih yang menugaskan observasi ke kelas-kelas menggunakan fungsi diskriminan—fungsi yang mengukur perbedaan antar kelas.
Klasifikasi Bayesian
Algoritme klasifikasi Bayesian menggunakan teorema Bayes untuk menghitung probabilitas posterior setiap kelas berdasarkan data observasi. Algoritme ini mengasumsikan sifat statistik tertentu dari data, dan kinerjanya bergantung pada seberapa baik asumsi tersebut berlaku. Naive Bayes, misalnya, berasumsi bahwa fitur-fiturnya independen secara kondisional berdasarkan kelasnya.
klasifikasi k-NN
Algoritma k-nearest neighbour (k-NN) adalah metode klasifikasi lain yang banyak digunakan. Meskipun dapat diterapkan pada tugas regresi dan klasifikasi, ini paling sering digunakan untuk klasifikasi. Algoritme menugaskan sebuah kelas ke titik data baru berdasarkan kelas dari k tetangga terdekatnya (di mana k adalah variabel), menggunakan perhitungan jarak untuk menentukan kedekatan. Algoritma k-NN sederhana, efisien, dan efektif bila terdapat struktur lokal pada datanya. Kinerjanya bergantung pada pemilihan metrik jarak yang sesuai dan memastikan data memiliki pola lokal yang dapat membantu dalam klasifikasi
Pohon keputusan dan hutan acak
Pohon keputusan adalah algoritma populer yang digunakan untuk tugas klasifikasi. Mereka bekerja dengan membagi data secara rekursif berdasarkan nilai fitur untuk membuat keputusan tentang kelas mana yang termasuk dalam observasi tertentu. Namun, pohon keputusan cenderung menyesuaikan data pelatihan, sehingga menangkap gangguan dan menyebabkan variansi yang tinggi. Overfitting ini mengakibatkan generalisasi yang buruk terhadap data baru.
Untuk mengurangi overfitting, hutan acak digunakan sebagai metode ansambel. Hutan acak melatih beberapa pohon keputusan secara paralel pada subkumpulan data acak, dan setiap pohon membuat prediksinya sendiri. Prediksi akhir dibuat dengan menggabungkan prediksi semua pohon, biasanya melalui pemungutan suara mayoritas. Proses ini, yang dikenal sebagai “bagging” (singkatan dari agregasi bootstrap), mengurangi varians dan meningkatkan kemampuan model untuk menggeneralisasi data yang tidak terlihat. Hutan acak efektif dalam menyeimbangkan bias dan varians, menjadikannya algoritma siap pakai yang kuat untuk tugas klasifikasi.
Penerapan klasifikasi
Algoritma klasifikasi banyak digunakan di berbagai bidang untuk memecahkan masalah dunia nyata dengan mengkategorikan data ke dalam kelompok yang telah ditentukan. Berikut adalah beberapa aplikasi umum klasifikasi, termasuk pengenalan wajah, klasifikasi dokumen, dan prediksi perilaku pelanggan.
Pengenalan wajah
Sistem pengenalan wajah mencocokkan wajah dalam video atau foto secara real time dengan database wajah yang dikenal. Mereka biasanya digunakan untuk otentikasi.
Sistem buka kunci ponsel, misalnya, akan dimulai dengan menggunakan sistem deteksi wajah, yang mengambil gambar beresolusi rendah dari kamera yang diarahkan ke wajah setiap beberapa detik, dan kemudian menyimpulkan apakah ada wajah di dalam gambar. Sistem deteksi wajah bisa menjadi pengklasifikasi biner yang terlatih dan bersemangat yang menjawab pertanyaan “Apakah ada wajah atau tidak?”
Pengklasifikasi yang malas akan mengikuti pertanyaan “Apakah ada wajah?” penggolong. Ini akan menggunakan semua foto dan selfie pemilik ponsel untuk menerapkan tugas klasifikasi biner terpisah dan menjawab pertanyaan “Apakah wajah ini milik orang yang diizinkan membuka kunci ponsel?” Jika jawabannya ya, ponsel akan terbuka; jika jawabannya tidak, maka tidak akan terjadi.
Klasifikasi dokumen
Klasifikasi dokumen adalah bagian penting dari strategi pengelolaan data modern. Pengklasifikasi berbasis ML membuat katalog dan mengklasifikasikan sejumlah besar dokumen yang disimpan, mendukung upaya pengindeksan dan pencarian yang menjadikan dokumen dan kontennya lebih berguna.
Pekerjaan klasifikasi dokumen diawali dengan prapemrosesan dokumen. Isinya dianalisis dan diubah menjadi representasi numerik (karena angka lebih mudah diproses). Fitur dokumen penting, seperti persamaan matematika, gambar yang disematkan, dan bahasa dokumen, diekstraksi dari dokumen dan disorot untuk dipelajari oleh algoritme ML. Ini diikuti oleh tugas pemrosesan serupa lainnya dengan nada yang sama.
Sebagian dokumen kemudian diklasifikasikan dengan tangan, oleh manusia, untuk membuat kumpulan data pelatihan untuk sistem klasifikasi. Setelah dilatih, pengklasifikasi akan membuat katalog dan mengklasifikasikan semua dokumen masuk dengan cepat dan dalam skala besar. Jika ada kesalahan klasifikasi yang terdeteksi, koreksi manual dapat ditambahkan ke materi pelatihan untuk sistem ML. Sesekali, model pengklasifikasi dapat dilatih ulang dengan menambahkan koreksi, dan kinerjanya akan ditingkatkan.
Prediksi perilaku pelanggan
Toko ritel dan e-niaga online mengumpulkan informasi terperinci dan terperinci tentang perilaku pelanggan mereka. Informasi ini dapat digunakan untuk mengkategorikan pelanggan baru dan menjawab pertanyaan seperti “Apakah pelanggan baru ini kemungkinan akan melakukan pembelian?” dan “Apakah penawaran diskon 25% akan memengaruhi perilaku pembelian pelanggan ini?”
Pengklasifikasi dilatih menggunakan data dari pelanggan sebelumnya dan perilaku akhirnya, seperti apakah mereka melakukan pembelian. Saat pelanggan baru berinteraksi dengan platform, model dapat memprediksi apakah dan kapan mereka akan melakukan pembelian. Ia juga dapat melakukan analisis bagaimana-jika untuk menjawab pertanyaan seperti “Jika saya menawarkan diskon 25% kepada pengguna ini, apakah mereka akan melakukan pembelian?”
Keuntungan klasifikasi
Klasifikasi menawarkan beberapa manfaat dalam domain pembelajaran mesin, menjadikannya pendekatan yang banyak digunakan untuk memecahkan masalah kategorisasi data. Di bawah ini, kami mengeksplorasi beberapa keunggulan utama klasifikasi, termasuk kematangan, fleksibilitas, dan kemampuannya untuk menghasilkan keluaran yang dapat dibaca manusia.
Dipelajari dan dipahami dengan baik
Klasifikasi adalah salah satu masalah yang paling banyak dipelajari dan dipahami dalam domain pembelajaran mesin. Hasilnya, terdapat banyak perangkat matang yang tersedia untuk tugas klasifikasi, memungkinkan pengguna menyeimbangkan trade-off antara kecepatan, efisiensi, penggunaan sumber daya, dan persyaratan kualitas data.
Teknik standar, seperti matriks akurasi, presisi, perolehan, dan kebingungan, tersedia untuk mengevaluasi kinerja pengklasifikasi. Dengan alat-alat ini, akan lebih mudah untuk memilih sistem klasifikasi yang paling tepat untuk masalah tertentu, menilai kinerjanya, dan memperbaikinya seiring berjalannya waktu.
Berikan keluaran yang dapat dibaca manusia
Pengklasifikasi sering kali memungkinkan adanya trade-off antara kekuatan prediktif dan keterbacaan manusia. Model yang lebih sederhana dan lebih mudah ditafsirkan, seperti pohon keputusan atau regresi logistik, dapat disesuaikan agar perilakunya lebih mudah dipahami. Model yang dapat diinterpretasikan ini dapat digunakan untuk mengeksplorasi properti data, memungkinkan pengguna manusia mendapatkan wawasan tentang data. Wawasan tersebut kemudian dapat memandu pengembangan model pembelajaran mesin yang lebih kompleks dan akurat.
Kekurangan klasifikasi
Meskipun klasifikasi adalah alat yang ampuh dalam pembelajaran mesin, klasifikasi memiliki tantangan dan keterbatasan tertentu. Di bawah ini, kami membahas beberapa kelemahan utama klasifikasi, termasuk overfitting, underfitting, dan perlunya pra-pemrosesan data pelatihan secara ekstensif.
Keterlaluan
Saat melatih model klasifikasi, penting untuk menyesuaikan proses pelatihan untuk mengurangi kemungkinan model akan menyesuaikan datanya secara berlebihan. Overfitting adalah masalah ketika model mengingat sebagian atau seluruh data sumbernya, alih-alih mengembangkan pemahaman abstrak tentang hubungan dalam data. Model yang memiliki data pelatihan yang terlalu cocok akan berfungsi dengan baik ketika model tersebut melihat data baru yang sangat mirip dengan data tempat model tersebut dilatih, namun secara umum model tersebut mungkin tidak berfungsi dengan baik.
Kurang pas
Kinerja sistem klasifikasi bergantung pada ketersediaan jumlah data pelatihan yang memadai, dan penerapan pada masalah yang berfungsi dengan baik untuk algoritma klasifikasi yang dipilih. Jika data pelatihan yang tersedia tidak mencukupi, atau jika algoritme klasifikasi tertentu tidak memiliki alat yang tepat untuk menafsirkan data dengan benar, model yang dilatih mungkin tidak akan pernah belajar membuat prediksi yang baik. Fenomena ini dikenal sebagai “underfitting.” Ada banyak teknik yang tersedia untuk mencoba mengurangi underfitting, dan menerapkannya dengan benar tidak selalu mudah.
Pemrosesan awal data pelatihan
Banyak sistem klasifikasi memiliki persyaratan yang relatif kaku untuk struktur dan format data. Kinerja mereka sering kali berkorelasi erat dengan seberapa baik data diproses sebelum mereka terpapar atau dilatih mengenai data tersebut. Akibatnya, sistem klasifikasi menjadi kaku dan tidak fleksibel, memiliki batasan ketat mengenai masalah dan konteks data mana yang paling sesuai untuk sistem tersebut.