Ulasan Buku “Graph Machine Learning : Take graph to the next level by applying machine learning techniques and algorithms”, Claudio Stamile dkk, Packt Publishing, 2021
Graph Machine Learning : Take graph to the next level by applying machine learning techniques and algorithms, Claudio Stamile dkk, Packt Publishing, 2021
Pada hari libur senin dan kamis minggu yang lalu saya menyempatkan membaca buku AI yang baru diterbitkan oleh Packt Publishing, dan cukup menarik ini. Ulasan saya terhadap buku ini saya tuliskan berikut ini, semoga bermanfaat.
Buku ini membahas tentang alat bantu baru untuk mengolah jejaring data dan memanfaatkan kekuatan hubungan/relasi antar entitas—biasanya direpresentasikan sebagai graf— yang dapat digunakan untuk melakukan prediksi, pemodelan dan tugas analitik dengan pembelajaran mesin. Sejauh pengetahuan saya hanya ada beberapa buku yang membahas topik baru machine learning & deep learning yg sdg hangat ini. Diantara dua buku yang lain adalah
- Introduction to Graph Neural Networks, Zhiyuan Liu & Jie Zhou, Morgan Claypool Publ, 2020
- Graph Powered Machine Learning, Alessandro Negro, Manning, 2021
Buku ini memulai pembahasannya dengan pengantar mengenai teori graf dan pembelajaran mesin untuk graf, dan pemahaman tentang potensinya. Selanjutnya pembaca akan diajak memahami secara lebih mendalam tentang model pembelajaran mesin untuk pembelajaran representasi graf (graph representation learning) yang mencakup maksud/tujuan, bagaimana prinsip bekerjanya dan bagaimana penerapannya pada berbagai macam aplikasi pembelajaran mesin dengan supervisi atau tanpa supervisi. Juga dibahas pipeline pembelajaran mesin pada graf yang lengkap, mecakup pengolahan data, pelatihan model dan prediksi dalam upaya memanfaatkan potensi data graf. Beberapa contoh penerapan pada jejaring sosial, pengolahan bahasa alami dan analisis transaksi keuangan dibahas dalam buku ini. Dengan membaca buku ini pembaca diharapkan memiliki pemahaman tentang teori graf dan algoritma serta metoda untuk membangun pembelajaran mesin pada graf.
Buku ini terbagi kedalam tiga bagian besar. Bagian Pertama—terdiri dari dua bab—membahas pengantar tentang pembelajaran mesin pada graf. Bagian ini dimulai dengan membahas konsep dasar teori graf, jenis-jenis graf, visualiasi graf, sifat (property) dari graf, dan beberapa contoh graf. Yang menarik pembahasan teori graf ini ditunjukkan dengan menggunakan pustaka Python “networkx”, sehingga pembaca dapat langsung hands-on bereksperimen sambil memahami prinsip2 teori graf. Beberapa metrik yang sering digunakan pada graf diperkenalkan seperti metrik segregasi, metrik keterpusatan dan metrik risiliensi. Pembahasan dilanjutkan dengan penjelasan mengenai pembelajaran mesin pada graf, selanjutnya diperkenalkan konsep yang menjadi tema utama buku ini yaitu graph embedding, serta taksonomi pembelajaran mesin pada graf. Task yang dapat diselesaikan dengan pembelajaran mesin pada graf, seperti klasifikasi dan prediksi, dapat diterapkan pada beberapa level graf: node level, edge level, dan graph level. Beberapa alat bantu analisis graf selain “networkx” juga dibahas pada bagian ini, diantaranya Gephi untuk visualisasi graf berskala lebih besar, juga disajikan beberapa repositori dataset graf.
Bagian Kedua—terdiri dari 3 bab—membahas pembelajaran mesin pada graf dengan fokus pada penjelasan algoritmanya. Terdapat tiga topik yang dibahas pada bagian ini : pembelajaran mesin pada graf yang tidak menggunakan supervisi, pembelajaran mesin pada graf dengan supervisi, dan beberapa masalah yang dapat dijumpai pada pembelajaran mesin pada graf. Baik pada pembelajaran tanpa supervisi maupun dengan supervisi dibahas penggunaan graph neural networks. Pada pembelajaran mesin graf tanpa supervisi dijelaskan beberapa tipe algoritma seperti shallow embedding, autoencoder, dan graph neural networks. Sementara untuk pembelajaran mesin pada graf dengan supervisi dibahas shallow embedding, metoda regularisasi graf, graph convolutional neural networks (GCNN). GCNN dapat dipandang sebagai generalisasi dari CNN konvensional dengan representasi graf.
Bagian Ketiga—terdiri dari 5 bab—membahas tentang aplikasi lanjut pembelajaran mesin pada graf. Ada beberapa kasus pada dunia nyata yang dibahas pada bagian ini. Yang pertama adalah aplikasi pada jejaring sosial, yang dilengkapi dengan dataset menggunakan “networkx”, dibahas juga topologi jejaring dan deteksi komunitas pada jejaring sosial, serta pembentukan embedding dengan supervisi dan tanpa supervisi. Selanjutnya dibahas analisis teks dan pengolahan bahasa alami dengan menggunakan graf, dan secara khusus diperlihatkan cara membangun pengklasifikasi topik dokumen dengan menggunakan ‘shallow learning method’ dan graph neural networks. Contoh kasus yang ketiga adalah analisis transaksi kartu kredit dengan menggunakan pembelajaran mesin pada graf dengan supervisi maupun tanpa supervisi. Pada bagian akhir dibahas beberapa trend dan riset terkini pembelajaran mesin pada graf.
Setelah membaca buku ini, saya rekomendasikannya untuk para periset, mahasiswa pascasarjana atau level senior sarjana yang sedang melakukan studi dan riset tentang bagaimana menerapkan pembelajaran mesin pada graf. Buku ini juga bermanfaat bagi para praktisi sains data dan pengembang pembelajaran mesin, serta para praktisi graf, khususnya karena dilengkapi dengan kode sumber Python (networkx) pada hampir seluruh bagian/bab buku ini yang tersimpan pada Github, dan contoh aplikasinya pada dunia-nyata serta beberapa repositori mengenai dataset untuk pembelajaran mesin pada graf. Pembaca buku ini diharapkan sedikit-banyak memiliki latar belakang (familiar dengan) teori graf, pembelajaran mesin dan Python. Pembaca cukup menggunakan Jupyter atau Google Colab untuk mencoba kode sumber dari semua contoh2 yang diberikan di buku ini. Pada beberapa bab diperlukan juga alat bantu Neo4j dan Gephi. Saya belum sempat membandingkan buku ini dengan kedua buku yg saya sampaikan diawal ulasan ini tentang machine/deep learning pada graf. Namun sekilas buku “Introduction to Graph Neural Networks” diatas, meskipun memakai kata “Introduction” sebagai judul bukunya, lebih advanced topik bahasannya, dan lebih berat aspek teoritis/matematisnya dibandingkan dengan buku ini yang cukup ‘enak’ dibaca. Kalaupun ada kekurangan dari buku ini menurut hemat saya adalah transisi yang kurang ‘smooth’ dari bahasan tentang pembelajaran mesin konvensional menuju pembelajaran mesin pada graf. Edisi berikut dari buku ini diharapkan dapat mengurangi gap ini.
Bandung, 8 Maret, 2022
Reviewer : Bambang Riyanto Trilaksono (Center for AI, STEI-ITB)