Pilih Algoritma - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pilih Algoritma

Pembelajaran mesin dapat membantu Anda menyelesaikan tugas empiris yang memerlukan semacam inferensi induktif. Tugas ini melibatkan induksi karena menggunakan data untuk melatih algoritma untuk membuat kesimpulan yang dapat digeneralisasikan. Ini berarti bahwa algoritme dapat membuat prediksi atau keputusan yang dapat diandalkan secara statistik, atau menyelesaikan tugas lain ketika diterapkan pada data baru yang tidak digunakan untuk melatihnya.

Untuk membantu Anda memilih algoritma terbaik untuk tugas Anda, kami mengklasifikasikan tugas-tugas ini pada berbagai tingkat abstraksi. Pada tingkat abstraksi tertinggi, pembelajaran mesin mencoba menemukan pola atau hubungan antara fitur atau item yang kurang terstruktur, seperti teks dalam kumpulan data. Teknik pengenalan pola dapat diklasifikasikan ke dalam paradigma pembelajaran mesin yang berbeda, yang masing-masing membahas jenis masalah tertentu. Saat ini ada tiga paradigma dasar untuk pembelajaran mesin yang digunakan untuk mengatasi berbagai jenis masalah:

Jenis masalah yang dapat diatasi oleh setiap paradigma pembelajaran diidentifikasi dengan mempertimbangkan kesimpulan (atau prediksi, keputusan, atau tugas lain) yang ingin Anda buat dari jenis data yang Anda miliki atau dapat kumpulkan. Paradigma pembelajaran mesin menggunakan metode algoritmik untuk mengatasi berbagai jenis masalahnya. Algoritma menyediakan resep untuk memecahkan masalah ini.

Namun, banyak algoritma, seperti jaringan saraf, dapat digunakan dengan paradigma pembelajaran yang berbeda dan pada berbagai jenis masalah. Beberapa algoritma juga dapat mengatasi jenis masalah tertentu. Beberapa algoritma lebih umum berlaku dan yang lain cukup spesifik untuk jenis tujuan dan data tertentu. Jadi pemetaan antara algoritma pembelajaran mesin dan jenis masalah adalah. many-to-many Juga, ada berbagai opsi implementasi yang tersedia untuk algoritme.

Bagian berikut memberikan panduan mengenai opsi implementasi, paradigma pembelajaran mesin, dan algoritma yang sesuai untuk berbagai jenis masalah.

Pilih implementasi algoritme

Setelah memilih algoritma, Anda harus memutuskan implementasi mana yang ingin Anda gunakan. Amazon SageMaker mendukung tiga opsi implementasi yang membutuhkan peningkatan tingkat upaya.

  • Model pra-terlatih membutuhkan sedikit usaha dan merupakan model yang siap untuk digunakan atau disempurnakan dan digunakan. SageMaker JumpStart

  • Algoritma bawaan membutuhkan lebih banyak usaha dan skala jika kumpulan data besar dan sumber daya yang signifikan diperlukan untuk melatih dan menyebarkan model.

  • Jika tidak ada solusi bawaan yang berfungsi, coba kembangkan solusi yang menggunakan gambar yang sudah dibuat sebelumnya untuk kerangka kerja mesin dan pembelajaran mendalam untuk kerangka kerja yang didukung seperti Scikit-Learn,,,,, TensorFlow atau Chainer. PyTorch MXNet

  • Jika Anda perlu menjalankan paket khusus atau menggunakan kode apa pun yang bukan merupakan bagian dari kerangka kerja yang didukung atau tersedia melalui PyPi, maka Anda perlu membuat gambar Docker kustom Anda sendiri yang dikonfigurasi untuk menginstal paket atau perangkat lunak yang diperlukan. Gambar kustom juga harus didorong ke repositori online seperti Amazon Elastic Container Registry.

Panduan implementasi algoritma

Implementasi Membutuhkan kode Algoritma pra-kode Support untuk paket pihak ketiga Support untuk kode kustom Tingkat usaha
Built-in Tidak Ya Tidak Tidak Rendah
Scikit-belajar Ya Ya PyPi hanya Ya Sedang
Percikan Ml Ya Ya PyPi hanya Ya Sedang
XGBoost(sumber terbuka) Ya Ya PyPi hanya Ya Sedang
TensorFlow Ya Tidak PyPi hanya Ya Tinggi medium
PyTorch Ya Tidak PyPi hanya Ya Tinggi medium
MXNet Ya Tidak PyPi hanya Ya Tinggi medium
Chainer Ya Tidak PyPi hanya Ya Tinggi medium
Citra kustom Ya Tidak Ya, dari sumber manapun Ya Tinggi

Gunakan algoritma bawaan

Saat memilih algoritme untuk jenis masalah dan data Anda, opsi termudah adalah menggunakan salah satu algoritme bawaan Amazon SageMaker. Algoritma bawaan ini hadir dengan dua manfaat utama.

  • Algoritma bawaan tidak memerlukan pengkodean untuk mulai menjalankan eksperimen. Satu-satunya input yang perlu Anda berikan adalah data, hyperparameters, dan sumber daya komputasi. Ini memungkinkan Anda menjalankan eksperimen lebih cepat, dengan biaya overhead yang lebih sedikit untuk melacak hasil dan perubahan kode.

  • Algoritma bawaan datang dengan paralelisasi di beberapa instance komputasi dan GPU dukungan langsung dari kotak untuk semua algoritme yang berlaku (beberapa algoritme mungkin tidak disertakan karena keterbatasan yang melekat). Jika Anda memiliki banyak data untuk melatih model Anda, sebagian besar algoritme bawaan dapat dengan mudah menskalakan untuk memenuhi permintaan. Bahkan jika Anda sudah memiliki model yang telah dilatih sebelumnya, mungkin masih lebih mudah untuk menggunakan akibat wajar SageMaker dan memasukkan parameter hiper yang sudah Anda ketahui daripada mem-portingnya, menggunakan mode skrip pada kerangka kerja yang didukung.

Untuk informasi selengkapnya tentang algoritme bawaan yang disediakan oleh SageMaker, lihatGunakan algoritme SageMaker bawaan Amazon atau model yang telah dilatih sebelumnya.

Untuk informasi penting tentang jalur registri docker, format data, jenis EC2 instans yang direkomendasikan, dan CloudWatch log yang umum untuk semua algoritme bawaan yang disediakan oleh SageMaker, lihat. Informasi Umum Tentang Algoritma Bawaan

Gunakan mode skrip dalam kerangka kerja yang didukung

Jika algoritme yang ingin Anda gunakan untuk model Anda tidak didukung oleh pilihan bawaan dan Anda merasa nyaman mengkodekan solusi Anda sendiri, maka Anda harus mempertimbangkan untuk menggunakan kerangka kerja yang SageMaker didukung Amazon. Ini disebut sebagai “mode skrip” karena Anda menulis kode kustom Anda (skrip) dalam file teks dengan .py ekstensi. Seperti yang ditunjukkan tabel di atas, SageMaker mendukung sebagian besar kerangka kerja pembelajaran mesin yang populer. Kerangka kerja ini telah dimuat sebelumnya dengan kerangka kerja yang sesuai dan beberapa paket Python tambahan, seperti Pandas dan NumPy, sehingga Anda dapat menulis kode Anda sendiri untuk melatih algoritme. Kerangka kerja ini juga memungkinkan Anda untuk menginstal paket Python yang di-host PyPi dengan menyertakan file requirements.txt dengan kode pelatihan Anda atau menyertakan direktori kode Anda sendiri. R juga didukung secara native di kernel SageMaker notebook. Beberapa kerangka kerja, seperti scikit-learn dan Spark ML, memiliki algoritme pra-kode yang dapat Anda gunakan dengan mudah, sementara kerangka kerja lain seperti TensorFlow dan PyTorch mungkin mengharuskan Anda untuk mengimplementasikan algoritme sendiri. Satu-satunya batasan saat menggunakan gambar kerangka kerja yang didukung adalah Anda tidak dapat mengimpor paket perangkat lunak apa pun yang tidak di-host PyPi atau yang belum disertakan dengan gambar kerangka kerja.

Untuk informasi selengkapnya tentang kerangka kerja yang didukung oleh SageMaker, lihatKerangka Kerja dan Bahasa Machine Learning.

Gunakan gambar Docker kustom

Algoritme bawaan Amazon SageMaker dan kerangka kerja yang didukung harus mencakup sebagian besar kasus penggunaan, tetapi ada kalanya Anda mungkin perlu menggunakan algoritme dari paket yang tidak termasuk dalam kerangka kerja yang didukung. Anda mungkin juga memiliki model pra-terlatih yang dipilih atau bertahan di suatu tempat yang perlu Anda terapkan. SageMaker menggunakan gambar Docker untuk meng-host pelatihan dan penyajian semua model, sehingga Anda dapat menyediakan gambar Docker kustom Anda sendiri jika paket atau perangkat lunak yang Anda butuhkan tidak termasuk dalam kerangka kerja yang didukung. Ini mungkin paket Python Anda sendiri atau algoritma yang dikodekan dalam bahasa seperti Stan atau Julia. Untuk gambar-gambar ini, Anda juga harus mengonfigurasi pelatihan algoritme dan penyajian model dengan benar di Dockerfile Anda. Ini membutuhkan pengetahuan menengah tentang Docker dan tidak disarankan kecuali Anda merasa nyaman menulis algoritma pembelajaran mesin Anda sendiri. Gambar Docker Anda harus diunggah ke repositori online, seperti Amazon Elastic Container Registry (ECR) sebelum Anda dapat melatih dan melayani model Anda dengan benar.

Untuk informasi selengkapnya tentang gambar Docker kustom di SageMaker, lihatGunakan kontainer Docker untuk melatih dan menerapkan model.

Jenis masalah untuk paradigma pembelajaran mesin dasar

Tiga bagian berikut menjelaskan jenis masalah utama yang ditangani oleh tiga paradigma dasar untuk pembelajaran mesin. Untuk daftar algoritma bawaan yang SageMaker menyediakan untuk mengatasi jenis masalah ini, lihatGunakan algoritme SageMaker bawaan Amazon atau model yang telah dilatih sebelumnya.

Pembelajaran yang diawasi

Jika kumpulan data Anda terdiri dari fitur atau atribut (input) yang berisi nilai target (output), maka Anda memiliki masalah pembelajaran yang diawasi. Jika nilai target Anda kategoris (diskrit secara matematis), maka Anda memiliki masalah klasifikasi. Ini adalah praktik standar untuk membedakan klasifikasi biner dari multiclass.

  • Klasifikasi biner adalah jenis pembelajaran yang diawasi yang menetapkan individu ke salah satu dari dua kelas yang telah ditentukan dan saling eksklusif berdasarkan atribut individu. Ini diawasi karena model dilatih menggunakan contoh di mana atribut disediakan dengan objek berlabel dengan benar. Diagnosis medis untuk apakah seseorang memiliki penyakit atau tidak berdasarkan hasil tes diagnostik adalah contoh klasifikasi biner.

  • Klasifikasi multiclass adalah jenis pembelajaran yang diawasi yang menetapkan individu ke salah satu dari beberapa kelas berdasarkan atribut individu. Ini diawasi karena model dilatih menggunakan contoh di mana atribut disediakan dengan objek berlabel dengan benar. Contohnya adalah prediksi topik yang paling relevan dengan dokumen teks. Sebuah dokumen dapat diklasifikasikan sebagai tentang agama, politik, atau keuangan, atau tentang salah satu dari beberapa kelas topik yang telah ditentukan sebelumnya.

Jika nilai target yang Anda coba prediksi kontinu secara matematis, maka Anda memiliki masalah regresi. Regresi memperkirakan nilai variabel target dependen berdasarkan satu atau lebih variabel atau atribut lain yang berkorelasi dengannya. Contohnya adalah prediksi harga rumah menggunakan fitur seperti jumlah kamar mandi dan kamar tidur dan luas persegi rumah dan taman. Analisis regresi dapat membuat model yang mengambil satu atau lebih fitur ini sebagai masukan dan memprediksi harga rumah.

Untuk informasi lebih lanjut tentang algoritme pembelajaran terawasi bawaan yang disediakan oleh SageMaker, lihat. Pembelajaran yang diawasi

Pembelajaran tanpa pengawasan

Jika kumpulan data Anda terdiri dari fitur atau atribut (input) yang tidak mengandung label atau nilai target (output), maka Anda memiliki masalah pembelajaran tanpa pengawasan. Dalam jenis masalah ini, output harus diprediksi berdasarkan pola yang ditemukan dalam data input. Tujuan dalam masalah pembelajaran tanpa pengawasan adalah untuk menemukan pola seperti pengelompokan dalam data. Ada berbagai macam tugas atau jenis masalah di mana pembelajaran tanpa pengawasan dapat diterapkan. Komponen utama dan analisis cluster adalah dua metode utama yang biasa digunakan untuk preprocessing data. Berikut adalah daftar singkat jenis masalah yang dapat diatasi dengan pembelajaran tanpa pengawasan:

  • Pengurangan dimensi biasanya merupakan bagian dari langkah eksplorasi data yang digunakan untuk menentukan fitur yang paling relevan untuk digunakan untuk konstruksi model. Idenya adalah untuk mengubah data dari ruang berdimensi tinggi dan jarang penduduknya menjadi ruang dimensi rendah yang mempertahankan sifat paling signifikan dari data asli. Ini memberikan kelegaan untuk kutukan dimensi yang dapat muncul dengan data dimensi tinggi yang jarang penduduknya di mana analisis statistik menjadi bermasalah. Ini juga dapat digunakan untuk membantu memahami data, mengurangi data dimensi tinggi ke dimensi yang lebih rendah yang dapat divisualisasikan.

  • Analisis cluster adalah kelas teknik yang digunakan untuk mengklasifikasikan objek atau kasus ke dalam kelompok yang disebut cluster. Ini mencoba untuk menemukan pengelompokan diskrit dalam data, di mana anggota kelompok semirip mungkin satu sama lain dan berbeda mungkin dari anggota kelompok lain. Anda menentukan fitur atau atribut yang ingin digunakan algoritme untuk menentukan kesamaan, memilih fungsi jarak untuk mengukur kesamaan, dan menentukan jumlah cluster yang akan digunakan dalam analisis.

  • Deteksi anomali adalah identifikasi item langka, peristiwa, atau pengamatan dalam kumpulan data yang menimbulkan kecurigaan karena mereka berbeda secara signifikan dari data lainnya. Identifikasi item anomali dapat digunakan, misalnya, untuk mendeteksi penipuan bank atau kesalahan medis. Anomali juga disebut sebagai outlier, hal baru, kebisingan, penyimpangan, dan pengecualian.

  • Estimasi kepadatan adalah konstruksi perkiraan fungsi kepadatan probabilitas dasar yang tidak dapat diamati berdasarkan data yang diamati. Penggunaan alami estimasi kepadatan adalah untuk eksplorasi data. Perkiraan kepadatan dapat menemukan fitur seperti kemiringan dan multimodalitas dalam data. Bentuk estimasi kepadatan yang paling dasar adalah histogram yang diskalakan ulang.

SageMaker menyediakan beberapa algoritma pembelajaran mesin bawaan yang dapat Anda gunakan untuk tugas pembelajaran tanpa pengawasan ini. Untuk informasi selengkapnya tentang algoritme bawaan tanpa pengawasan yang disediakan oleh SageMaker, lihat. Pembelajaran tanpa pengawasan

Pembelajaran penguatan

Pembelajaran penguatan adalah jenis pembelajaran yang didasarkan pada interaksi dengan lingkungan. Jenis pembelajaran ini digunakan oleh agen yang harus mempelajari perilaku melalui trial-and-error interaksi dengan lingkungan yang dinamis di mana tujuannya adalah untuk memaksimalkan imbalan jangka panjang yang diterima agen sebagai hasil dari tindakannya. Hadiah dimaksimalkan dengan menukar tindakan penjelajahan yang memiliki imbalan yang tidak pasti dengan mengeksploitasi tindakan yang memiliki imbalan yang diketahui.

Untuk informasi lebih lanjut SageMaker tentang kerangka kerja, toolkit, dan lingkungan untuk pembelajaran penguatan, lihat. Gunakan Pembelajaran Penguatan dengan Amazon SageMaker