Postingan

Menampilkan postingan dengan label Machine Learning

Apa itu Machine Learning Workflow?

Gambar
Dalam sebuah project machine learning ada tahapan-tahapan yang perlu dilalui sebelum project tersebut bisa diimplementasi di tahap produksi. Berikut adalah tahapan-tahapan yang dimaksud menurut buku  Hands on Machine Learning  karya  Aurelien Geron : Exploratory Data Analysis Exploratory data analysis atau EDA bertujuan sebagai analisa awal terhadap data dan melihat bagaimana kualitas data. Data preprocessing and Data Cleaning Data preprocessing dan cleaning adalah tahap di mana data diolah lebih lanjut sehingga data siap dipakai dalam pengembangan ML Model selection Di tahap ini kita mulai memilih model yang akan dipakai serta melakukan optimasi parameter dari model tersebut. Model Evaluation Kita lalu melakukan evaluasi terhadap model dengan melihat performanya terhadap data testing. Deployment Ketika model dievaluasi, model siap untuk dipakai pada tahap produksi Monitoring Model yang telah dipakai dalam tahap produksi masih harus tetap dimonitor untuk menjaga kualitasn...

Cara Adjustment and re-learning Machine Learning Yang telah Kita Buat

Gambar
Cara Adjustment and re-learning Machine Learning Yang telah Kita Buat Umumnya sebuah model yang di- deploy  kinerjanya akan turun seriring waktu. Kenapa? Karena model akan terus menemui lebih banyak data-data baru seiring waktu. Hal tersebut akan menyebabkan akurasi model menurun. Misalnya sebuah model untuk memprediksi harga rumah yang dikembangkan dengan data pada tahun 2010. Model yang dilatih pada data pada tahun tersebut akan menghasilkan prediksi yang buruk pada data tahun 2020. Untuk mengatasi masalah ini, ada 2 teknik dasar untuk menjaga agar model selalu bisa belajar dengan data-data baru. Dua teknik tersebut yaitu  manual retraining  dan  continuous learning . Manual Retraining Teknik pertama adalah melakukan ulang proses pelatihan model dari awal. Dimana data-data baru yang ditemui di tahap produksi, akan digabung dengan data lama dan model dilatih ulang dari awal sekali menggunakan data lama dan data baru. Bayangkan ketika kita harus melatih ulang model d...

Belajar Deploy & Feedback Machine Learning

Gambar
Deployment Sampai saat ini kita telah belajar bagaimana mengembangkan dan melatih sebuah model pada Colaboratory. Tentunya kita ingin agar model yang telah kita latih dapat terintegrasi dengan perangkat lunak lain. Misalnya kita ingin agar model kita dapat dipakai pada sebuah ponsel untuk memotret lalu mendeteksi penyakit pada tanaman cabai. Atau kita ingin membuat sebuah situs untuk mendeteksi jenis hewan pada sebuah gambar dan masalah lain yang lebih kompleks. Jika Anda memiliki kemampuan membuat website atau sebuah mobile app Anda bisa menggunakan TensorFlow serving agar model dapat dipakai pada software yang Anda kembangkan. Tutorial menggunakan TensorFlow serving dapat dikunjungi di  tautan  berikut. Feedback Ketika model Anda telah di-deploy di tahap produksi, sangat penting untuk selalu memonitor kinerja model Anda. Memonitor kinerja atau performa model dapat dilakukan dengan teknik yang sama saat kita mengembangkannya. Pada model klasifikasi, hal yang dimonitor adalah...

Belajar Learning Tahap Modeling (MLP) Dengan Tensorflow

Gambar
Learning Tahap awal sebelum kita membangun sebuah jaringan saraf tiruan adalah mem- framing problem. Pada tahap ini kita menentukan apa masalah yang ingin diselesaikan dan bagaimana implementasi dari jaringan saraf dapat menyelesaikan masalah tersebut. Tentunya machine learning selalu membutuhkan data. Pada tahap awal kita perlu memahami data kita lebih lanjut. Beberapa hal yang perlu diketahui adalah format dari data, jumlah sampel, apakah dataset merupakan masalah regresi/klasifikasi, dan berapa jumlah label. Setelah kita memahami masalah, kemudian kita dapat mengembangkan sebuah MLP sebagai sebuah solusi. Creating good feature and Building the model Kode program yang akan diajarkan di sini bisa diunduh di tautan berikut ini , untuk membukanya upload berkasnya dari Google Colab. Pada latihan kali ini kita akan membuat sebuah model untuk mengklasifikasi gambar sebuah kamar dan memprediksi apakah kamar tersebut rapi atau berantakan. Pada akhir latihan Anda akan dapat menguji coba mode...

Apa itu Keras Library?

Gambar
Keras adalah API untuk mengembangkan jaringan saraf tiruan. Dengan Keras kita dapat membuat sebuah  multi layer perceptron  dan  convolutional neural network  dengan sangat mudah. Aplikasi dari Keras sangat luas di mana kita dapat membangun jaringan saraf tiruan untuk klasifikasi gambar, pemrosesan bahasa alami, pengenalan suara, dan prediksi  time series . Komponen inti pembangun sebuah jaringan saraf tiruan dalam Keras adalah  layer . Sebuah layer pada Keras, sama dengan sebuah layer pada MLP yang memiliki beberapa perseptron. Pada Keras misalnya, kita ingin melakukan klasifikasi pada dataset fashion MNIST seperti contoh di bawah. Dataset Fashion MNIST memiliki label 10 kelas yang terdiri dari baju, sepatu, tas dan sebagainya. Dataset ini berguna untuk mengklasifikasikan sebuah objek fashion. Dengan Keras, kita dapat membuat sebuah model ML hanya dengan beberapa baris kode seperti di bawah. Mari kita bahas kode di atas satu per satu. Hal yang paling perta...

Apa Itu Tensorflow?

Gambar
TensorFlow(TF) adalah sebuah library open source populer untuk komputasi kompleks dan juga cocok untuk pengembangan ML berskala besar. Cara kerja dasar TensorFlow sangat sederhana. Pertama kita tentukan sebuah komputasi graf untuk diselesaikan seperti gambar di bawah. Selanjutnya TensorFlow akan mengeksekusinya secara efisien dengan kode C++ yang teroptimasi. Kelebihan dari TensorFlow adalah ia mampu membagi graf di atas menjadi beberapa bagian dan menjalankannya secara paralel menggunakan CPU dan GPU. Dengan kemampuan tersebut, kita dapat melakukan pelatihan sebuah model jaringan saraf yang sangat besar hingga mencakup ratusan server, secara paralel. Hal ini tidak mengejutkan karena TF dikembangkan oleh tim  Google Brain , dan dipakai dalam banyak layanan Google berskala besar. Seperti  Google Cloud Speech ,  Google Photos , dan  Google Search . Pada modul ini kita akan belajar menggunakan  library Keras  yang dibangun di atas backend TensorFlow untuk memb...

Apa Itu Convolutional Neural Network?

Gambar
Salah satu bidang menarik yang muncul dari perkembangan machine learning adalah Computer Vision. Computer Vision adalah bidang yang memberi komputer kemampuan untuk ‘melihat’ seperti manusia. Salah satu contoh implementasi dari computer vision adalah pada pengenalan wajah, bahkan deteksi penyakit. Dan salah satu bidang yang mulai populer yaitu  self driving cars  seperti di bawah ini. Bagaimana komputer melihat? Komputer adalah sebuah mesin yang hanya bisa membaca angka. Sebuah gambar dalam komputer adalah matriks yang berisi nilai dari setiap pixel di gambar. Pada gambar hitam putih, gambar merupakan matriks 2 dimensi, dan pada gambar berwarna gambar merupakan matrix 2 kali 3 dimensi di mana, 3 dimensi terakhir adalah jumlah kanal dari gambar berwarna yaitu  RGB  (red, green, blue).   Klasifikasi Gambar Peran machine learning dalam computer vision adalah dalam klasifikasi gambar. Contohnya, kita punya label yaitu nama beberapa presiden Amerika Serikat. Kita ing...

Apa itu Neural Network di Machine Learning?

Gambar
Pada modul-modul sebelumnya telah dibahas tentang beberapa model machine learning seperti  decision tree ,  support vector machine , dan sebagainya. Model-model tersebut merupakan pengembangan dari model statistik untuk mencari pola pada data. Pada modul ini akan dibahas mengenai  neural network , sebuah model machine learning yang terinspirasi dari cara kerja otak manusia. Di modul ini akan dibahas mengenai artificial  neural network ,  multi layer perceptron , dan  convolutional neural network . Setelah mempelajari modul ini Anda akan memahami bagaimana neural network dapat dipakai dalam bidang yang rumit untuk dikerjakan oleh model machine learning biasa, seperti  computer vision

Teori Dasar Adding/reducing features dalam Machine Learning

Gambar
Nah pada submodul ini kita akan membahas lebih lanjut mengenai feature engineering. Andrew Ng , seorang profesor kecerdasan buatan dari  Stanford  dan pencetus  Google Brain  mengatakan bahwa “Menciptakan fitur-fitur yang baik adalah pekerjaan yang sulit, memakan waktu, dan membutuhkan pengetahuan seorang pakar di bidang terkait. Machine learning terapan pada dasarnya adalah rekayasa fitur.” Berdasarkan pernyataan dari  Andrew  maka dapat disimpulkan, bahwa tahap rekayasa fitur merupakan salah satu tahapan yang memakan banyak waktu. Jadi, rekayasa fitur itu pastinya penting ya. Nah, di submodul ini Anda akan dikenalkan dengan beberapa teknik lain dalam rekayasa fitur yang sudah dibahas pada modul 1. Binning Binning adalah pengelompokan nilai sesuai dengan batas besaran yang ditentukan. Pada binning, data dikelompokkan dalam tiap ‘ bin ’ sesuai dengan nilai yang cocok dengan bin tersebut. Bin sederhananya adalah sebuah kategori yang menampung nilai-nilai te...

Mengenal Model Selection dalam Machine Learning

Gambar
Sebuah model machine learning memiliki parameter yang dapat di tuning. Pada modul 2 dan 3, kamu sudah melihat contoh menggunakan parameter pada sebuah model machine learning. Contohnya ketika kamu memasukkan parameter “ n_cluster ” pada model K-Means. Ketika mengembangkan model K-Means seperti di atas, mengubah parameter - dalam hal ini memilih jumlah  n_cluster  - merupakan bentuk dari  tuning parameter. Tuning Parameter adalah istilah yang digunakan untuk meningkatkan performa model machine learning. Proses ini mirip dengan proses  tweak . Misalnya pada komputer di mana kita mengganti komponen komputer sehingga peranti tersebut memiliki performa lebih tinggi demi kinerja efisien. Pada model K-means di atas, jumlah cluster yang kurang atau terlalu banyak akan menyebabkan hasil pengklasteran kurang optimal. Tuning parameter dalam hal ini adalah bereksperimen mencari parameter terbaik untuk model K-Means tersebut. Tujuan melakukan tuning pada model yaitu agar model me...

Belajar Support Vector Machine Classifier

Gambar
Untuk memahami bagaimana algoritma  support vector machine  atau SVM bekerja, bayangkan kita memiliki sebuah kebun binatang mini. Di kebun binatang tersebut terdapat dua jenis binatang yaitu, ayam hias dan ular. Sebagai seorang ML engineer, kita ingin mengembangkan sebuah model yang mampu membedakan antara ayam dan ular piton agar bisa menempatkan kedua hewan tersebut di kandang yang berbeda. Kita tentunya tak mau menyatukan ayam dan ular dalam satu kandang yang sama ya. Kita bisa membuat sebuah model klasifikasi yang memisahkan antara kedua kelas tersebut menggunakan Support Vector Machine. Menurut  Aurelien Geron  dalam buku  Hands on Machine Learning , SVM bekerja dengan membuat  decision boundary  atau sebuah bidang yang mampu memisahkan dua buah kelas. Pada masalah ini  decision boundary  yang mampu memisahkan kelas ayam dan kelas ular adalah sebuah garis lurus yang dapat dilihat pada gambar. Lalu, bagaimana SVM membuat sebuah decision b...