Let's Explore IT !

Kata mbah Bardolo, IT tidak hanya teknik.. IT tidak hanya sains..
Tetapi IT adalah juga seni, humanisme dan cinta....

Thursday, 1 November 2018

[Artificial Intelegence] Time Series Forecasting: dari Statistik ke Supervised Learning

Data time series adalah data-data yang disusun menurut runtun waktu pada periode tertentu. Bisa harian, mingguan, bulanan, atau yang lainnya. Misalnya, data penjualan barang secara harian dalam satu tahun, data fluktuasi harga saham selama 1 tahun, data cuaca dalam jangka waktu tertentu dan sebagainya. Seperti contoh pada gambar di bawah adalah data time series suhu rata-rata harian Kota semarang selama 5 tahun.


Berbagai Jenis Data Time Series

Berdasarkan variasi datanya, data time series terdisi dari beberapa jenis yaitu data yang bersifat trend, cyclical, seasonal dan irregular/random

Komponen Data Time Series (Sumber: ITfeatures)
Penjelasan:
  • Data Trend adalah kondisi data time series dimana data memiliki kecenderungan naik kecenderungan turun dari waktu ke waktu.  Trend naik misalnya data pendapatan per kapita, data jumlah penduduk.  
  • Data Seasonal adalah data yang muncul secara reguler dan mempunyai pola tetap dari waktu ke waktu.  Contoh data ini seperti data iklim, data penjualan pakaian (cenderung meningkat dan menurun opada kondisi tertentu), dan sebagainya.  
  • Data Cyclical hampir sama dengan musiman, tetapi gerak siklis mempunyai jarak waktu muncul dan sebab yang berbeda-beda, yang tidak pasti dimengerti.  Contohnya adalah industri mobil yang memiliki gerakan siklis 5 tahun, sedangkan konstruksi bangunan mempunyai gerakan siklis antara 15-20 tahun.  
  • Data Random atau Irregular memiliki gerakan yang  tidak teratur sehingga sulit diprediksi. Kondisi ini dipengaruhi oleh misalnya kejadian bencana alam, perang atau sebab-sebab tidak terduga lainnya.  
Model Prediksi Berbasis Statistik

Seiring dengan perkembangan ilmu statistik, data-data time series ini dikembangkan untuk membuat model prediksi atau peramalan. Peramalan untuk nilai-nilai masa depan yang didasarkan pada kondisi masa lampau dari data-data time-series tersebut.   Ilmu statistik mengembangkan peramalan menggunakan data time series dengan teknik pemulusan (smoothing), dekomposisi (decomposition) dan regresi.
  • Teknik pemulusan melakukan prediksi dengan mendasarkan pada prinsip rata-rata dari kesalahan masa lalu (averaging smoothing past errors). Metode ini menambahkan nilai ramalan sebelumnya dengan persentase kesalahan antara actual value dengan forecasting value.  
  • Teknik dekomposisi melakukan prediksi dengan membagi data time series menjadi beberapa komponen baik dari trend, cyclic, seasonal dan random, selanjutnya mengkombinasikan prediksi dari komponen-komponen tersebut.  
  • Teknik Regresi merupakan metode analisis statistik yang digunakan untuk melihat pengaruh antara dua atau lebih variabel. Hubungan variabel tersebut bersifat fungsional yang diwujudkan dalam suatu model matematis sehingga dapat digunakan untuk melakukan prediksi.
Model Prediksi Berbasis Machine Learning

Ilmu komputasi modern mengembangkan model prediksi menggunakan pengenalan pola atau pattern recognition. Ilmu itulah yang dikenal dengan machine learning, yaitu mesin yang mampu belajar dari pola-pola data yang diberikan kepadanya. Salah satu metode belajarnya adalah Supervised learning (pembelajaran yang terarah atau diawasi). Dengan model tersebut akurasi prediksi dari data time-series dapat ditingkatkan secara signifikan.

Permasalahan yang muncul adalah bagaimana melakukan transformasi model peramalan data time series dari statistik univariat dan multivariat ke data yang bisa diolah secara supervised learning? Mengingat bahwa data supervised membutuhkan data yang berlabel.  
Berikut adalah gambaran konversi yang bisa dilakukan.
Transformasi Data
Supervised learning memiliki karakteristik pola input (X) dan pola output (Y), sehingga algoritma dapat belajar bagaimana memprediksi pola output dari pola input.

Bagaimana melakukan Transformasi?

Bahasa Phyton memiliki fungsi utama untuk membantu mengubah data deret waktu menjadi model Supervised Learning yaitu fungsi Pandas shift(). Dengan adanya DataFrame, fungsi shift() dapat digunakan untuk membuat salinan kolom yang forward ke depan (baris dari nilai NaN yang ditambahkan ke depan) atau ditarik kembali (baris nilai NaN ditambahkan ke bagian akhir). Ini adalah perilaku yang dibutuhkan untuk membuat kolom menjadi dataset time series dalam format supervised learning. Perhatikan contoh di bawah ini.

Dari data di atas bisa di konversi menjadi dua kolom dengan menggunakan fungsi shift() seperti berikut ini.


Bersambung..

Literatur :






Thursday, 18 October 2018

[Python for Machine Learning] Contoh Prediksi Sederhana dengan Simple Regresi Linear

Ada banyak cara melakukan prediksi menggunakan machine learning. Salah satunya yang paling sederhana adalah menggunakan Regresi Linear.

Simple Regresi Linear adalah salah satu metode yang biasa digunakan untuk menguji sejauh mana hubungan sebab akibat antara dua buah variabel. Kedua variabel tersebut sering disebut sebagai variabel faktor penyebab (X) terhadap variabel akibat (Y). Variabel X seringkali disebut sebagai Predictor, sedangkan variabel Y sering kali disebut sebagai Response.

Simple Regresi Linear seringkali dipergunakan untuk melakukan prediksi atau peramalan baik tentang karakteristik baik yang bersifat kualitas maupun yang kuantitas.  Selanjutnya model persamaan Simple Regresi Linear adalah seperti berikut ini :

Y = a + bX
Dimana :
  • Y = variabel akibat atau response yang juga disebut sebagai dependent variable.
  • X = variabel penyebab atau predictor yang juga merupakan independent variable. 
  • a  = konstanta
  • b = koefisien regresi, yaitu besaran response yang ditimbulkan oleh predictor.
Berikut adalah studi kasus sederhana untuk membuat machine learning dengan menerapkan metode Simple Regresi Linear.  Sebuah penelitian dilakukan untuk mengetahui pengaruh biaya promosi terhadap pendapatan penjualan sebuah perusahaan.  Simple regresi linear akan digunakan untuk memprediksi nilai penjualan yang akan diperoleh berdasarkan beaya promosi yang dikeluarkan. Disamping itu hasil machine learning juga akan bisa melihat korelasi antara Biaya Promosi  dengan nilai penjualan yang diperoleh. Output lain yang bisa diperoleh adalah grafik korelasinya antara kedua variabel tersebut.

Berikut adalah kode-kode programnya.





Bacaan lengkap tentang topik ini ada di buku Fundamental of Python for Machine Learning, Penerbit Gava Media Yogyakarta, 2018.

Saturday, 8 September 2018

[Python for AI] Instalasi Python Menggunakan Anaconda


Jika Anda akan menggunakan bahasa pemrograman Python, maka Anaconda adalah salah satu paket idola karena di dalamnya sudah berisi berbagai tools untuk melajalankan Python seperti Spyder dan Jupyter Notebook. Sehingga   kita tidak harus menginstalnya secara terpisah-pisah. Anaconda (Anaconda Distribution) dibuat oleh Continuum, dapat digunakan secara gratis, memiliki banyak package dan tool termasuk Python distribution di dalamnya.  Conda memiliki package management system dan environment management system untuk mempermudah pengelolaanya. Distribusi ini dapat beroperasi pada sistem operasi Windows, Linux, OS X dan Windows. Tadinya ini dibuat untuk membuat package untuk Python, sekarang ia bisa melakukan itu untuk software lainnya.

Unduh Installer Anaconda

Instalasi Anaconda bisa dilakukan dengan mengunduh installer-nya terlebih dahulu di website repo continuum (https://repo.continuum.io/archive). Pada repository tersebut Anda bisa memilih versi Anaconda sesuai kebutuhan, tentunya disesuaikan dengan versi Python yang diinginkan. Sebagai contoh yang akan diinstall ini menggunakan Anaconda 3 versi 4.2.0 untuk Windows 64 bit. Gambar di bawah menujukkan installer yang telah berhasil di unduh.


Proses Instalasi

Setelah mengunduh dan mendapatkan master instalasi, berikut adalah langkah-langkah yang harus dilakukan.
  • Double klik installer Anaconda seperti yang ada pada di atas, dan akan muncul tampilan seperti di bawah ini.
  • Klik tombol Next untuk melanjutkan proses dan selanjutnya akan tampil kotak Licence Agreement seperti di bawah ini.
  • Bacalah terlebih dahulu poin-poin yang ada di dalam kotak License Agreement, dan jika Anda setuju, tekan tombol I Agree untuk melanjutkan
  • Kotak dialog yang tampil berikutnya seperti pada gambar di atas adalah kotak pemilihan tipe instalasi. Disarankan pilih default saja atau All User (tipe instalasi untuk semua user dalam komputer). Setelah itu tekan Next dan akan muncul tampilan untuk memilih Destinaton Folder atau folder lokasi instalasi.
  • Anda bisa memilih lokasi instalasi dengan menekan tombol Browse. Tetapi jika tidak ada kebutuhan khusus, disarankan untuk membiarkan pilihan default saja, yaitu melakukan instalasi pada folder Program Files.
  • Setelah memilih folder lokasi instalasi, tekan tombol Next dan akan muncul kotak dialog Advanced Installation Options sebagai berikut.
  • Untuk opsi instalasi di atas, juga disarankan untuk membiarkannya default saja dengan memilih 2 opsi yang disediakan. Selanjutnya klik tombol Install.
  • Proses instalasi berjalan, tunggu sampai selesai prosesnya.
  • Selanjutnya setelah instalasi selesai, Anda bisa mencoba membuka Anaconda Navigator pada start menu windows. 

Jika Navigator terbuka seperti pada gambar di atas, maka instalasi telah berhasil, tetapi  jika tidak perlu di cek apakah proses instalasi sudah dilakukan dengan benar.

Monday, 2 July 2018

[Artificial Intellegence] Meningkatkan Performa Machine Learning dengan Otak-atik Data

Seperti yang sudah sering disebutkan dalam artikel-artikel sebelumnya (baca: AI dan Machine learningFase naik turun Kecerdasan Buatan), saat ini machine learning kembali menjadi idola dalam riset-riset kecerdasan buatan. Apalagi setelah diperkenalkannya deep learning pada tahun 2006 dan diikuti dengan munculnya GPU Server pada tahun 2009. Dalam dunia akademik, machine learning saat ini juga menjadi salah satu topik riset yang diminati baik untuk skripsi, tesis mahasiswa atau bahkan penelitian mandiri yang dilakukan dosen-dosen di bidang TI. Lalu apa yang bisa diteliti dari Machine Learning? Salah satunya adalah tentang bagaimana meningkatkan performa dari suatu metode dalam machine learning. Jasson Brownlee dalam Machine Learning Mastery mencatat bahwa secara garis besar terdapat 4 cara untuk melakukan improve terhadap performa machine learning. Keempat cara tersebut adalah sebagai berikut:
  1. Peningkatan performa dengan Data.
  2. Peningkatan performa dengan Algoritma
  3. Peningkatan performa dengan Tuning
  4. Peningkatan performa dengan Ensembles.
Selanjutnya tulisan ini akan mencoba membahas terlebih dahulu salah satu strategi peningkatan  performa machine learning dengan mengotak-atik data. Mudah-mudahan ke depan dapat diikuti dengan pembahasan mengenai peningkatan performa dengan algoritma, tuning dan ensembles.

Data adalah "makanan pokok" dari sebuah machine learning.  Jadi machine learning yang canggih pun tidak berarti apa-apa tanpa adanya data. Data merupakan bahan yang digunakan untuk melakukan pembelajaran (training) sehingga mesin dapat mengeluarkan hasil analisis yang benar tentang sesuatu. Sebagai contoh jika kita akan membuat machine learning yang mampu mengenali seekor kucing, maka untuk kebutuhan training perlu disediakan data yang berupa ratusan, ribuan atau bahkan jutaan gambar kucing. Setelah training selesai dilakukan, maka diharapkan mesin dapat mengenali gambar kucing dalam berbagai pose dan bentuk. Lalu bagaimana melakukan strategi peningkatan performa mesin dengan mengotak-atik data? Untuk itu, cobalah berkreasi dengan data Anda. Cobalah memikirkan perpektif baru dan berbeda pada data Anda. Berikut adalah beberapa hal yang bisa dilakukan.

Cari lebih banyak data.

Hal ini penting dilakukan karena metode machine learning modern non-linear seperti deep learning membutuhkan lebih banyak data untuk meningkatkan performanya. Teknik peramalan iklim misalnya, membutuhkan data yang sangat besar bahkan sampai 30 tahun terakhir data iklim harian untuk kebutuhan training dan testing.

Menciptakan alternatif data sendiri

Jika Anda tidak mendapatkan lebih banyak data, maka lakukan generate data untuk menciptakan sendiri data tersebut. Salah satu caranya adalah dengan agumentasi dan permutasi data. Augmentasi merupakan teknik manipulasi data tanpa kehilangan inti atau esensi dari data tersebut. Sebagai contoh jika Anda memerlukan 1000 gambar kucing, tetapi ternyata hanya mendapatkan 700 gambar, maka Anda bisa melakukan rotate, flip atau bahkan crop terhadap gambar-gambar yang sudah ada sehingga kebutuhan akan 1000 gambar tersebut terpenuhi.



Pembersihan Data (Data Cleansing)

Membersihkan data dapat meningkatkan performa machine learning. Pembersihan data yang dimaksud adalah proses mendeteksi data-data yang rusak, tidak lengkap, tidak akurat atau memiliki memiliki format yang tidak sesuai. Data tersebut kemudian dapat dibersihkan dengan cara mengubah, mengoreksi atau bahkan menghapusnya jika perlu.

Resampling Data

Resampling adalah melakukan sampling kembali terhadap data sampel yang sudah dikoleksi sebelumnya. Resampling adalah melakukan sampling terhadap data sampel yang sudah dikoleksi.  Beberapa teknik yang dapat digunakan untuk resampling diantaranya adalah Bootstrap untuk mengevaluasi seberapa baik statistic dapat mengestimasi parameter. Serta Jacknife, yaitu teknik resampling yang digunakan terutama apabila terdapat nilai-nilai pencilan pada data. Pada teknik tersebut, nilai pencilan dikeluarkan satu-persatu lalu sampai akhirnya dilakukan resampling pada data yang tidak memiliki pencilan lagi.

Feature Selection.

Feature selection atau seleksi fitur adalah salah satu metode yang digunakan untuk mengurangi dimensi data, menghilangkan data yang tidak relevan, serta meningkatkan hasil akurasi. Seleksi fitur merupakan cara untuk memberikan hasil yang terbaik pada machine learning. Pekerjaan utama seleksi fitur adalah memilih fitur yang akan digunakan dan mengkombinasikan fitur-fitur tersebut untuk menghasilkan konsep induksi yang benar atau hasil yang sesuai.

Feature Engineering.

Feature engineering atau rekayasa fitur adalah proses menggunakan domain pengetahuan dari data untuk membuat fitur sendiri sehingga algoritma pembelajaran mesin dapat bekerja. Fitur dibuat dari data mentah untuk membantu memfasilitasi proses dalam machine learning. Dalam kalangan ahli komputasi, menyebut bahwa rekayasa fitur adalah seni. Jika rekayasa fitur dilakukan dengan benar, hal itu dapat meningkatkan kekuatan prediksi dari sebuah algoritma machine learning.

Literatur :
  • Machine Learning Mastery, jasson Brownlee
Baca juga :

Tuesday, 10 April 2018

[Just Info] Ini dia 6 Jurnal Ilmiah Bidang TI di Indonesia yang terindeks Scopus 2018


Dalam beberapa tahun terakhir, kalangan akademisi Indonesia tak henti-hentinya membicarakan tentang Scopus. Ada berkomentar positif, ada juga yang negatif. Ada yang kritik konstruktif, ada juga yang sekedar "nyinyir", eh..

Tapi apa boleh buat, terutama untuk kami yang lagi studi ini, Scopus menjadi mutlak diperlukan karena menjadi salah satu syarat kelulusan. Okelah, tentu banyak positifnya dibanding dengan negatifnya. Scopus merupakan mesin pengindeks makalah yang merupakan hasil publikasi kalangan akademis dan peneliti dari berbagai dunia. Indeks Scopus ini didalamnya memuat citation indeks yang menunjukkan sejauh mana paper yang kita publikasikan itu dimanfaatkan oleh orang lain (baca: di sitasi).

Artikel kali ini membahas tentang jurnal ilmiah di bidang Teknologi Informasi di Indonesia yang terindeks Scopus. Tulisan ini sekaligus saya buat sebagai self reminder, dan agar mudah dicari jika sewaktu-waktu diperlukan. Berikut adalah hasil pencarian saya.

1. Internasional  Journal of Technology 
    Publisher: Faculty of Engineering, University   Indonesia
    ISSN: 20869614
    Indexed by Scopus: 2010-ongoing (Q4)
    Terbit 7-8 kali dalam 1 tahun
    http://www.ijtech.eng.ui.ac.id/

2. Internasional Journal on Advance Science, 
    Engineering and Information Tecnology
    ISSN: 20885334
    Indexed by Scopus: 2015-ongoing (Q4)
    Publisher: INSIGHT-Indonesian Scociety
    Terbit 6 kali dalam 1 tahun
    http://ijaseit.insightsociety.org

3. Internasional Journal on Electrical Engineering and Informatic
    ISSN: 20856830
    Indexed by Scopus: 2009-ongoing (Q3)
    Publisher: The School of Electrical Engineering and Informatics, ITB
    Terbit 4 kali dalam 1 tahun
    http://www.ijeei.org

4. Journal of Engineering and Technological Sciences
    ISSN: 23375779
    Indexed by Scopus: 2013-0ngoing (Q3)
    Publisher: Institut Teknologi Bandung (ITB)
   Terbit 6 kali dalam 1 tahun
    http://journals.itb.ac.id/index.php/jets

5. Journal of ICT Research and Applications
    ISSN: 23375787
    Indexed by Scopus: 2013-0ngoing (Q4)
    Publisher: Institut Teknologi Bandung (ITB)
    Terbit 3 kali dalam 1 tahun
    http://journals.itb.ac.id/index.php/jictra

6. Telkomnika
    ISSN: 16936930
    Indexed by Scopus: 2011-ongoing (Q3)
    Publisher : Institute of Advanced Engineering and Science (IAES)
    Terbit setiap bulan.
    http://www.iaesjournal.com/online/index.php/TELKOMNIKA/

Melihat data di atas, ternyata grade tertinggi jurnal-jurnal bidang Teknologi Informasi dari Indonesia baru mencapai Q3. Dan sejauh ini hanya 3 jurnal ilmiah yang mencapai level tersebut yaitu Telkomnika (Universitas Ahmad Dahlan),  IJEEI (ITB), dan JETS (ITB).

Total baru 6 jurnal di atas yang saya temukan. Jika teman-teman memiliki informasi tambahan, bisa dituliskan di kolom komentar, nanti akan kami tambahkan di halaman ini.
Semoga bermanfaat.


Sunday, 1 April 2018

[Fiksi] Programmer Love Story - Prolog

Image: Courtesy from Bukalapak
Tahun 1999 adalah tahun dimana Sheila on 7 meluncurkan album perdana mereka. Group yang awalnya sering main di panggung 17 Agustusan ini  sukses meluncurkan lagu-lagu seperti Tertatih, Kita dan yang paling hits Anugerah terindah yang pernah ku miliki. Dan tahun itu, dibalik kaset itu, di sela syair lagu itu, ada cerita manis, cerita pahit dan cerita misteri. Dan, beginilah ceritanya..

PROLOG

Namaku Jono.
Aku lulusan TI. Kata orang, aku jago buat program komputer. Mungkin karena mereka gak ngerti, bagaimana itu program komputer yang baik. Aku sendiri sih tidak merasa jago. Bahkan rada-rada bego. Kadang-kadang, sih.. hahah

Dan dia, Ine Sundari..
Nama yang cukup singkat, mudah dihafal, enak didengar. Seperti orangnya. Manis, enak diajak bicara, dan satu lagi.. menggemaskan. Paling tidak itu menurutku. Nggak tahu kalau menurut kamu.

Aku mengenalnya ketika aku harus mengajarinya sebuah aplikasi komputer yang aku buat sendiri di perusahaan tempat aku bekerja. Jadi, aku programmer, dia operatornya. Mulanya sih biasa saja, aku senang dengan gaya bicaranya. Lembut dan renyah.. kayak keripik benguk crispy buatan tetanggaku.. hahaha.. Kalau sudah nerocos, gak bisa berhenti. Ada saja bahan pembicaraannya. Jadi nyaman aja ngobrol sama dia. Dan entah mengapa, lama-lama aku tertarik dengan semuanya. Dengan semua yang ada padanya. Dengan segala apa adanya...

Tetapi...
Seperti lagunya Titik Sandora dan Muksin Alatas, ada dinding yang terbentang tinggi di antara kita. Dinding atas nama perbedaan. Dinding atas nama keyakinan. Begitu tingginya, sehingga susah sekali menemukan jendela, ventilasi atau bahkan lubang bekas paku sekalipun.

Kadang aku mau putus asa.. Ya sudah, lepas sajalah.. Tetapi hati kecil berkata lain. Apalagi simbahku pernah bersabda "jangan pernah menyerah sebelum kamu bertanding". Itu katanya pecundang. Tidak ada masalah yang tidak bisa diselesaikan. Tidak ada perbedaan yang tidak bisa disatukan. Hitam dan Putih adalah dua warna yang berbeda. Tetapi mereka dapat bersatu dan membentuk warna abu-abu. Sebuah warna yang tidak kalah menariknya. Demikian juga air dengan minyak tanah. Perbedaan polaritas menyebabkan keduanya tidak bisa disatukan. Tetapi toh ada air sabun. Kata pak Gino Guru Fisika SMA-ku, air sabun mengandung surfaktan atau emulsifier yang mampu menyatukan minyak tanah dengan air. Menjadi senyawa baru, yang tidak mungkin untuk dipisahkan lagi.

Demikian pula dengan kami. Ada perbedaan mendasar dan sulit untuk disatukan. Tetapi apakah kami tidak mungkin disatukan? Entahlah.. Ketika perbedaan itu masih nyata, tentu akan sangat sulit bagi kami untuk bersatu. Tapi, bukankah ada air sabun yang bisa menyatukan air dan minyak tanah? Meski mungkin saja harus ada pengorbanan.. Ya, pengorbanan, karena ketika air dan minyak itu bersatu, otomatis ada sisi-sisi lain yang pasti berkurang dari keduanya. Dan aku hanya bisa berdoa, kiranya Tuhan memberikan jalan yang terbaik bagi kami berdua.

Dan, beginilah cerita itu dimulai...
Bersambung..

Thursday, 1 March 2018

[Artificial Intellegence] Memaknai Kotak Hitam Machine Learning: Belajar dari "perdebatan" Suhu LeCun dan Rahimi

Ilustrasi kotak hitam yang tidak berwarna hitam (sumber: techcrunch)
Artikel ini sebenarnya sebagian sudah saya tulis pada akhir tahun 2017 yang lalu, ketika masih hangat-hangatnya diskusi LeCun-Rahimi. Tetapi karena mood nge-blog yang sempat tersendat, sehingga baru sempat memberikan finishing touch dan mengunggah, hampir dua bulan setelahnya.

Yann LeCun (Sumber : Udacity.Com)
Menarik memang menyimak diskusi seru (kalau tidak boleh disebut perdebatan) antara sang Maestro  Artificial Intellegence Yann LeCun dengan peneliti Google Ali Rahimi tentang Machine Learning. Kalangan IT, terutama yang mendalami Machine Learning dan AI tentu tidak asing lagi dengan nama Yann LeCun (lihat: WikipediaGoogle Scholar). Ilmuwan yang saat ini menjabat sebagai Director of AI Research di Facebook ini memiliki kontribusi luar biasa pada perkembangan kecerdasan buatan, khususnya pada bidang  machine learning dan computer vision. Salah satu metode terkenal yang dia kembangkan adalah convolutional neural networks (CNN), sehingga dia disebut sebagai founding father dari convolutional nets tersebut.

Ali Rahimi dalam acara NIPS (Sumber: Youtube)
Sedangkan Ali Rahimi (lihat: ResearchGate) adalah peneliti dari Google Research Departement yang memperoleh Test Time Award pada Conference on Neural Information Processing (NIPS) akhir tahun 2017 yang lalu. Diskusi menarik yang kemudian diikuti pembahasan yang meluas dan cukup "viral" di kalangan pecinta kecerdasan buatan (termasuk di beberapa WAG yang saya ikuti) tersebut dipicu dari pernyataan Rahimi ketika memberikan presentasi saat penerimaan Test-of-Time Award yang mengatakannya bahwa “Machine learning has become Alchemy”. Pernyataan ini ternyata tidak bisa diterima oleh sebagian orang, tak terkecuali LeCun.

Dalam presentasinya Rahimi berpendapat bahwa penelitian machine learning dan alchemist keduanya bekerja sampai tingkat tertentu. Ahli alchemist menemukan metalurgi, pembuatan kaca, dan berbagai obat, sementara peneliti Machine Learning berhasil membuat mesin yang bisa mengalahkan kemampuan manusia, seperti mengidentifikasi objek dari gambar, dan mengenali suara secara akurat dan sebagainya. Namun, teori alchemistian yang mempercayai bahwa mereka bisa merubah logam dasar menjadi emas serta membuat kehidupan abadi itu rontok setelah munculnya konsep Fisika dan Kimia modern.
Revolusi Ilmiah akhirnya membongkar kesalahan teori kuno yang sudah bertahan selama hampir 2000 tahun tersebut.

Menurut Rahimi, kesuksesan model machine learning yang sebagian besar didasarkan pada metode empiris, nampaknya memiliki masalah yang sama seperti alchemist. Mekanisme di dalam model pembelajaran mesin sangat kompleks dan gelap sehingga peneliti seringkali tidak mengerti mengapa machine learning dapat menghasilkan output tertentu dari serangkaian data yang dimasukkan. Dengan kata lain, inner mechanism pada machine learning dianalogikan seperti kotak hitam. Menurut Rahimi, kurangnya pemahaman teoritis atau interpretasi teknis model machine learning perlu menjadi perhatian, terutama jika AI bertanggung jawab atas pengambilan keputusan-keputusan kritis seperti bidang kesehatan, dan sebagainya. Dia mengatakan bahwa sistem seharisnya dibangun di atas pengetahuan yang dapat diverifikasi, teliti dan menyeluruh, bukan pada alchemist..

Pernyataan tersebut memicu tanggapan dari Yann LeCun pada keesokan harinya. Lewat akun Facebook pribadinya, ia mengatakan bahwa menganalogikan Machine Learning sebagai alchemist itu adalah salah. LeCun mengatakan bahwa pemahaman tentang teoritis adalah hal yang baik dan hal itu menjadi tujuan kebanyakan ilmuwan. Tetapi hal yang tidak kalah pentingnya adalah bagaimana menemukan metode baru, teknik baru, dan tentu saja, trik baru. Itu yang dilakukan dalam banyak penelitian machine learning. LeCun bahkan menambahkan bahwa dalam sejarah ilmu pengetahuan, artefak-artefak teknik hampir selalu mendahului pemahaman tentang teori. Contohnya, penemuan lensa dan teleskop yang mendahului teori optik, penemuan mesin uap mendahului teori termodinamika, penemuan pesawat yang mendahului teori aerodinamika penerbangan, radio dan komunikasi data yang mendahului teori informasi, dan penemuan komputer yang mendahulua ilmu komputer. Mengapa demukian? Karena para teoritikus akan secara spontan mempelajari fenomena sederhana, dan tidak akan tertarik untuk mempelajari yang kompleks sampai ada kepentingan praktis untuk itu. Di akhir statusnya LeCun menambahkan bahwa sikap skeptis seperti Rahimi adalah alasan utama mengapa komunitas machine learning mengabaikan efektivitas jaringan syaraf tiruan pada tahun 1980-an. Ia khawatir hal tersebut dapat terulang dengan sikap skeptis semacam itu.

Tentang Alchemy

Alchemy adalah ilmu kimia kuno yang bahkan oleh sebagian orang dianggap menyerupai sihir, meski didalamnya berdasar pada pemikiran rasional dari Aristoteles dan Plato. Mereka mengembangkan teori yang menyatakan bahwa semua hal di alam semesta terbuat hanya dari 4 unsur yaitu bumi, udara, api, dan air. Semua hal bisa berubah bentuk dari empat unsur tersebut dengan menerapkan beberapa metode seperti pembakaran, pengeringan, penambahan air, dan pembekuan. Mereka mempercayai bahwa logam bisa di transformasikan menjadi emas (meski pada kenyatannya belum pernah teruji) dan bahkan dipercaya mampu menciptakan keabadian manusia. Seiring dengan munculnya ilmu fisika dan kimia modern pada masa Issac Newton, ilmu alchemy ini mulai ditinggalkan. Lalu mengapa Rahimi menganalogikan Machine Learning seperti Alchemy?

Diskusi Berlanjut

Dan diskusi-pun meluas ke berbagai penjuru dunia. Ada yang nimbrung langsung pada status yang ada di facebook Timeline-nya LeeChun, ada yang membahasnya dalam skala kecil di group-group WA. Salah satu WAG yang saya ikuti adalah INAPR yang berisi teman-teman anggota Indonesian Association for Pattern Recognition. Beberapa teman dalam WAG tersebut mengatakan bahwa pernyataan Rahimi ada benarnya. Disadari maupun tidak, area riset machine learning-deep learning saat ini seolah lebih mementingkan result daripada understanding. Sebagian besar peneliti lebih fokus untuk menggali metode-metode yang menghasilkan result bagus, walaupun metodenya dihasilkan dari sebuah trial error, bukan pemahaman terhadap problem.

Sebagian lagi mendukung pendapat LeChun tentang kebutuhan praktis, terutama jika dikaitkan dengan tuntutan yang harus dipenuhi ketika penelitian bekerjasama dengan dunia industri. Salah seorang anggota WAG menceritakan pengalamannya ketika studi lanjut di Jepang dan ditugaskan oleh kampusnya dalam kolaborasi penelitian dengan sebuah perusahaan komunikasi. Waktu itu penelitian dilakukan rangka membuat facsimile yang mampu membaca tulisan tangan pengguna di Jepang seperti katakana, hiragana, kanji, dan juga roman alphabet. Target yang harus dipenuhi adalah tingkat akurasi yang harus mencapai 99%.  Jadi pekerjaan riset lebih fokus ke parameter-parameter tuning dan optimisasi agar mendapatkan akurasi tinggi dengan model-size yang sekecil mungkin. Itu yang terjadi dalam riset-riset machine learning saat ini.

Di kalangan NIPS, Dr. Yiran Chen, Direktur Pusat Duke of Evolutionary Lab, berusaha menengahi atau menyimpulkan diskusi LeCun-Rahimi ini. Ia mengatakan bahwa LeCun bereaksi berlebihan, karena sebenarnya posisi Rahimi tidak begitu bertentangan. "Yang Rahimi maksudkan adalah bahwa kita sekarang tidak memiliki penjelasan teoritis yang jelas tentang model pembelajaran yang mendalam dan bagian ini perlu diperkuat. Sedangkan LeCun menjelaskan bahwa kurangnya teori yang jelas tidak mempengaruhi kemampuan belajar yang dalam untuk memecahkan suatu masalah. Dan perkembangan teoretis memang bisa saja tertinggal dari praktis.." kata Dr. Chen yang tidak memihak (Sumber: medium.com).

Dan nampaknya ke depan, diskusi-diskusi semacam ini masih akan terus berlanjut. Apakah kita menginginkan model Machine Learning yang lebih efektif tetapi memiliki kekurangan pada clear theoretical explanations, atau model transparan yang lebih sederhana tetapi kurang efektif dalam menyelesaikan masalah-masalah tertentu? Dan tentunya sang waktu, serta perkembangan ilmu pengetahuan akan menjawab itu semua.

REFERENSI:
  1. Ali Rahimi NIPS 2017 Presentation
  2. Yan LeCun take on Ali Rahimi's "Test of Time" award talk at NIPS
  3. The Role of Theory in Deep Learning
  4. Has Machine Learning Become Alchemy?
  5. What is Alchemy?

Thursday, 8 February 2018

[Artificial Intellegence] AI Road Map: Fase-fase Booming Kecerdasan Buatan

Kali ini saya akan coba membahas tentang AI Roadmap, tonggak-tonggak sejarah kecerdasan buatan mulai dari era Alan Turing, ketika pertama kali menggagas komputer cerdas, sampai era jaman now, dimana muncul Deep Learning-nya LeCun, Fei Fei dan Andre Ng.

Merangkum dari berbagai sumber (Wikipedia AI Timeline, Toshiba AI ResearcherQualcomm AI Leadership, Kyung Eun Park, dan referensi lainnya), tonggak-tonggak sejarah Kecerdasan Buatan (AI) secara garis besar dapat saya simpulkan seperti pada gambar di bawah ini.

Tonggak-tonggak sejarah Kecerdasan Buatan (Wahyono, 2018)
Jika dilihat dari sejarahnya, ternyata perkembangan AI mengalami fase pasang surut yang cukup berarti. Ada fase dimana AI booming, tetapi ada fase juga dimana AI tidak mengalami perkembangan yang berarti. Dari gambar di atas, dapat dilihat tiga fase booming yaitu fase 1 (1950-1960), fase 2 (1980-1990) dan fase 3 (2010-sekarang).

Saat ini adalah era 3rd AI booming, yaitu era dimana AI dapat lebih mudah digunakan karena munculnya berbagai framework, library dan tools untuk menyelesaikan berbagai masalah besar. Dari sisi metodologi, deep learning menjadi idola dengan efisiensi dan akurasi yang tinggi. Berikut adalah penjelasan singkat dari fase-fase booming tersebut.

First AI Booming (1950-1960)

Prototype komputer cerdas sebenarnya sudah muncul sejak tahun 1950 ketika Alan Turing mengemukakan uji perilaku cerdas pada komputer yang disebut dengan Turing Test. Tetapi kata Kecerdasan Buatan (Artificial Intellegence) sendiri baru muncul enam tahun sesudahnya yaitu tahun 1956, ketika John Mc Carthy mempresentasikan makalahnya tentang AI.  Konferensi itu akhirnya dikenal sebagai konferensi pertama di bidang Kecerdasan Buatan. Selanjutnya pada tahun 1959,  Newell-Sinom berhasil mengembangkan GPS (General Problem Solver) sebagai the first usefull AI program. Dengan demikian pada masa itu AI cukup menjadi idola, dan beberapa metode-pun lahir seperti misalnya K-Nearest Neighbor (tahun 1951), Logistic Regresion (1958) dan Support Vector Machine (1963).

2nd AI Booming (1980-1990)

Fase ini ditandai dengan berkembangnya neural network atau jaringan syaraf tiruan. Metode-metode yang muncul pada era itu antara lain adalah Bayesian Network (1985), Back Propagation (1986), Random Forest (1995). Sementara itu Yann LeCun dan kawan-kawan mulai mengembangkan apa yang disebut sebagai multilayer neural network sebagai cikal bakal deep learning.

3rd AI Booming (2010-sekarang)

Sempat tidak mengalami perkembangan berarti setelah era 1990, AI kembali booming setelah University of Toronto, tempat dimana LeCun, Hinton dan kawan-kawan pernah bermarkas, mengembangkan apa yang disebutnya sebagai deep learning pada tahun 2006. Deep learning yang membutuhkan hardware tingkat tinggi ini semakin pesat perkembangannya setelah Andrew Ng dan kawan-kawan memperkenalkan server GPU. Semakin booming lagi, setelah perusahaan-perusahaan mainstream jaman now seperti Google, Microsoft, Facebook dan Amazon menerapkan juga metode ini untuk pengembangan aplikasi yang mereka miliki. 

Baca juga :

Thursday, 1 February 2018

[Breaking News] Perguruan Tinggi terbaik 2018 versi Webometrics: UKSW masuk 5 besar PTS Indonesia


Seperti yang juga diluncurkan setiap tahun sebelumnya, tanggal 24 Januari 2018 kemarin Webometrics baru saja merelease Ranking Web of World Universities atau peringkat web universitas di seluruh dunia untuk periode semester 1 tahun 2018.

Berikut adalah Rangking 5 besar Universitas di Indonesia :
1. Universitas Indonesia 2. Universitas Gadjah Mada 3. Institut Teknologi Bandung 4. Institut Pertanian Bogor 5. Universitas Syiah Kuala Sedangkan untuk kategori PTS, berikut rangking 5 besarnya: 1. Binus University 2. Universitas Gunadharma 3. Universitas Dian Nuswantoro 4. Universitas Islam Indonesia 5. Universitas Kristen Satya Wacana
Ulasan detailnya dapat di lihat pada tayangan Video berikut ini.



Selamat buat yang berprestasi.. Sumber : Webometrics (http://www.webometrics.info/en/Asia/I...)

Tulisan terkait tentang Webometrics pada blog ini :
1. Webometrics oh Webometrics
2. Strategi meningkatkan Webometrics UKSW


Wednesday, 31 January 2018

[Artificial Intellegence] Memahami AI, Machine Learning dan Deep Learning

Meskipun melalui fase naik turun dan perkembangannya (lihat artikel : AI Road Map, Fase-fase Booming Kecerdasan Buatan) Artificial Intellegence saat ini nampaknya sedang mengalami masa kejayaan. Hal itu bisa dilihat dari berkembangnya berbagai metode untuk membuat komputer cerdas, sampai pada perkembangan hardware canggih yang mendukung beroperasinya metode dan algoritma tersebut. Salah satu metode dalam AI yang saat ini berkembang dan sedang menjadi "idola" bagi kalangan computer scientist adalah Deep Learning. Dan bicara tentang deep learning, tentu tidak terlepas dari machine learning dan AI itu sendiri. Lalu bagaimana kaitan antara ketiganya? Gambar di bawah ini menunjukkan hal tersebut.
Posisi Artificial Intelligence, Machine Learning dan Deep Learning
Mari kita lihat penjelasan lebih lanjut dari ketiga hal tersebut.

Artificial Intelligence (AI)

Dalam bahasa Indonesia sering disebut dengan Kecerdasan Buatan. Berikut adalah beberapa pengertian Artificial Intelligence  menurut beberapa ahli:
  • AI merupakan ranah penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas (H. A. Simon, 1987).
  • AI merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia (Rich and Knight, 1991)
Secara umum bisa dikatakan bahwa AI adalah tentang teknik-teknik komputasi memungkinkan komputer berperilaku cerdas seperti manusia. Ini adalah proses yang memberikan kemampuan pada mesin untuk berpikir dan membuat keputusan tentang apa yang harus dilakukannya.

Machine Learning

Machine learning atau pembelajaran mesin adalah cabang dari Artificial Intelligence yang memiliki fokus pada pengembangan sebuah sistem yang mampu belajar sendiri untuk memutuskan sesuatu, tanpa harus berulang kali diprogram oleh manusia. Dengan metode tersebut, mesin tidak hanya bisa menemukan aturan untuk perilaku optimal dalam pengambilan keputusan, namun juga bisa beradaptasi dengan perubahan yang terjadi.  Dalam pembelajaran mesin, Anda menganalisis kumpulan data yang besar untuk menemukan pola. Melalui algoritma pembelajaran mesin, kita perlu melatih komputer sedemikian rupa sehingga bisa memahami model objek yang dikenali manusia.
Perbedaan Pemrograman Tradisional dan Machine Learning (Brownlee, 2015)
Lalu apa perbedaan pemrograman tradisional dengan pemrograman menggunakan machine learning?Gambar di atas menunjukkan perbedaan keduanya menurut Brownlee (2015). Pada pemrograman tradisional, data dan program dijalankan pada komputer untuk menghasilkan output, sedangkan pada 
pemrograman menggunakan machine learning, data dan output dijalankan pada komputer untuk membuat program, dan kemudian program tersebut bisa digunakan dalam pemrograman tradisional.

Deep Learning

Deep Learning adalah bagian dari ilmu machine learning yang menggunakan arsitektur Neural Networks dengan banyak layer (lapisan) di dalam penerapannya. Hal itulah yang membuat metode ini disebut sebagai Deep Learning, karena memiliki banyak Deep Layers.

Perbedaan Machine Learning dan Deep Learning (Sumber: Xenonstack.com)
Deep Learning menggunakan metadata sebagai input dan menggunakan sejumlah lapisan tersembunyi (hidden layer) untuk mengolahnya dan transformasi non linier dari data masukan untuk melakukan perhitungan nilai output. Deep Learning memiliki kelebihan yang tidak dimiliki machine learning biasa yaitu mampu mengekstraksi fitur secara otomatis, dapat menangkap fitur yang relevan dan diperlukan dalam pemecahan suatu masalah. Hal ini sangat penting dalam sebuah kecerdasan buatan karena dapat mengurangi beban pemrograman dalam melakukan seleksi fitur.

Sumber :
1. Artificial Intellegence - Mobologics Plus
2. Machine Learning Part 1, from Chelseatroy 
3. Log Analitycs with machine Learning and Deep Learning
4. Basic Concept in Machine Learning (Brownlee, 2015)
5. Tentang Deep Learning, Warstek.Com

Tuesday, 2 January 2018

[Algoritma dan Pemrograman] Silakan Cekidot Video Pembelajaran Lengkap dari SekolahIT


Algoritma dan Pemrograman adalah Mata Kuliah wajib yang harus diikuti oleh mahasiswa semester awal program studi Teknik Informatika. Pun murid Sekolah Menengah Kejuruan bidang TI mempelajari hal tersebut, meski dengan porsi yang tetntu saja sedikit berbeda dengan porsi mahasiswa.

Team SekolahIT [www.sekolahit.net] saat ini telah menyelesaikan 7 sesi materi pembelajaran Dasar Pemrograman. Materi tersebut disusun dengan memperhatikan garis besar kurikulum materi pelajaran anak SMK dan juga mahasiswa TI semester awal. Selanjutnya masih tersisa 3 sesi yang sedang dalam progress penyelesaian.

Berikut adalah selengkapnya 7 sesi video pembelajaran tersebut. Silakan langsung di klik link yang ada di bawah ini.

1. Introduction
2. Tentang Algoritma
3. Tentang Flowchart
4. Pengenalan Bahasa C
5. Tentang Tipe Data
6. Tentang Operator
7. Struktur Beruntun

Di bagian bawah video pembelajaran, Anda bisa juga mengunduh Slide atau PPT materi yang disampaikan dan juga source code latihannya jika ada.

Video 1 : Introduction (dasar-dasar pemrograman)

Demikian, silahkan menuju TKP dan semoga bermanfaat.

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Hot Sonakshi Sinha, Car Price in India