What is Deep Learning ??

This article basically just a translation version of the article of deep learning previously in bahasa Indonesia.

This time I want to share about what is deep learning, at least as far as I have learned untul this day (when this article was made). Before I have tried to created a startup company that tried to implement machine learning and deep learning algorithm engine that we made (with my friend).

Many references that we can use on deep learning, especially from big companies such as google, facebook, Baidu, microsoft, amazon, nvidia and others. What was Deep Learning? how important or how valuable deep learning? especially for business, who figures that a lot of research or build deep learning? And why me and my friends want to build their own engine for machine learning before? not a lot of framework, libraries and services (especially such as azure and aws) for machine learning? (when this article was made)

I will not answer all of the questions above, because it will take time to write hahaha, I write as my fingers Moves hahaha Continue reading

Tutorial GIT (Versioning Control System) dengan Menggunakan github

Sudah menjadi standard bagi software engineer atau developer atau programmer untuk menggunakan versioning control system (vcs) dalam melakukan pekerjaan atau hobi menulis programnya. Terdapat berbagai pilihan vcs yang dapat digunakan sejak jama kernel linux pertama kali dibangun hingga hari ini.

VCS berdasarkan wikipedia adalah : “A component of software configuration management, version control, also known as revision control or source control,[1] is the management of changes to documents, computer programs, large web sites, and other collections of information. Changes are usually identified by a number or letter code, termed the “revision number”, “revision level”, or simply “revision”……
….VCS most commonly run as stand-alone applications, but revision control is also embedded in various types of software such as word processors and spreadsheets, collaborative web docs[2] and in various content management systems, e.g., Wikipedia’s Page history.

Berdasarkan git-scm.com : “Version control adalah sebuah sistem yang mencatat setiap perubahan terhadap sebuah berkas atau kumpulan berkas sehingga pada suatu saat anda dapat kembali kepada salah satu versi dari berkas tersebut.” Continue reading

Cara Running Aplikasi Learning Branching GIT di komputer lokal kita

Dulu saya pernah menulis artikel tentang git di page blog geek studio, saya copy artikel tersebut dari sini.

Dalam software development kita biasa menggunakan versioning control system seperti svn, git, mercurial, kenai, dan lain-lain. Yang cukup populer adalah git, ditambah karena git merupakan distributed VCS. Namun tentu kita perlu mempelajari bagaimana menggunakan git dengan efisien dan efektif, dan saya sendiri lebih menyukai menggunakan git via terminal atau console, karena lebih sederhana. Kalau menggunakan aplikasi tertentu (client apps) sepertinya terlihat ribet karena tombol atau fiturnya menjadi terlihat sangat banyak, padahal kalau menggunakan $git –help itu hanya sekitar 22 opsi (dan nanti ditambah argumen2 yang diperlukan) lebih sederhana. Continue reading

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

Apa itu Deep Learning ??

Assalammu’alaikum,

Kali ini saya ingin share mengenai apa itu deep learning, setidaknya sejauh yang saya pelajari hingga hari ini, kebetulan di startup yang kami bangun (bareng teman-teman saya) di starlabs.id (PT. Starlabs Global Teknologi) sedang mencoba mengimplementasikan engine untuk machine learning dan dua algoritma deep learning.

Banyak referensi yang bisa kita gunakan mengenai deep learning, terutama dari berbagai perusahaan besar dunia sekelas google, facebook, baidu, microsoft, amazon, nvidia dan lain-lain. Apa itu Deep Learning? seberapa penting atau seberapa bernilai deep learning? terutama untuk business, siapa tokoh yang banyak melakukan riset atau membangun deep learning? Dan kenapa saya dan teman-teman ingin membangun engine sendiri untuk machine learning? bukankah banyak framework, library dan services (terutama seperti azure dan aws) untuk machine learning? Continue reading

Apa itu Node.JS

Kali ini saya share mengenai node.js, sebuah framework dari joyent, dan creatornya adalah Ryan Dahl. Yang unik dari framework ini adalah, nodejs merupakan platform untuk webapp ataupun aplikasi socket. Dan nodejs dibangun dengan menggunakan javascrtipt sebagai, dan C++ sebagai corenya.

Jika dianalogikan nodejs ini seperti apache web server ataupun nginx atau glassfish, namun cukup dengan source code beberapa line kita dapat membuat server sendiri dan dengan menggunakan javascript. Biasanya kita menggunakan javascript pada front end untuk membuat User Interface yang lebih dinamis, namun dengan node.js, javascript digunakan pada sisi back-end atau server-side, midleware atau pun hingga front-end. Continue reading