Backpropagation and Deep Neural Network engine

After discuss with my friend Eko kurniawan, finally we share our deep learning engine project to github. So you can try the engine or contribute to develop the engine (we hope there are a lot of people interested with this project).

Our project started in 2015 when we tried to create a startup company that concern with data analytics or data science. We trying to create the general engine for deep neural network that able to customize the stack of methods, so can be fit with some cases in the real world. And I used this engine for my theses in ITB (Institut Teknologi Bandung) to finished my study in master of informatics (computer science) program.

I hope this engine can be use to resolve a lot of problem that need machine learning implementation, especially for automation system. We call this project “DEEPWISSEN”, hope it will be usefull.

*before, I have explained about Deep Learning in an article in this blog using Bahasa Indonesia :  https://situkangsayur.wordpress.com/2015/07/27/deep-learning/

or in english : https://situkangsayur.wordpress.com/2016/12/25/what-is-deep-learning/

Thanks.

You can check the project repo in this link : https://github.com/situkangsayur/machine-learning

and for the jar : https://github.com/situkangsayur/deepwissen-jar

Kenapa dalam MSE, error di pangkatkan 2? dan kenapa ada yang mengambil 2m (jumlah data) untuk mengambil mean

Assalammu’alaikum,

baiklah setelah kemarin 2 kali seminar (seminar inaicta dan tesis) lau di hari Jum’at, 18 September 2015, 2 kali sidang (sidang tesis dan sidang Jum’at yang berbahagia) hehee… Ada pertanyaan yang dasar banget yang saya tidak bisa jawab, sebenarnya sebelumnya pernah baca penjelasan mengenai MSE dari mana asalnya, tapi saya ngeblank bener-bener lupa, dan memang belum tahu kenapa MSE seperti itu (tujuan squared, atau RMSE dengan tambahan akar pangkat 2 dari error). Jadi pertanyaannya kurang lebih :

  1. apa arti pangkat 2 dari pada RMSE atau MSE?
  2. kenapa dalam MSE yang saya gunakan dalam penelitian tesis itu 1/2m, dimana ‘m’ adalah jumlah data, dan kenapa dalam RMSE digunakan squared root atau akar pangkat 2?
  3. dan apa perbedaanya MSE dan RMSE? kenapa tida jumlahkan errornya lalu bagi jumlah data saja?

Saya agak ngeblank , mencoba mengingat apapun yg pernah saya baca atau lihat videonya, dalam referensi machine learning banyak yg menyebutkan karena “lebih sering digunakan”, tapi kenapa bentuk fungsinya hrs seperti itu? karena make sense kenapa tidak langsung saja delta atau error dibagi jumlah data (absolute error). Setelah sampai masjid baru inget, ada di part video Andrew Ng (entah bagian discussionnya) hahaha…

time to googling dan stackexchange 😀

Nah setelah mendapatkan beberapa informasi berikut hasil pencarian dan diskusi di FB dengan para ahli yg lebih ahli dan lebih senior hehe :

“Revisiting a 90-year-old debate: the advantages of the mean deviation, lebih cenderung ke mean deviation…  tapi http://stats.stackexchange.com/…/mean-absolute-deviation-vs… ,

“the mean deviation is rarely used”…. ada yang bilang agar lebih efisien, atau lebih mudah…

http://stats.stackexchange.com/…/why-square-the-difference-…

https://ww1.cpa-apc.org/Publicat…/…/PDF/1996/Oct/strein2.pdf

http://www.leeds.ac.uk/educol/documents/00003759.htm

Mean Deviation vs Standard Deviation..

untuk penggunaan 1/2m hanya untuk mempermudah membaca cost function dengan mengkalikan dengan setengah. hasilnya akan sama, terhadap proses minimisasi gradien.

 

Dan berikut beberapa komentar diskusi di FB : Continue reading

Machine Learning vs Datamining

Assalammu’alaikum,

Kali ini saya ingin share mengenai Machine Learning dan Datamining, lebih tepatnya mungkin perbedaan antara Machine Learning dan Datamining. Judulnya agak serem juga ya Machine Learning vs Datamining hehehe, tapi tujuannya bukan memperlihatkan mana yang lebih baik, tapi lebih kepada menjelaskan sebenarnya kapan suatu sistem learning atau pencarian pola atau pencarian knowledge (pengetahuan) dikatakan Machine Learning kapan dapat dikatakan Datamining.

Bahasan singkat ini sebenarnya saya ambil dari posting saya di facebook ketika selesai acara seminar CodeLabs UNIKOM yang ada materi mengenai datamining juga. Dan kenapa saya tulis kembali di blog, karena pada tanggal 29 Januari 2014 kemarin ada acara seperti penjelasan mengenai kelompok keilmuan E (Game Tech dan Artificial Intelligence) di Program Studi Teknik Informatika UNIKOM, kebetulan saya menjadi pengisi materi mengenai sistem rekognisi yang memanfaatkan Machine Learning dan ada yang menanyakan mengenai apa perbedaan Machine Learning dan Datamining. Continue reading

Expectation Maximization Algorithm

Unsupervised Learning biasanya memiliki kata kunci clustering atau melakukan peng-klusteran terhadap sekelompok data atau sekelompok instances yang tidak memiliki label, sehingga memiliki informasi bahwa terdapat sekumpulan data yang membentuk cluster, namun kita belum tahu apa pengetahuan atau hipotesis yang membuat instances tersebut saling berkumpul (membuat kelompok) menjadi satu cluster atau lebih.

Expectation maximization algorithm merupakan algoritma unsupservised learningyang memiliki kemampuan untuk melakukan pencarian knowledge dari sekumpulan data yang tidak memiliki label atau target class tertentu, dengan cara melihat nilai setiap instances yang didistribusikan kedalam Gaussian distribution, lebih tepatnya adalah mixture Gaussian, lalu dilakukan iterasi menaik untuk mencari nilai likehood tertenggi untuk setiap instance (melihat kedekatan instances terhadap setiap kluster).

Expectation Maximization Algorithm (EM Algorithm) sendiri merupakan suatu algoritma yang memanfaatkan mixture dari Gaussian mixture. Pada dasarnya E-M Algorithm terdiri dari dua langkah yaitu, expectation dan maximization. Melakukan perhitungan expektasi terhadap suatu nilai probabilitas likelihood, lalu langkah kedua memperbaiki nilai probabilitas terebut dengan merubah parameter pada mixture Gaussian sehingga mencapai maximum likelihood.

Terdapat beberapa hal yang perlu ditekankan dalam EM Algorithm yaitu :

  1. Maximum Likelihood Estimation (MLE)
  2. Mixtures of Gaussians
  3. Estimation-Maximization (EM)

Selebihnya dapat dilihat pada dokumen catatan berikut ini :

Catatan-kecil-EM-Algorithm

*saya agak malas menulis equation didalam wordpressnya hehehe 😀

Contoh program clustering untuk segmentasi jaringan otak :

https://github.com/situkangsayur/SampleEMforBrainSeg