Database, artificial intelligence, dan machine learning merupakan dasar yang penting untuk menyelesaikan permasalahan-permasalahan data mining.

Stanford University School of Engineering membuka kelas online dan free untuk tiga mata kuliah ini. Walaupun kelas yang dibuka ini adalah kelas percobaan, namun jika anda melihat professor yang mengajar tiga mata kuliah ini, akan banyak sekali pengetahuan dan pengalaman yang dari kelas online ini.

Tiga kelas tersebut adalah:

  1. Introduction to Artificial Intelligence by Sebastian Thrun and Peter Norvig
    http://www.ai-class.com/
  2. Machine Learning by Andrew Ng
    http://ml-class.org/
  3. Introduction to Databases by Jennifer Widom
    http://www.db-class.org/

Beberapa link untuk informasi lebih lengkap dapat dilihat di sini.

 

Melanjutkan update kompetisi data mining yang lalu. Ada tiga kompetisi data mining yang sedang dan akan berjalan.

1. Data Mining Cup 2011 (student competition)
2. ECML-PKDD Discovery Challenge 2011
3. Hearst Challenge 2011

Sepertinya tema tahun ini adalah recommendation system. KDDCup, Data mining Cup, dan ECML-PKDD tahun ini semuanya tentang recommendation system.

Have fun with the data.

Saya menemukan dataset yang dapat didownload di Amazon Web Services. Ukuran dataset di sini terhitung raksasa, mulai dari beberapa puluh GB sampai beberapa TB, kebanyakan sekitar beberapa ratus GB. Jenis datasetnya cukup beragam seperti data biologis, astronomi, cuaca, ekonomi, dan lain-lain. Beberapa resource seperti Google books N-gram, DBpedia, dan Freebase tersedia di sini.

Semoga berguna bagi yang memerlukan resource raksasa.

 

Beberapa kompetisi data mining yang sedang/akan diadakan di tahun 2011 ini.

KDDCup 2011 baru saja di mulai tanggal 15 Maret yang lalu. Kompetisi in tentang rating musik, datanya dari Yahoo. Informasi lengkapnya di KDDCup 2011 from Yahoo! labs.

Beberapa kompetisi data mining lainnya ada di Kaggle. Saat ini ada dua kompetisi data mining yang sedang berjalan: Avoid Overfitting, dan Arabic Writer Identification.

Kompetisi terbesar data mining (melebihi rekor Netlfix challenge) akan dimulai tanggal 4 April mendatang, namanya Heritage Health Prize. Kompetisi ini tentang data health care system.

Have fun.

Update (5 April 2011): kompetisi Heritage Health sudah dimulai. Silahkan bermain-main di kompetisi ini.

Beberapa minggu belakangan, saya mendapatkan link dan berita yang sangat mencengangkan dari Cina.

Cina merupakan salah satu negara dengan perkembangan teknologi tercepat di dunia, bahkan sampai ada yang bilang semua hal yang muncul di TechCrunch bisa ditemukan di Cina dalam suatu bentuk tertentu.

Berikut ini tiga berita berkaitan dengan teknologi di Cina yang mencengangkan:

  1. Superkomputer tercepat di dunia ada di Cina
    Sejak bulan lalu, superkomputer bernama  Tianhe-1 (天河一號) yang dikembangkan di National Supercomputing Center in Tianjin ditahbiskan menjadi superkomputer tercepat di dunia mengalahkan pemegang superkomputer tercepat Jaguar dari Oak Ridge National Laboratory di Amerika Serikat. Tidak hanya itu, berdasarkan daftar TOP500, peringkat 1 dan 3 dipegang oleh superkomputer di Cina. Peringkat 3 dipegang oleh superkomputer bernama Nebulae (星雲).
    Link wikipedia: Tianhe-1, Nebulae
  2. Pembangunan sebuah hotel 15 lantai di Cina yang hanya memakan waktu seminggu
    Berita kedua ini mungkin berkaitan dengan teknik sipil tentang pembangunan Ark Hotel di propinsi Hunan, Cina. Menurut orang awam di bidang teknik sipil seperti saya ini, hal ini sangat fenomenal. Kalau orang komputer melihatnya sebagai optimasi scheduling yang luar biasa. Dalam benak saya, dalam seminggu mereka dapat menciptakan tempat tinggal untuk satu kelurahan. Bayangkan saya jika kecepatan pembangunan gedung bertingkat seperti ini, berapa banyak gedung yang akan muncul dalam setahun. Tidak hanya itu gedung ini sudah dilengkapi level 9 earthquake resistance, 6x less material, 5x energy efficient, 20x purification for fresh air, 1% construction waste. Mereka menyebutnya sustainable building.
  3. Perencanaan China Straddling Bus
    Walaupun berita yang ketiga ini masih dalam tahap perencanaan, tetapi inovasi yang dilakukan sangat luar biasa. Desain transportasi ini benar-benar memanfaatkan banyak teknologi tingkat tinggi dalam penerapannya.

    Terjemahan video ini dalam bahasa inggris dapat dilihat di sini.

Marilah kita juga meningkatkan kecepatan dan produktivitas kita masing-masing agar kita juga bisa lebih maju dari mereka.

Ujian kualifikasi berakhir minggu lalu. Terlepas dari hasilnya, banyak hal yang saya pelajari selama mempersiapkan ujian ini.

Secara singkat, ada dua subjek ujian kualifikasi yang harus saya lewati. Tiap subjek, ada empat topik yang diujikan (saya hanya perlu menyelesaikan tiga dari empat topik untuk masing-masing subjek). Kedua subjek itu adalah:

Foundations of Theoretical Computer Science (cs5201), yang meliputi:

  1. Algorithms
  2. Theory of Computation
  3. Principles of Programming Languages
  4. Logic and Artificial Intelligence

Foundations of Computer Systems (cs5202), yang meliputi:

  1. Database Systems
  2. Operating Systems
  3. Computer Networks
  4. Computer Architecture

Kedua subjek ini dinilai sebagai aspek dasar yang minimal sudah dipelajari oleh mahasiswa selama undergraduate study (pendidikan strata 1). Tujuan dari ujian ini adalah untuk menguji pengetahuan dasar, kreatifitas, kemampuan evaluasi, desain and analisa serta mengaplikasikan prinsip-prinsip dasar yang sudah pernah dipelajari. Detail informasi dan referensinya dapat dilihat langsung pada link yang cs5201 dan cs5202.

Beberapa pelajaran berharga yang saya peroleh dari persiapan ujian ini:

Foundation is important

Aspek-aspek dasar sangatlah penting. Seperti bangunan, tanpa pondasi yang kuat, sulit untuk membangun gedung yang tinggi. Masing-masing topik pada kedua subjek saling berkaitan satu sama lain, dan topik-topik ini juga yang menjadi dasar riset lebih lanjut di bidang komputer. Jadi, dasar dari satu topik dapat menyokong dasar yang lain.
Contohnya:

  • struktur data (algoritma) sangat erat kaitannya dengan banyak hal mulai dari index database, filesystem sampai format protokol jaringan
  • page replacement (sistem operasi) berkaitan dengan buffer replacement (database)
  • algoritma routing (jaringan komputer) menggunakan algoritma graph dan dynamic algorithm
  • teori bahasa dan automata (teori komputasi) berkaitan dengan konsep bahasa pemrograman dan analisa kompleksitas algoritma (Polynomial dan Non-deterministic Polynomial)
  • first order logic berkaitan dengan software verification.

Concept is more important than remembering things

Ada banyak algoritma di luar sana. Sangat sulit untuk mengetahui secara detail sebuah algoritma. Bahkan sangat mungkin orang yang mengembangkan algoritma tersebut juga lupa detail algoritma yang dia kembangkan (saya pernah bertanya tentang algoritma di sebuah paper pada penulis aslinya, dan berhubung algoritma tersebut sudah tua, si penulis sendiri juga tidak terlalu ingat detailnya). Pemahaman konsep jauh lebih penting daripada mengingat proses kerja algoritmanya. Dengan memahami konsepnya, kita bisa dengan leluasa mengaplikasikan sebuah algoritma.
Sebagai contoh sederhana,
index pada database pada umumnya diimplementasikan dengan menggunakan hashtable atau B+Tree. Hashtable sangat bagus untuk point query, tetapi sangat buruk untuk range query, sedangkan B+Tree bagus untuk range query, walaupun untuk point query sedikit kalah dibandingkan Hashtable. Database designer dapat mengaplikasikan konsep ini untuk menentukan index database berdasarkan workload query yang sering dilakukan pada database tersebut. Bagaimana dengan attribut yang akan diindex, jumlah buffer yang optimal untuk sebuah sistem? tentunya para database designer sangat akrab dengan hal ini (konsep struktur data, dan buffer replacement sangat berguna di sini).

Independent study

Ujian ini termasuk modul tanpa kuliah. Persiapannya dilakukan sendiri oleh mahasiswa. Kemampuan belajar secara independen merupakan hal yang sangat penting.
Banyaknya materi yang perlu dipersiapkan melatih saya untuk belajar memetakan framework, pengetahuan, dan konsep-konsep yang ada. Selain itu saya menjadi terbiasa untuk bertanya mengapa sesuatu harus didesain seperti itu, dan mengevaluasi pro dan kontra suatu konsep.
Pada dasarnya, semua informasi yang kita perlukan tersedia dan sangat mudah diakses di internet. Tidak ada masa yang lebih mudah dari saat, di mana kita bisa mendapat akses informasi dan pengetahuan secara mudah dan cepat di internet.

Banyak konsep dasar yang tidak pernah saya ketahui selama undergraduate study saya

Pelajaran berharga terakhir ini cukup ironis. Ternyata banyak hal yang merupakan konsep dasar, tidak pernah saya pelajari sebelumnya. Contohnya: query optimization, concurrency control dan recovery (database), konsep dasar P dan NP (algoritma), decidability dan semi-decidability (teori komputasi), hoare logic. Membuktikan kebenaran dan menganalisa kompleksitas (space and time) algoritma yang dikembangkan juga termasuk kebiasaan baru yang dibentuk dari persiapan ini. Believe me, this is very important if you are software developer.
Ada banyak hal yang sudah pernah saya pelajari sebelumnya, dan tidak sedikit juga yang belum pernah saya pelajari sebelumnya. Pada akhirnya, kembali lagi bahwa belajar adalah sebuah proses. Sudah pernah belajar sebelumnya bukan berarti benar-benar paham, dan semakin saya belajar pemahaman terhadap suatu hal akan semakin diperkuat (Remember, learning is an iterative process!!).

    Secara pribadi, saya merasa topik-topik  yang diujikan ini merupakan topik-topik mendasar. Walaupun saya lebih banyak mendalami data mining, machine learning dan artificial intelligence, saya merasa pemahaman terhadap konsep-konsep dasar sangat perlu terutama bagi orang-orang yang membangun sebuah sistem.

    Polling dan artikel tentang prediksi pemenang piala dunia 2010 yang ditulis di KDNuggets benar-benar menggelitik. Setelah 100% berhasil menebak dengan benar semua pertandingan Jerman dan final world cup 2010, gurita dari Jerman ini benar-benar menjadi salah satu “bintang” piala dunia 2010. Bahkan, banyak juga yang mulai request kemungkinan bertanya hal-hal lain untuk diprediksi gurita ini.

    Salah satu kutipan menarik dari artikel ini: “Banyak orang yang lebih tertarik dengan prediksi-prediksi “ajaib” daripada prediksi secara analitik”.

    Jika memang yang “ajaib” akurasinya (keberuntungannya) bisa sampai setinggi ini, tidak heran banyak orang lebih percaya yang “ajaib” seperti ini. Lagipula, tidak ada effort untuk proses training seperti layaknya yang dilakukan oleh data miner.

    Ikuti

    Get every new post delivered to your Inbox.