Jaringan Syaraf Tiruan untuk Riset Doktoral

Jaringan Syaraf Tiruan (JST) merupakan metode terkenal dalam Soft Computing. Metode yang pertama kali diperkenalkan oleh McCulloch dan Pitts ini menggunakan prinsip yang mirip transfer function dalam sistem kontrol/kendali. Sebuah neuron yang mirip neuron makhluk hidup (dalam bentuk yang sederhana) berfungsi menghantarkan suatu masukan ke keluaran berdasarkan proses sebelumnya yang terkenal, yaitu training. Karena prinsip kerja neuron berupa bobot dan bias yang hanya mengandalkan training, akibatnya JST sering disebut “black box” bagi pengguna, berbeda dengan fuzzy inference yang memiliki alur logika dalam bagian rule-nya. Hasil training JST bisa menghasilkan dua sistem yang berbeda jika dilakukan dua kali pelatihan dan hal ini merupakan ciri khas dari soft computing yaitu ketidakpastian (uncertainty).

Ketidakpastian banyak dijumpai dalam kehidupan sehari-hari. Proses kita mengenali wajah seseorang pun sesungguhnya melibatkan ketidakpastian. Penemu fuzzy, L. Zadeh, mengusulkan dibentuknya notasi fuzzy yang menyatakan besaran dalam ukuran yang sering digunakan sehari-hari seperti tua, muda, dan sejenisnya dibanding bilangan seperti 20, 40, 70 tahun, dan sebagainya. Bentuk tertentu terkadang tidak bisa dibuat logika fuzzy-nya sehingga peran JST sangat membantu. Tidak mungkin membuat aturan rule suatu tanda tangan, gambar, warna, bentuk, dan sejenisnya. Sehingga JST memiliki peran penting terhadap suatu bidang yang belum ada aturan/dasar-dasar ilmunya.

DATA SPASIAL

Saat ini data spasial sedang berkembang dan banyak digunakan dalam aplikasi-aplikasi sehari-hari seperti GPS, berita cuaca, data traffic lalu-lintas, dan banyak lagi. Bahkan game terkenal “pokemon” memanfaatkan fasilitas data spasial dalam sistemnya. Menjamurnya angkutan umum berbasis aplikasi online membuat data spasial berkembang pesat.

Perkembangan aplikasi berbasis data spasial ditunjang oleh metode-metode komputasi baik hard computing maupun soft computing. Menghitung jarak tempuh, prediksi waktu ke tujuan, mencari alternatif jalur, sudah banyak diterapkan dalam aplikasi-aplikasi berbasis data spasial. Data spasial memiliki keunikan tersendiri dibanding data lainnya. Di sini ada suatu koordinat yang menyatakan lokasi disertai dengan atribut-atribut lainnya yang mirip tabel biasa. Jadi prinsip sederhananya adalah data spasial merupakan tabel biasa dengan koordinatnya. Tentu saja diperlukan proyeksi geografis jika ingin diterapkan dalam suatu peta.

JST masih perlu dikembangkan untuk aplikasi data spasial mengingat proses training membutuhkan memory yang cukup besar. Tetapi hardware yang berkembang terus menyebabkan metode ini tidak menjadi masalah untuk perangkat-perangkat mobile terkini.

ENVIRONMENT dan PERENCANAAN

Salah satu keunggulan dari JST adalah sifatnya yang fleksibel dan dapat diterapkan ke berbagai bidang. Bahkan bidang-bidang yang berkarakter ilmu sosial pun dapat memanfaatkan JST, salah satunya adalah lingkungan dan perencanaan. Saat ini bidang-bidang tersebut mengandalkan aplikasi-aplikasi yang berbasis data spasial, dan juga statistik tentu saja. Ada istilah spatial metric, yang merupakan statistika terhadap data spasial. Software yang terkenal adalah Fragstats (lihat postingan tentang software ini).

Penerapan yang mencolok adalah pada bidang perencanaan. Di sini suatu model biasanya dibentuk dengan dua metode yaitu logistic regression dan JST. Salah satu keunggulan JST adalah karakteristiknya yang mampu menangani data non-linear, sementara logistic regression harus melinearkan data terlebih dahulu dalam bentuk logaritmik. IDRISI memanfaatkan JST dalam salah satu modelnya (LCM) untuk melatih model terhadap suatu perubahan. Jadi data spasial sangat berkaitan dengan data temporal. Gambar berikut contoh hasil training dengan JST, yang disebut di aplikasi itu dengan nama multi-layer perceptron (MLP) neural network.

RISET DOKTORAL

Untuk yang telah menyelesaikan kuliah doktoralnya pasti merasakan bagaimana sulitnya menjalani pendidikan level ini. Untuk yang belum dan berencana untuk melanjutkan studi, perlu dipersiapkan hal-hal yang penting. Salah satunya adalah proposal dan topik disertasi yang akan diselesaikan. Untuk beasiswa sepertinya saat ini tidak menjadi masalah mengingat kuota yang dibutuhkan masih banyak. Tentu saja syarat bahasa mutlak diperlukan untuk lolos dan memperoleh beasiswa. Kampus tujuan dengan level sedang dan rendah sepertinya tidak mencari mahasiswa yang cemerlang, asalkan lolos syarat minimal dan memiliki/telah memperoleh beasiswa.

Kuliah doktoral tidak lepas dari riset yang harus dipublikasikan ke jurnal internasional. Saat ini untuk menembus jurnal internasional kian sulit karena perkembangan pesat penelitian. Tiap hari muncul temuan-temuan baru yang dipublikasikan dalam jurnal internasional. Bagaimana dengan kita? Kebaruan (state of the art), research gap, dan yang tak kalah penting, tren terkini harus diperhatikan. Jangan sampai mengambil tema yang mudah tetapi sulit tembus jurnal internasional atau terlalu sulit sehingga riset tidak selesai-selesai. Tetapi biasanya promotor mengetahui mana batas idealnya. Terus terang saya sendiri sulit bersaing dalam ilmu komputer murni, bagaimana mengoptimalkan algoritma data mining misalnya, meningkatkan akurasi dan performa lain suatu metode, menggabungkan metode-metode (hybrid) untuk menghasilkan metode baru, dan sejenisnya. Jalan pintas pun diambil dengan menyeberang komputasi untuk bidang-bidang lain yang masih jarang disentuh seperti lingkungan dan perencanaan. Saya terkejut ketika profesor-profesor bidang lingkungan dan perencanaan mengatakan mereka sangat membutuhkan bantuan pakar-pakar bidang ilmu komputer untuk bekerja sama. Bahkan kontroversi-kontroversi dan debat-debat di area mereka, misalnya masalah urban, dapat kita bantu membuatkan analisa kuantitativenya jika tidak ditemui kompromi, seperti yang saya publikasikan dalam salah satu jurnal URBAN ini. Sekian, semoga bisa menginspirasi.

Update: 3 Desember 2017

Untuk yang mengkhususkan riset tentang JST, saat ini deep learning menjadi topik yang sedang hangat (lihat post berikutnya tentang apa itu deep learning dan hubungannya dengan Machine Learning)

Manipulasi Image di IDRISI – Tip dan Trik

Ketika pertama kali menggunakan IDRISI, saya kebanyakan menggunakan ArcGIS (atau GIS tool lainnya) untuk mengelola data raster (*.rst) yang kemudian dikirim/ekspor ke IDRISI. IDRISI hanya digunakan untuk melakukan prediksi pertumbuhan lahan dengan Land Change Modeler (LCM). Selama perkembangannya ternyata masih harus mengutak-atik IDRISI karena beberapa hal antara lain: proyeksi, ukuran/size (baris dan kolom), serta hal-hal lainnya. Postingan kali ini berusaha memberikan tip dan trik, apa yang diperlukan untuk mengelola image di IDRISI.

1. Manfaatkan dengan baik Metadata di IDRISI explorer.

Untuk melakukan prediksi berdasarkan dua peta beda waktu diperlukan syarat utama yaitu ukuran/size (baris dan kolom) dan proyeksi yang sama. Seringkali masalah muncul dimana ketika di ArcGIS kita sudah melakukan cropping dengan peta rujukan tetapi ketika diimpor dari IDRISI ukuran tidak cocok dengan peta lainnya. Gunakan fungsi PROJECT untuk mengatasinya.

2. Lakukan Cropping di IDRISI

Pengguna IDRISI biasanya memanfaatkan data yang diimpor dari citra satelit, misalnya mengunduh dari USGS. Satu tile unduhan biasanya meliputi wilayah luas yang harus dipotong sesuai dengan study area. Gunakan fungsi WINDOW untuk memotongnya. Bidang pemotongan bisa menggunakan study area yang sudah dibuat sebelumnya.

3. Gunakan ukuran area/extent yang lebih besar ketika mengelola dengan ArcGIS

Pernah saya menggunakan area yang sama ketika membuat constraint di ArcGIS, tetapi ketika diekspor ke IDRISI, area tidak sama dan ketika disamakan dengan fungsi PROJECT ada sisi yang kekecilan. Akhirnya setelah memanipulasi dengan ukuran area yang lebih besar, maka dengan memotong lewat fungsi WINDOW diperoleh constraint yang “pas” seperti gambar di bawah ini.

4. Pelajari fungsi-fungsi dasar IDRISI

Alangkah baiknya jika kita membaca buku tutorial resmi IDRISI disertai dengan mempraktekannya langsung dari sample peta yang disediakan. Ternyata disediakan fungsi-fungsi untuk menggabungkan image (di ArcGIS: mosaic to new raster), membuat jarak tertentu (di ArcGIS: distance), membuat slope/kemiringan, dan lain-lain. Selamat mencoba mengutak-atik IDRISI.

 

Creating Elevation and Slope Map in IDRISI

Some thematic maps are useful in LCM as drivers. Roads, rivers, and other important locations can be created using GIS tools, e.g. ArcGIS, ERDAS, QGIS, etc. But elevation and slope which are mainly created from Shuttle Radar Topography Mission (SRTM) can be easily created in IDRISI without other GIS Tools help. By using IDRISI we will easily use the thematic map created without function PROJECT to match with other images.

See how to download SRTM, and how to created slope and elevation map in ArcGIS.

Figure below is elevation map from SRTM. This map must be adjusted both its size and reference using. Whereas sizing use function WINDOW, referencing using Metadata window (below the IDRISI explorer).

Unfortunately our study area needs two tiles to be downloaded from USGS site. Use WINDOW function to crop this map following the study area.

Chose the images to be cropped and the name and location of output image. Fill upper left and right as well as lower left and right. But if you have already a study area map, chose this map in “An existing windowed image” and then press OK. To create slope from the elevation map, use Slope function (just type “slope” in searching menu in IDRISI).

Use again WINDOW function to crop the resulted image according the study area. To match the elevation and slope map, use PROJECT function.

Problem: “variable dimension does not match …” in IDRISI

Users who use a driver of land-use change sometimes face a problem when adding a driver to their model. The warning “variable dimension does not match …” indicates that there was a different column and row format of the driver. To answer this such problem, a discussion from IDRISI official site suggest to check the Metadata which is located belom the file in Idrisi explorer (upper-left).

The figure above shows the different values of columns and rows. There will be a warning although the reference system has already been the same. Use function PROJECT of IDRISI to match the wrong driver columns and rows to the other images (use the land use and land cover images).

Fill the input and output file with their reference system (e.g. UTM-48S). The output reference information is important to match the number of column and row. Click this tab and use your reference image.

Give a checklist to Copy from existing file and after choosing a reference image, number of column and row were adjusted following the reference. After clicking OK your new images will be created. Try to check through Test and selectin of variable in transition potential tab.

    

Membuat Peta Slope dari Peta Elevasi – Problem Z Factor

Postingan yang lalu membahas cara membuat peta kemiringan dari peta ketinggian dengan menggunakan fungsi Slope di tool Spatial Analysis. Tetapi ternyata untuk peta yang dibuat dengan Shuttle Radar Topography Mission (SRTM) perlu dilakukan modifikasi proyeksi. Kalau dipaksakan untuk mengkonversi DEM tanpa melakukan setting agar tidak ada “warning” terhadap Z akan dijumpai Error sebagai berikut.

Tidak mungkin derajat kemiringan se-extreem itu. Buka ArcGIS dan coba geoprocessing tool: Slope. Dengan memasukan DEM dari SRTM tampak ada Warning di posisi koordinat Z (z factor). Jika dipaksakan untuk membentuk peta kemiringan akan menghasilkan peta dengan nilai derajat seperti gambar di atas, yang tentu saja tidak benar.

Langkah-langkah yang harus ditempuh untuk menghilangkan warning pada z factor adalah sebagai berikut.

A. PROJECT RASTER

Buka geoprocessing tool di Arctoolbox di bawah data management. Atau jika ingin cepat, ketik saja project raster di kotak “searching“.

Output coordinate system pilih yang sesuai dengan koordinat geografis lokasi, misalnya untuk Bekasi adalah UTM 48S.

B. MEMBUAT SLOPE

Setelah proyeksi disesuaikan maka aktifkan lagi arctoolbox Slope dan pastikan z factor tidak ada warning seperti gambar di bawah ini.

Tekan Ok, dan pastikan derajat kemiringan sesuai dengan kenyataan. Contohnya adalah gambar di bawah ini. Lakukan proses klasifikasi untuk membuat kelas kemiringan yang sesuai dengan menggunakan Properties pada layer di Table of Contents.

Tutorial dari youtube ini bisa dijadikan referensi, selain untuk membuat peta kemiringan juga membuat presentasi peta lewat layout yang baik.

Membuat Peta Slope dari Peta Elevasi

Ketika membuat salah satu driver LCM, yaitu elevasi, perlu juga membuat driver yang lain yaitu slope. Slope menggambarkan kemiringan suatu dataran, dengan satuan derajat atau persentase. Kemiringan 2% berarti sepanjang 100 meter, suatu dataran naik sebanyak 2 meter. Untuk membuat slope terlebih dahulu diperlukan peta elevasi atau yang sering disebut Digital Elevation Model (DEM).

Peta elevasi biasanya dibuat dengan data SRTM, salah satu data bagian dari USGS. Anggap kita sudah memiliki peta seperti gambar di bawah ini, yang merupakan peta DEM kota bekasi.

Ketik “slope” di menu searching tool di ArcGIS masukan peta elevasi, beri nama keluaran. Anda akan dengan mudah berhasil membuat peta slope dari peta elevasi tersebut. Oiya, pilih slope yang ada di dalam “Spatial analysis”.

Perhatikan peta slope di arcgis dan perhatikan klasifikasi yang jumlahnya banyak dapat disederhanakan dengan editing pada symbologi. Atur klasifikasinya sesuai dengan kebutuhn, misalnya lima kelas. Simak video yang bagus dari youtube di bawah ini.

Menghitung AUC (Area Under Curve -ROC)

Setelah memprediksi perubahan, tugas terpenting berikutnya adalah menghitung akurasi dari model yang digunakan untuk memprediksi. Sub-tab validasi di Change prediction bisa juga digunakan untuk melihat akurasi model lewat mekanisme hits, false alarm, dan mis. Akan tetapi validasi tidak menunjukan angka pastinya. Oleh karena itu tulisan kali ini akan membahas bagaimana menghitung Score AUC yang menurut tutorial 0,8 sudah cukup bagus.

A. Menghitung Actual Change

Dalam tutorial yang disediakan di IDRISI actual change sudah disediakan, tetapi pada kenyataannya untuk menghitungnya kita harus mengurangkan antara lahan real saat ini dengan tahun sebelumnya yang dijadikan patokan prediksi. Misalnya saat ini tahun 2000 maka actual change berarti tahun 2000 dibandingkan dengan tahun 1994 (patokan prediksi tahun sebelumnya). Kurangkan dengan fungsi Mathematic.

Hasilnya masih berupa range dari negatif hingga positif. Oleh karena itu harus dirubah menjadi biner (nol jika tidak berubah dan 1 jika berubah). Caranya adalah dengan menggunakan fungsi RECLASS. Gunakan editor sebagai berikut:

Maksudnya adalah buat negatif atau positif menjadi kelas “1” yang berarti ada perubahan dan nol menjadi kelas nol yang berarti tidak berubah. Jalankan seperti biasa, lihat teknik ini ketika klasifikasi lahan di postingan yang lalu.

B. MENGHITUNG AUC

AUC dihitung dengan menggunakan fungsi ROC yang tersedia di IDRISI. Isi dengan menggunakan Soft prediction yang telah dihitung sebelumnya (lihat postingan yang lalu).

Tekan OK dan pastingan AUC anda muncul dalam bentuk Notepad. Selamat mencoba, lihat postingan youtube di akhir tulisan ini.