Rabu, 11 September 2019

Matlab - Character Recognition


Disela-sela kesibukan mengerjakan project, penulis iseng-iseng menerapkan algoritma character recognition yang paling sederhana sekali yaitu template matching dengan mempersempit batasan masalah yaitu

Selasa, 10 September 2019

Jumat, 06 September 2019

Matlab - Smooth The Data and Find Major Peaks


 Source: https://www.coldwellbankerhomes.com/ut/heber-city/2181-e-signal-peak-ct-lot-771/pid_32077326/

Data yang secara real didapatkan akan banyak terdapat beberapa gangguan sehingga plot data tersebut tidak semulus apa yang kita harapkan, oleh hal tersebut, maka diperlukan beberapa hal kecil untuk mengubahnya agar lebih smooth. Sebuah plot grafik terkadang dijumpai dalam kondisi yang noise seperti berikut:

Senin, 02 September 2019

Matlab - Text Line Extraction

Saat ini telah banyak algoritma yang diterapkan untuk meningkatkan akurasi pada kasus text line extraction. Salah satu basic nya adalah integral projection,

Sabtu, 20 Juli 2019

Python - Cleaning Dataset



Bekerja dengan dataset yang sangat besar ukurannya, perlu kecermatan. Terkadang dataset tersebut ada yang masih kosong dan untuk melakukan cek satu-persatu secara manual adalah pekerjaan harus dikurangi dan dihindari agar tidak terjadi human error, seperti dataset berikut:

Sabtu, 13 Juli 2019

Laptop Bekas Lenovo Thinkpad x240


Untuk urusan komputasi njlimet seperti algoritma machine learning, computer vision yang membutuhkan kinerja cukup boros seperti penggunaan prosesor serta membaca data-data  besar dalam storage, maka penulis sudah agak bosan menggunakan laptop dengan spesifikasi rendah, akan tetapi cost buat beli laptop yang bagusan dikit, belum cukup.
Hem… mau tidak mau, harus beli laptop bekas donk, setelah cari info sana sini, ada nih laptop bekas yang sangat baik sesuai dengan hal diatas yaitu
  1. Processor  bagus serta
  2. Storage bertipe SSD, dan
  3. RAM yang cukup besar
Tersebutlah merk Lenovo thinkpad x240 dengan spesifikasi berikut

Matlab - Algoritma Meta Heuristik Algoritma Kalelawar

Matlab-Algoritma Kalelawar
sedang ditulis kode ...

Rabu, 03 Juli 2019

Matlab-Pengaruh Rentang Bilangan Random pada Neural Network Backpropagation


Tuning algoritma yang menggunakan bilangan random terkadang membuat pusing, hal ini penulis alami ketika menulis sebuah algoritma jaringan syaraf tiruan backprogation yang terdiri dari hal utama 2 yaitu propagasi maju dan propagasi mundur.

Awalnya penulis tidak terlalu menghiraukan mengenai generator random yang telah disediakan oleh function built in dan dibiarkan generator random tersebut mempunyain rentang nilai 0 s.d 1 dengan sebab bahwa jenis fungsi aktifasi pada algoritma melibatkan sigmoid.

Masalah pun terjadi ketika di run berulang-ulang mempunyai hasil yang berbeda cukup signifkan, misalkan ketika di run ke 1 menghasilkan akurasi 68%, run ke 2 menghasilkan 98% dan begitu terus menerus. Hal ini menjadi tidak stabil, walaupun sempat menyerah. Penulis berpikir memberikan jeda waktu untuk generator random agar bilangan tersebut makin heterogen pun tidak menjadi solusi yang baik.

Matlab-Sistem Hibrid Meta Heuristik Particle Swarm Optimization Dan Neural Network Backpropagation


Particle Swarm Optimization merupakan salah satu teknik heuristik untuk mencari solusi optimal dari fungsi objektif yang tidak ribet dengan meniru perilaku kawanan hewan, sedangkan NN Backpropagation dikenal handal dalam kasus klasifikasi dan dataset dalam ruang dimensi N yang bersifat non linear.

Hibrid kedua diatas tentu sangat menarik, semuanya handal dalam masing-masing kasus. Nah, penulis mencoba mendesain fungsi objektif yang bisa digunakan ke PSO dengan desain dari core engine NN. Perlu diketahui bahwa NN yang digunakan dalam tulisan ini terdiri dari 2 perhitungan yaitu forward dan backward.


Desain dari fungsi objektif PSO menjadi menarik, karena core engine NN harus ‘diinjeksi’ langsung kepada PSO dan harus ‘dibungkus’ rapi menjadi satu sehingga penulis harus membuat kode NN terlebih dahulu. Salah satu rujukan NN yaitu buku karangan Sri Kusuma Dewi.

Jumat, 21 Juni 2019

Matlab Tambah Keterangan Nama Kolom pada Array

Sering kali dalam membuat laporan yang berisikan baris dan kolom, setidaknya diperlukan sebuah nama kolom untuk menghadirkan informasi yang utuh. Biar nggak lupa karena seringnya menggunakan format excel daripada format csv. Misalkan kita mempunyai array dan akan menambahkan keterangan kolom pada array tersebut untuk disimpan dalam bentuk exel

Sabtu, 15 Juni 2019

Python - Step by Step Penerapan watershed

Watershed biasa digunakan untuk memisahkan objek yang saling berhimpitan, biasanya bisa disiasati menggunakan teknik morfologi seperti erotion, dilation, close, open tapi terkadang teknik tersebut kurang efektif, sehingga perlu menggunakan teknik watershed. Berikut disajikan contoh gambar yang saling berhimpitan terdiri dari 2 objek yang saling berhimpitan




Minggu, 19 Mei 2019

Ulasan produk Belajar Mudah Python Dengan Package Open Source - Mulkan Syarif - Kab. Sleman - Toko Buku Kuliah Elmaira | Tokopedia

Ulasan produk Belajar Mudah Python Dengan Package Open Source - Mulkan Syarif - Kab. Sleman - Toko Buku Kuliah Elmaira | Tokopedia: Ulasan / review produk Belajar Mudah Python Dengan Package Open Source - Mulkan Syarif ,Pengetahuan Umum dengan harga Rp 75.000 dari toko online Toko Buku Kuliah Elmaira, Kab. Sleman. Cari product Pengetahuan Umum lainnya di Tokopedia. Jual beli online aman dan nyaman hanya di Tokopedia.

Sabtu, 18 Mei 2019

Kernel Function to Machine Learning


Bila anda bekerja dengan kasus machine learning, tentu pemilihan jenis kernel sangatlah penting, ada banyak jenis kernel, karena penulis sedang mempelajari Support Vector Regression yang membutuhkan kernel trick,

clc; clear all;close all;
x = load('data.csv'); %terdiri dari 2 kolom 
target = load('target.csv'); %target kelas
kernel = @(x) exp(-1*sum(x.^2,2)); %cara kedua
z = kernel(x);
figure()
scatter(x(target==0,1),x(target==0,2))
hold on
scatter(x(target==1,1),x(target==1,2))
xlabel('x'),ylabel('y')
title('Plot Data sebelum hyperplane')
hold off;

figure()
scatter3(x(target==0,1),x(target==0,2),z(target==0))
hold on
scatter3(x(target==1,1),x(target==1,2),z(target==1))
xlabel('x'),ylabel('y'),zlabel('z');
hold off
title('Plot Data setelah hyperplane')


Matlab-Simple Quadratic Programing


Note that xT denotes the transpose of x, and Ax < b means that the inequality is taken element-wise over the vectors Ax and b. The above objective function is convex if and only if H is positive- semidefinite. The quadprog function expects a problem of the above form, defined by the parameters fH; f; A; b; Aeq; beq; l; u; x0; H and f are required, the others are optional (empty matrix [])

Jumat, 17 Mei 2019

Matlab - membuat KFold pada dataset



Kfold Validation banyak digunakan untuk menguji kestabilan sebuah algoritma terhadap beberapa kasus yang bersifat klasifikasi yaitu dengan melipat data sebanyak K dan mengulangi (men-iterasi) experimennya sebanyak K juga. Seperti ilustrasi berikut

Rabu, 10 April 2019

Neural Network Training Using Particle Swarm Optimization


Neural Network Backprogation  (NN BP) sering digunakan dalam beberapa kasus bersifat non linear. Hasil training pada NN BP adalah bobot, dalam hal ini merupakan ‘memory’ yang akan digunakan untuk melakukan prediksi/klasifikasi. Sesuatu yang umum dalam inisialisasi bobot di NN BP menggunakan bilangan random maka hal tersebut menjadi trial and error.

Pada tulisan ini, kita bisa menggunakan Particle Swarm Optimization (PSO) untuk mencari bobot yang optimal sebagai pengganti, yang semula inisialisasi bobot secara random. Adapun fitness function PSO yang digunakan dari function forward NN BP. Kebalikan dari NN BP, untuk input ke PSO berupa bobot sebagai partikelnya.

IMPLEMENTASI PARTICLE SWARM OPTIMIZATION UNTUK INISIALISASI BOBOT PADA NEURAL NETWORK BACKPROPAGATION

Sabtu, 23 Maret 2019

Heuristik dan Metaheuristik




Heuristik (yunani heuriskein) yaitu  seni untuk menemukan strategi dalam menyelesaikan persoalan sedangkan meta berarti metodologi tingkat tinggi atau lanjut (Talbi, 2009).  Di dalam ilmu komputer, metode heuristik merupakan suatu teknik untuk penyelesaian permasalahan yang tidak menekankan pada pembuktian apakah solusi yang didapatkan adalah benar (pembuktian apakah suatu solusi adalah benar merupakan fokus dari metode penyelesaian analitik), tetapi lebih menekankan pada performa komputasi dan kesederhanaan. Metode heuristik  merupakan suatu metode penyelesaian yang menggunakan konsep pendekatan.

Jumat, 15 Maret 2019

Matlab-FireFly Algorithm

Penulis mencoba untuk menulis code Algoritma Kunang-Kunang menggunakan Octave (sintaks mirip dengan matlab) agar code nya lebih mudah dipelajari dan lebih sedikit. Langsung saja, sebuah persamaan berikut dengan fungsi objektif