Sementara pada jenis pembelajaran tidak diawasi, ML membangun pengetahuan dengan membuat kelompok, klasifikasi, pelabelan, dan sebagainya dari data pembelajaran sebagai bahan pengetahuan bagi mesin. Setelah melakukan eksplorasi data, selanjutnya ML dapat digunakan pada data lain untuk menghasilkan sebuah kesimpulan tertentu. Misalnya ML diminta membaca sebuah teks atau buku yang berisi berbagai jenis satwa. Sebagai hasil pembelajaran ML akan mempunyai pengetahuan di antaranya berupa kategori dari satwa-satwa yang ada.
Sebetulnya ada metode pembelajaran ketiga, yaitu penguatan (reinforcement), yang dapat dianggap sebagai kombinasi dari keduanya. Contoh, pada sebuah robot yang telah menjalani proses pembelajaran sehingga robot sudah memiliki pengetahuan. Pada saat melakukan aksi tertentu, ternyata aksi tersebut dianggap salah, maka aksi ini harus menjadi bahan pembelajaran baru bagi robot. Saat robot mendapati keadaan demikian seperti itu, maka seharusnya robot tidak lagi membuat kesalahan yang sama.
Ada banyak sekali teknik dan algoritma yang digunakan di dalam ML. Berikut ini beberapa contoh algoritma yang terkenal di dalam masing-masing kelompok pembelajaran:
Kelompok Pembelajaran Diawasi:
- Regresi linier; memprediksi hubungan 2 kelompok data.
- Regresi logistik; digunakan dalam klasifikasi biner.
- Pohon keputusan; membuat keputusan berdasarkan sekumpulan aturan logika yang bercabang.
- Support Vector Machines (SVM); memisahkan kelas-kelas data menggunakan potongan-potongan bidang secara melintang.
- k-Nearest Neighbors; melakukan klasifikasi kelompok data berdasarkan mayoritas tetangga terdekat.
- Jaringan syaraf; menemukan pola dasar menggunakan banyak lapisan jaringan syaraf.
Pembelajaran Tidak Diawasi:
- Pengklasteran hirarki, k-Means, DBSCAN; mengelompokkan data berdasarkan teknik tertentu.
- Pengurangan dimensi; mengurangi dimensi kumpulan data menggunakan teknik tertentu, misalnya PCA, ICA, LDA, dan sebagainya.
- Aturan asosiasi; menemukan aturan asosiasi di dalam kumpulan data tertentu, misalnya secara apriori, Eclat, FP growth, dan sebagainya.
Di dalam ML tercakup beberapa hal terkait dengan fungsi. Pertama, konsep rekayasa fitur untuk memilih, mengubah, dan menciptakan fitur dari data mentah. Yang kedua, melakukan evaluasi atas kinerja dari model yang dipilih, dan ketiga, menggabungkan beberapa model sekaligus, sedemikian rupa untuk meningkatkan kinerja keseluruhan.
Lingkungan Pembelajaran Mesin
Berbagai algoritma dan teknik untuk menjalankan ML umumnya membutuhkan sumber daya komputer yang cukup besar, misalnya pemroses utama, memori, dan penyimpanan luar, termasuk kemampuan grafik yang cukup. Untuk itu pastikan bahwa perangkat keras komputer yang digunakan sesuai dengan kebutuhan.
Dari ketersediaan paket atau modul-modul, Â untuk menjalankan ML disarankan menggunakan bahasa pemrograman mendukung dengan baik, paling tidak saat ini, yaitu bahasa Python dan R. Adapun kerangka kerja (framework) pada saat ini tersedia antara lain TensorFlow yang dikembangkan oleh Google dan bersifat sumber terbuka (open source). Di samping itu tersedia PyTorch yang dikembangkan oleh Facebook, dan Scikit-learn berbasis bahasa Python.
Anda juga membutuhkan peralatan seperti Jupyter Notebook, Docker, ataupun Kubernetes sebagai lingkungan pengembangan yang memang mendukung penggunaan ML dalam mengakses berbagai fasilitas maupun paket-paketnya.
Apabila menghendaki lingkungan berbasis awan (cloud), Anda bisa memilih layanan dari Google Cloud AI Platform, Amazon SageMaker, atau Microsoft Azure Machine Learning. Tentu saja terdapat kelebihan dan kekurangan masing-masing dari pilihan-pilihan di atas. Dengan melakukan eksplorasi, dan selanjutnya dengan memahaminya, dapat menentukan pilihan sendiri dengan lebih bijaksana. Aspek penting yang lain adalah fleksibilitas namun tanpa mengorbankan faktor keamanan dan privasi data.
Tantangan Pembelajaran Mesin
Masih banyak tantangan bagi keberhasilan implementasi bagi pembelajaran mesin, antara lain ketersediaan dan kualitas, ketidakseimbangan, maupun bias data. Faktor data menjadi sangat penting karena sebuah sistem pembelajaran mesin sangat bergantung pada data, baik untuk pembelajaran maupun mengambil kesimpulan.
Selain dari masalah data juga pada algoritma itu sendiri agar menghindari bias dari pemilihan model sekaligus algoritma. Isu tentang underfitting dan overfitting serta robustness model adalah hal yang segera dicari solusi di dalam aplikasi nyata.