Generating a Dataset with ChatGPT

Whether it is Data Mining, Machine Learning, or Deep Learning, they all depend on datasets in any implementation domain. Sometimes, obtaining datasets can be very challenging due to their large size, rarity, strict permission requirements, and so on. This post will provide information on how to use ChatGPT to create datasets.

Alright, let’s try for a Natural Language Processing (NLP) case where a dataset is needed for text classification (sometimes referred to as text categorization). For example, with COVID, there are four variants: alpha, beta, gamma, and delta. Now, the system is asked to detect news that discusses which variants. Therefore, five classes are needed: alpha, beta, gamma, delta, and others.

Just ask ChatGPT: Can you give me a news paragraph about the “Alpha” COVID-19 variant?. Then, a paragraph of information will appear. Now, we just need to type again: Can you add 9 similar paragraphs? (if you want to get 10 articles for the “Alpha” class)..

Next, you can transfer the information to a CSV file that will be used for the training process. Of course, you can add as much data per class as possible. That’s all, I hope it’s useful.

Iklan

Menyikapi ChatGPT

Beberapa media online mulai memberitakan kalau ChatGPT akan diblokir, alasannya karena belum terdaftar di sistem Penyelenggara Sistem Elektronik (PSE) Kominfo. Tapi sepertinya itu hanya masalah administrasi, bagaimana dari sisi konten? Apakah berdampak negatif?

Kalau kita lihat visi AI Indonesia 2045 tampak Etika dan Kebijakan sebagai landasar, infrastruktur & data dan pengembangan talenta sebagai pilar untuk menopang 4 area fokus dan 5 bidang prioritas AI.

https://ai-innovation.id/server/static/ebook/stranas-ka.pdf

AI Sebagai Senjata

Memang sudah ada kekhawatiran tentang dampak AI, bahkan sudah dibahas di PBB (link). Sebenarnya AI itu sendiri mirip dengan pertama kali diperkenalkannya komputer, dimana sekutu berhasil membongkar kode mesin enkripsi elektromekanis Jerman, Enigma, lewat tangan Alan Turing. Komputer yang dahulu sebagai alat support/pendukung sekarang sudah berubah menjadi IT yang berperan bak senjata agar unggul dalam persaingan. Industri 4.0 mulai memasukan AI sebagai komponennya.

AI Untuk Mengejar Ketertinggalan

Semua mengakui kita masih tertinggal dengan negara lain, bahkan di Asia Tenggara sekalipun. Jika ada ‘sepatu’ yang membuat kita berlari cepat menyusul negara-negara lain, terutama negara maju, bisa jadi namanya Artificial Intelligence (AI). Lihat 5 bidang prioritas AI di Indonesia gambar di atas. Jika ingin memanfaatkan ChatGPT guna mengetahui ‘hal-hal yang orang lain tahu’ tentu saja tidak ada salahnya, kecuali ‘hal-hal yang sebaiknya tidak boleh tahu’, yang ini jatuh di ranahnya kebijakan. Di mana-mana mengejar harus berlari, bahkan harus lebih cepat dari larinya sesuatu yang dikejar. Saya teringat ketika kuliah dulu, dosen bertanya ke mahasiswa Thailand, dapat materi variabel kompleks kapan? Dijawab ketika S1, begitu juga Indonesia dan negara asia tenggara lain, seperti Viet Nam dan Malaysia. Tapi ketika ditanya ke mahasiswa Perancis, ternyata sudah memperoleh dari bangku sekolah menengah atas. Jika ada sesuatu yang secara gratis dan mudah membuat orang tahu lebih cepat, sepertinya cocok untuk negara yang sedang berkembang, apalagi yang untuk makan saja butuh kerja keras (kecuali sebagian kecil rakyat seperti kasus viral gaya hidup mewah anak-anak pejabat saat ini). Untuk yang ingin melihat tanggapan para profesor bisa lihat youtube berikut.

Problem Matriks Konfusi Pada ChatGPT dan Solusinya

Peneliti machine learning pasti mengenal matriks konfusi. Matriks konfusi (confusion matrix) adalah sebuah tabel yang digunakan untuk mengevaluasi performa model klasifikasi. Matriks konfusi menunjukkan jumlah prediksi yang benar dan salah yang dilakukan oleh model pada setiap kelas yang ada.

Matriks dua dimensi ini memiliki kolom sebagai prediksi dan baris sebagai nilai aktual/real/ground truth. Untuk Anda yang ingin memanfaatkan ChatGPT dapat menjalankan instruksi berikut. Pertama-tama masukan elemen dari matriks konfusi dengan format (baris, kolom).

Tampak nama kelas dengan True Positive, True Negative, False Positive dan False Negative-nya. Untuk menghitung Presisi, Recall, F1-Score, dan total akurasi dapat juga minta bantuan AI tersebut, tapi ternyata banyak kesalahan dalam perhitungannya.

Perhatikan Presisi (precision) untuk Agricultural, hasilnya ngaco. Namun cara/langkahnya benar. Oleh karena itu tetap harus menghitung sendiri. Caranya gampang, buka saja Excel, lalu copas angka-angka di atas.

Hasilnya 0.838257 yang jauh berbeda dengan hitungan sebelumnya: 0.942720. Biasanya sih TP, TN, FP, dan FN untuk kelas biner, lihat video berikut.

Model Neural Network Sederhana – Tensorflow & Web-based Python

Scikit-learn menyediakan modul Neural Network (NN) untuk melakukan klasifikasi data iris menggunakan algoritma MLPClassifier (Multilayer Perceptron Classifier). Algoritma ini memungkinkan pengguna untuk membangun model jaringan saraf tiruan dengan mempertimbangkan parameter seperti jumlah lapisan, jumlah neuron pada setiap lapisan, dan aktivasi fungsi untuk setiap neuron. Namun, saat ini penggunaan Tensorflow lebih dominan dari pada MLPClassifier.

Alur preprocessing dengan StandardScaler untuk klasifikasi dengan TensorFlow Neural Networks umumnya terdiri dari beberapa tahapan, yaitu:

  • Import library: Pertama, kita harus mengimpor library TensorFlow dan Scikit-learn (yang berisi StandardScaler) ke dalam program Python.
  • Load data: Data iris (atau data lain yang akan diklasifikasikan) harus dimuat ke dalam program Python. Data ini kemudian akan diproses dan dimasukkan ke dalam model jaringan saraf tiruan TensorFlow.
  • Preprocessing: Langkah berikutnya adalah preprocessing data menggunakan StandardScaler. StandardScaler melakukan normalisasi data dengan mengubah rata-rata menjadi nol dan standar deviasi menjadi satu. Ini membantu mempercepat proses konvergensi dan mengurangi dampak outlier pada hasil klasifikasi.
  • Split data: Data yang sudah di-preprocessing kemudian dibagi menjadi data latih dan data uji. Data latih digunakan untuk melatih model, sedangkan data uji digunakan untuk menguji performa model.
  • Definisikan model: Model TensorFlow Neural Networks didefinisikan dengan menentukan jumlah lapisan dan jumlah neuron pada setiap lapisan. Kemudian, fungsi aktivasi untuk setiap neuron ditentukan.
  • Latih model: Model kemudian dilatih dengan data latih menggunakan fungsi optimizer dan fungsi loss untuk menghitung gradien dan memperbarui bobot dan bias jaringan saraf.
  • Evaluasi model: Setelah model dilatih, model dievaluasi dengan data uji untuk mengukur akurasi, presisi, dan metrik lainnya.

Dengan menggunakan alur ini, kita dapat mengklasifikasikan data iris (atau data lainnya) menggunakan TensorFlow Neural Networks dengan tingkat akurasi yang lebih baik. Preprocessing data menggunakan StandardScaler membantu meningkatkan kinerja model dan membuatnya lebih stabil. Berikut ilustrasi pembuatannya.

AI and Neuro-Fuzzy Theory

Tahun 2014 saya pernah memperoleh kuliah Artificial Intelligence (AI) & Neuro-Fuzzy Theory. Ternyata materi ini sangat padat karena gabungan 2 mata kuliah yang saat ini saya ajar AI + Computational Intelligence (CI).

Neural networks atau jaringan saraf adalah sebuah konsep pemodelan matematis yang terinspirasi dari cara kerja otak manusia. Konsep ini telah ada sejak awal abad ke-20 dan telah mengalami banyak perkembangan sejak saat itu. Pada awalnya, konsep jaringan saraf digunakan untuk memodelkan bagaimana neuron-neuron dalam otak manusia berinteraksi satu sama lain. Namun, pada tahun 1940-an, para peneliti mulai menggunakan konsep ini untuk membangun mesin-mesin yang dapat melakukan tugas-tugas seperti mengenali pola pada gambar dan suara.

Pada tahun 1950-an, sebuah mesin jaringan saraf pertama kali dikembangkan oleh Frank Rosenblatt, yang dikenal sebagai “Perceptron”. Mesin ini dapat mengenali pola pada gambar dan mampu membedakan antara huruf “X” dan “O”. Namun, pada saat itu, mesin jaringan saraf masih sangat terbatas dan hanya mampu menangani masalah-masalah sederhana. Selain itu, kemampuan komputasi pada waktu itu juga masih terbatas dan membatasi perkembangan jaringan saraf. Meskipun begitu, konsep jaringan saraf tetap terus berkembang dan menjadi salah satu bidang yang paling menjanjikan dalam pengembangan kecerdasan buatan saat ini. Video berikut cuplikan kuliah tentang pentingnya AI dan NNs di awal ditemukan dengan praktik via Jupyter Notebook.

Masih Rekrutmen Tanpa Ijazah?

Beberapa waktu yang lalu banyak beredar di medsos informasi bahwa perusahaan raksasa seperti Apple, Google, dll merekrut karyawan tanpa perlu menunjukan ijazah. Berita tersebut sangat menohok dan terkesan mengerdilkan institusi pendidikan. Memang ini salah kampus juga yang tidak bisa mengikuti kemauan pasar, yaitu organisasi pemakai lulusan. Namun informasinya institusi sekelas Google membutuhkan bukti tertentu kepada calon karyawan yang mendaftar tanpa ijasah.

Terkadang memang, programmer tertentu tidak memiliki pendidikan formal. Karena bakat, ketekunan, dan keingintahuannya bisa belajar dengan cepat, baik otodidak maupun kursus kilat yang banyak tersedia. Youtube, milist, Github, atau sekedar Googling dengan cepat mampu memahami bahasa pemrograman tertentu. Apalagi saat ini aplikasi berbasis AI seperti ChatGPT mampu ‘mengajari’ lewat chatting apa saja, khususnya pemrograman. Silahkan lihat video berikut bagaimana menjalankan Web-based Python lewat ‘chatting’.

Artificial Intelligence (AI) merupakan salah satu bidang standar minimal kompetensi S1 (sarjana). Diharapkan peserta didik mampu menerapkannya. Untuk S2 dan S3 mampu mengembangkan bidang tersebut. Nah, jika organisasi ingin mendapatkan keunggulan kompetitif pada sistemnya, tidak ada jalan lain untuk memanfaatkan AI yang mulai menyusup ke segala lini.

Pendiri Google kabarnya ‘turun gunung’ mengingat ancaman AI mulai terasa. Bahkan dengan jumlah 1 juta pengguna yang oleh Netflix butuh 3.5 tahun ternyata ChatGPT hanya butuh 5 hari (link).

Jika masih diam saja, servis-servis lain Google seperti mail, Youtube bisa saja dikalahkan pemain baru dengan kemampuan AI yang terintegrasi Chat dan sejenisnya. Dengan chat yang teks saja sudah begitu heboh apalagi dalam bentuk gambar dan video. Untuk itu diperlukan periset-periset tangguh yang tentu saja tidak bisa lagi merekrut ‘tanpa ijasah’, mutlak diperlukan peneliti-peneliti yang tidak hanya jago praktis, melainkan juga teoritis dan analitis. Yuk, mulai oprek-oprek AI.

 

Analisa Sentimen dengan Generative Pre-trained Transformer (GPT)

Generative Pre-Trained Transformer (GPT) merupakan salah satu engine pada ChatGPT dalam memberikan respon terhadap pertanyaan ketika chatting. Biasanya analisa sentimen menggunakan Naïve Bayes, SVM, Random Forest, Neural Network, Gradient Boosting, dan yang terkini BERT. Namun GPT ternyata dapat digunakan untuk analisa sentimen.

Berikut ketika saya tanya konten: “Pemerintahan saat ini sangat buruk. Tidak banyak membantu masyarakat. Hanya menguntungkan pemilik modal atau orang-orang kaya saja.” Ternyata jawabannya di luar dugaan, tidak hanya menebak dengan baik, penjelasannya pun masuk di akal.

Untuk yang tertarik dengan sentiment analysis, tidak ada salahnya menggunakan model GPT untuk menganalisa sentimen. Tentu saja perlu pengecekan kecepatan proses mengingat saat ini masih Naïve Bayes yang paling cepat, walaupun kalah akuran dengan lainnya.

Kebanyakan riset menganalisa konten twitter yang memang gaya bahasanya ‘jeplak’ tanpa ‘tedeng aling-aling’ sehingga sangat mudah untuk analisa sentimen. Bagaimana dengan media masa dengan bahasa yang terkadang penuh dengan retorika, majas, ironi, dan sejenisnya. Misal saya menanyakan sebagai berikut:

Menurut anda, kalimat: “pemerintahan saat ini sungguh hebat, para koruptor, politikus licik, dan kutu loncat politikus sangat dimanjakan”, bersentimen positif atau negatif? Jawabannya sungguh di luar dugaan:

Kalimat “pemerintahan saat ini sungguh hebat, para koruptor, politikus licik, dan kutu loncat politikus sangat dimanjakan” sebenarnya bersentimen negatif, meskipun secara tertulis dapat diartikan sebagai sentimen positif.

Dalam kalimat tersebut, meskipun ada pengakuan positif terhadap pemerintahan saat ini yang disebut sebagai “sungguh hebat”, namun ungkapan selanjutnya menyatakan bahwa para koruptor, politikus licik, dan kutu loncat politikus sangat dimanjakan. Ungkapan tersebut jelas menunjukkan pandangan negatif terhadap pemerintahan, karena pemerintah yang hebat tidak akan memanjakan atau mendukung keberadaan koruptor, politikus licik, dan kutu loncat politikus.

Dalam analisis sentimen, kalimat-kalimat seperti ini cenderung dikategorikan sebagai sentimen negatif karena mengungkapkan pandangan atau evaluasi yang tidak menyenangkan atau merugikan terhadap suatu subjek atau topik.

Gimana? Perlu jadi pertimbangan dong model GPT untuk analisa sentimen?

Selamat Datang AI

Beberapa film menunjukan dampak positif dan negatif dari penggunaan AI di dunia. Dari film ‘AI’ dengan tokoh utamanya robot anak, robocop robot polisi, hingga yang membahayakan seperti David dalam film “Prometheus” (diberi kemampuan berkehendak, akhirnya merusak satu planet, hingga berambisi menjadi tuhan).


Banyak yang mengkhawatirkan masuknya AI tanpa adanya batasan. Mungkin karena bisa dimanfaatkan untuk kejahatan, atau bisa merugikan di kemudian hari walau saat ini mungkin belum terasa dampaknya. Salah satu AI yang cukup mengganggu misalnya engine pada catur (www.lichess.org atau www.chess.com), membuat wasit membutuhkan alat bantu apakah seseorang menggunakan engine atau tidak, hingga perlu AI juga untuk mendeteksi pemain menggunakan engine atau tidak.

Yang saat ini heboh adalah chatgpt (https://chat.openai.com/chat) dengan kemampuan seperti google tapi mampu berkomunikasi layaknya manusia. Beberapa waktu yang lalu saya memiliki masalah (vektorisasi data NLP dengan TF-IDF yang keluarannya tidak sesuai dengan jumlah record). Dengan google saya perlu mencari kasus-kasus yang mirip, dan mentok ke problem-problem yang sering terjadi saja.

Uniknya ketika masih mentok, belum ada jawaban yang fix, dia bertanya “bisa mengirim sample kode?”. Nah ketika saya paste potongan kode ke chatgpt, makhluk buatan ini langsung menjelaskan detil disertai revisi kodenya dimana [‘text_column’] harus ditambahkan, tidak hanya transform(db_df).

Bahkan Scopus sendiri memasukan ChatGPT sebagai Co-Author artikel ilmiah. Hal ini menyamakan level AI layaknya Co-Author saat ini (manusia). Kita tunggu saja apakah ChatGPT bisa sebagai First Author, dari merancang riset, menulis, submit dan lain-lain.

Aplikasi ini juga mengancam pengajar (guru dan dosen) dalam proses pembelajaran, terutama dalam tugas dan ujian. Mesin-mesin plagiasi perlu mencari cara apakah suatu tulisan dibuat manusia ataukah engine AI. Di Perancis, aplikasi ini dianggap ‘high risk’ dan diband (Link).

Bagaimana jika seorang teroris membuat ChatGPT palsu kemudian secara diam-diam chat dengan anak-anak muda dan melakukan doktrinasi ke remaja-remaja yang masih labil yang tanpa sadar si remaja itu chat dengan manusia yang menyamar sebagai engine dan mengajarkan hal-hal berbahaya.

Selama idola, fans, role model masih manusia, entah itu atlit, artis, guru dan dosen, keberadaan kita masih dibutuhkan. Guru dan dosen pun jadi sadar bahwa tidak hanya transfer ilmu dan skill saja yang diiperoleh dari institusi pendidikan melainkan akhlak, teladan yang baik, hingga bertambahnya network/jaringan/circle. Sekian, semoga bisa menginspirasi.

Mudahnya Membandingkan Metode LVQ, Naïve Bayes, SVM, dan Random Forest

Saat ini metode-metode machine learning sepertinya sudah established sehingga pengguna tinggal memilih metode apa yang cocok. Beberapa jurnal juga sudah menyediakan laporan tentang kinerja metode-metode yang ada termasuk bagaimana meng-improve nya.

Kalau dulu kita harus membuat kode, menyiapkan data latih, validasi, dan testing, sekarang data sudah tersedia, misal daya IRIS pada Python. Bagaimana dengan metode? Seperti postingan yang lalu, kita bisa gunakan Chat GPT.

A. LVQ

Linear Vector Quantization (LVQ) adalah salah satu jenis jaringan saraf buatan yang digunakan untuk klasifikasi. LVQ digunakan untuk mengklasifikasikan suatu data ke dalam kategori yang telah ditentukan sebelumnya. Masukan kata kunci: “bagaimana membuat lvq dengan contoh data iris python?”.

Kopi kode dengan mengklik pojok kanan atas. Lalu paste di Visual Studio Code (saya sarankan menggunakan editor praktis dan gratis ini).

Jika ada pesan No Module … berarti harus instal library dengan PIP. Lihat google bagaimana menginstal library tersebut. Setelah selesai, run visual studio code Anda. Oiya, instal dulu Python di visual studio code, buka terminal dan lihat hasil runnya.

Akurasi LVQ untuk dataset IRIS ternyata 86.67%. Berikutnya kita coba Naïve Bayes.

B. Naïve Bayes

Masukan kata kunci: “bagaimana klasifikasi naive bayes data iris python?” seperti sebelumnya, dengan mengganti LVQ dengan Naïve Bayes.

Algoritma Naive Bayes bekerja dengan menghitung probabilitas kelas target dari suatu data berdasarkan probabilitas masing-masing fitur yang terdapat pada data tersebut. Algoritma ini memiliki tiga jenis dasar yaitu Naive Bayes Gaussian (untuk data yang berdistribusi normal), Naive Bayes Multinomial (untuk data yang terdiri dari frekuensi hitung), dan Naive Bayes Bernoulli (untuk data biner).

Dengan cara yang sama, copas kode masukan ke Visual Studio Code, jalankan dan ternyata diperoleh akurasi di atas LVQ, yakni 96.67%.

C. Support Vector Machine (SVM)

SVM sangat terkenal karena keampuhannya, namun kurang disukai karena proses yang lambat. Support Vector Machine (SVM) adalah salah satu algoritma pembelajaran mesin yang digunakan untuk klasifikasi dan regresi. SVM bekerja dengan membuat sebuah hyperplane (bidang pemisah) yang dapat membedakan antara kelas-kelas data pada sebuah ruang fitur (feature space).

SVM bertujuan untuk mencari hyperplane yang optimal, yaitu hyperplane yang memberikan margin terbesar (jarak terbesar antara hyperplane dan data dari setiap kelas) antara kelas-kelas data. Margin adalah jarak antara dua hyperplane yang sejajar dan melewati data terdekat dari masing-masing kelas. Dalam hal ini, SVM mengambil data yang berada di dekat hyperplane untuk membuat keputusan kelas.

Ternyata akurasinya cukup ampuh, 100%. Jauh di atas Naïve Bayes, apalagi LVQ.

D. Random Forest (RF)

Ada satu model machine learning klasik yaitu Random Forest (RF) yang cukup terkenal. Random Forest (hutan acak) adalah salah satu algoritma pembelajaran mesin yang populer untuk masalah klasifikasi dan regresi. Algoritma ini menggabungkan konsep dari dua teknik pembelajaran mesin, yaitu pohon keputusan (decision tree) dan teknik bootstrap aggregating atau bagging.

Dalam algoritma Random Forest, beberapa pohon keputusan dibangun secara acak dengan menggunakan subset acak dari fitur-fitur dataset. Hal ini dilakukan untuk menghindari overfitting, yang dapat terjadi ketika sebuah pohon keputusan dibangun pada semua fitur.

Metode ini ternyata cukup akurat, sama dengan SVM, 100% akurat.

Bagaimana untuk publikasi jurnal? Tentu saja saat ini jurnal membutuhkan novelty atau kontribusi. Jika tulisan ini akan dipublish di jurnal internasional, pasti ditolak karena tidak ada kebaruan baik dari metode, maupun dataset implementasi.

Improve Metode vs Domain Implementation

Bagi peneliti ilmu komputer biasanya menemukan metode yang lebih baik dari yang ada sekarang, baik dengan murni baru atau hybrid/penggabungan dengan metode yang ada agar dihasilkan metode baru yang lebih cepat dan akurat.

Terkadang bidang tertentu, seperti kedokteran, SIG, keuangan dan lain-lain dapat menerapkan metode yang telah ada. Hal ini terkadang dianggap kontribusi, terutama pada bidang-bidang yang memang jarang disentuh Machine Learning.

Ditolak atau tidaknya naskah terkadang dilihat dari hal tersebut, jika fokus ke perbaikan metode, maka jika tidak ada model usulan, pasti ditolak. Tapi jika fokus ke domain implementation, jika pada pembahasan hanya membahas akurasi model maka dipastikan naskah tidak tepat, karena seharusnya pembahasan fokus ke domain implementation (impak terhadap domain baik dari sisi sistem atau kebijakan). Sekian semoga bermanfaat.

Transfer Learning

Salah satu tugas machine learning adalah proses training. Proses ini memerlukan sumber daya yang besar. Selain itu diperlukan pula data yang banyak dari ribuan hingga jutaan. Nah, untuk menghemat biasanya digunakan proses transfer learning.

Di sini transfer yang dimaksud adalah menggunakan model deep learning yang telah dilatih oleh pihak lain untuk kita latih dengan pengetahuan yang baru sesuai dengan bidang khusus tertentu. Model yang dilatih oleh pihak lain dikenal dengan istilah pretrained model. Banyak vendor yang menyediakan pretrained, salah satunya adalah tensorflow.

Prinsip kerjanya adalah model pretrained dengan kemampuan mengklasifikasi 1000 kelas misalnya, jika kita akan menambahkan 10 kelas baru, maka cukup mengganti beberapa layer bagian luar dari 1000 kelas menjadi 10 kelas selanjutnya dilatih dengan data 10 kelas tersebut. Sebelumnya layer yang sudah dilatih oleh pretrained dibekukan (freeze).

Misal ada model pretrained yang bisa membedakan benda-benda tertentu seperti meja, kursi, piring, dan gelas. Jika kita diminta membedakan gelas tertentu seperti cangkir, gelas anggur, gelas antik, dan lain-lain, kita tinggal melatih ulang model pretrained dengan kelas gelas yang baru dan model bisa membedakan meja, kursi, pring, dan gelas-gelas tertentu. Berikut video bagaimana menggunakan transfer learning dengan MATLAB dan Python.

CRISP-DM & CRISP-ML

So far, we are familiar with both waterfall-based and iteration-based development cycles. The rapid development of Artificial Intelligence (AI) and Machine Learning (ML) makes it quite difficult for vendors to follow the development methods used because AI, DM, and ML involve datasets. So the data and methods in ML cannot be separated.

One of the development processes currently used is the Cross Industry Standard Process for Data Mining (CRISP-DM). This process integrates DM modeling into the development process. Especially in the data understanding to evaluation section.

After CRISP-DM was used to create Data Mining-based applications, some developers needed a new process standard specifically for ML, especially due to the rapid development of Deep Learning. So that raises CRISP-ML where ML is slightly different from DM. An integration with quality assurance (QA) results in the CRISP-ML(Q) development model.

In accordance with its meaning, ML requires a learning process before inference, which is usually unsupervised. For more details, please see the following video.

CNN Menggunakan Matlab

Convolutional Neural Network (CNN) merupakan model awal Deep Learning. Model ini menerapkan prinsip konvolusi dengan proses filtering bertahap sebelum diperkecil dengan teknik pooling. Manfaatnya untuk mengurangi resolusi citra input agar mudah diproses sistem.

2D_Convolution_Animation

Untuk mencoba CNN dengan MATLAB bisa menggunakan MATLAB online (lihat pos yang lalu). Salah satu kendala MATLAB adalah harga lisensi yang mahal. Namun untuk pemula ada baiknya karena MATLAB menyediakan sumber yang lengkap dalam fasilitas helpnya, misal link berikut. Dan sumber tersebut gratis. Jika sudah mengerti silahkan lanjut ke Python, C++ dan lain-lain yang open source.

Berikut video materi kuliah online tentang CNN. Semoga bermanfaat.

Menjalankan MATLAB Gratis via Mathworks.com

MATLAB merupakan bahasa pemrograman yang dibuat oleh Mathworks, inc. Keunggulannya adalah kemampuan dalam mengelola matriks dan array. Sehingga bagi pemula lebih mudah mempelajarinya dibanding bahasa Python, apalagi bahasa C dan sejenisnya.

Salah satu kelemahan terbesarnya adalah lisensi yang cukup mahal. Versi terbaru sekitar 30-an juta rupiah. Jadi untuk industri pembuatan software kurang menguntungkan. Alhasil, bahasa ini untuk akademisi banyak digunakan tetapi di industri kurang diminati, jika dibandingkan dengan bahasa open source lainnya seperti Python atau Java.

Untungnya banyak cara untuk menggunakan aplikasi MATLAB tanpa membeli lisensi, tentu saja dengan cara yang legal, antara lain trial dan online. Karena trial hanya berlaku sebulan, maka cara kedua lebih layak, yaitu via online dengan mengakses www.mathworks.com.

Video berikut ini menjelaskan penggunaan MATLAB online untuk kasus Neural Networks. Di sini sedikit dijelaskan terlebih dahulu apa yang membedakan Artificial Intelligence dengan Computational Intelligence, atau yang dulu sering disebut Soft Computing.

Online Learning Using MATLAB

Today, it is undeniable that most machine learning researchers use Python, especially in industry. However, in research, due to its ease of use, MATLAB is still often used, especially those that are not too focused on coding.

One of the main problems of MATLAB users is, the license price is very expensive. Fortunately, registration to mathworks.com is still free and you can learn machine learning for free in the help and support section.

The data is already available in MATLAB, so it can be used as a reference/benchmarking. From a research perspective, MATLAB can be used as a fair ‘measurement’ and other researchers can also test it. So that the good or bad of a method does not depend on the machine or the quality of coding which may differ from one researcher to another.

The following video shows how to run Matlab online via mathworks.com. That’s all for this post, I hope it’s useful.

Transfer Learning with Matlab

Transfer learning is a term that is often encountered by deep learning practitioners. For those who do not understand, the following explanation may be useful.

In accordance with the ‘word’, transfer learning means using past learning to use new domains or cases. The benefit is that we don’t learn from scratch again. The easiest way is to freeze the pretrained model termed pretrained, and replaces the last layer of the old number of classes with the new model class.

The following video uses Matlab 2021a to demonstrate how transfer learning works, along with techniques for freezing and augmenting data with rotation and translation. The benefit of augmentation is to increase the amount of training data by changing ‘slightly’ from the initial training data.