Tipe Machine Learning

Walaupun kecerdasan buatan (Artificial Intelligent), Machine Learning, dan Deep Learning berbeda tetapi satu sama lain berhubungan. Deep Learning, yang dimotori oleh Jaringan Syaraf Tiruan lapis banyak, adalah salah satu jenis Machine Learning. Machine Learning itu sendiri adalah salah satu jenis dari kecerdasan buatan.

Machine Learning yang merupakan proses induksi ada tiga jenis. Penerapannya beragam, dari pengenalan gambar, pengenalan suara, pengenalan bahasa, dan lain-lain. Berikut ini jenis-jenisnya:

1. Suppervised Learning

Kebanyakan Machine Learning diterapkan pada jenis ini. Alur prosesnya antara lain: 1) memilih basis pengetahuan untuk menyelesaikan problem. Bandingkan jawaban dengan hasil sesungguhnya, 2) jika jawaban salah, modifikasi basis pengetahuan. Langkah 1) dan 2) diulangi terus hingga jawaban mirip dengan hasil sesungguhnya. Basis pengetahuan itu sendiri diistilahkan dengan Model. Jika disimpulkan suppervised learning memiliki pola:

{ input, correct output }

Dua tipa aplikasi terkenal dari machine learning jenis ini adalah klasifikasi dan regresi. Jika klasifikasi membagi dalam kelas-kelas yang diskrit, regresi bukan dalam kelas melainkan harga tertentu. Masalah yang sering dijumpai adalah Overfitting, yaitu adanya anomali dimana akurasi training yang bagus ketika diaplikasikan dalam kondisi real jatuh. Hal ini terjadi karena proses training tidak mampu menghasilkan generalisasi dari data dalam artian terlalu kaku mengikuti data training.

Namun terkadang klasifikasi dan regresi bekerja sama membentuk sistem seperti support vector regressin, juga neural network regression. Biasanya mengklasifikasi dulu baru meregresi hasil pastinya.

2. Unsuppervised Learning

Berbeda dengan suppervised learning, pada unsuppervised learning tidak diperlukan hasil sesungguhnya (correct output). Pada mulanya hal ini sulit dimengerti, tetapi dapat diterapkan untuk kasus yang memang tidak ada hasil sesungguhnya. Polanya adalah sebagai berikut:

{ input }

Salah satu representasi dari aplikasi unsuppervised learning adalah pengklusteran (clustering) dimana data training diinvestigasi karakteristiknya sebelum dikategorisasi.

3. Reinforcement Learning

Machine learning ini memasukan aspek optimasi dalam pembelajarannya. Jadi selain input, beberapa output dengan grade/kualitasnya digunakan untuk training. Biasanya diterapkan dalam bidang kontrol dan game plays.

{ input, some output, grade for this output }

Clustering dan Classification

Dua aplikasi tersebut serupa tapi tak sama. Untuk jelasnya kita ambil kasus pembagian kelas siswa menjadi IPA dan IPS. Jika kita memiliki data dengan label (output) IPA jika nilai IPA lebih besar dari IPS dan begitu pula sebaliknya kelas IPS jika nilai IPS lebih besar dari IPA, maka karena proses learningnya memiliki target/label/output, maka masuk kategori suppervised learning dan otomatis masuk domain klasifikasi. Namun jika kebanyakan guru IPA-nya “killer”, maka dikhawatirkan seluruh siswa masuk kelas IPS. Disinilah peran pengklusteran. Di awal kita tidak memiliki output tertentu, biarlah data yang membagi menjadi dua, baru diselidiki mana kelompok kelas IPA mana IPS. Tetapi waspadalah, jangan sampai kita membagi dua kategori (cluster) yang salah, bukannya IPA dan IPS malah kelas IPA dan IPS yang bagus dan kelas IPA dan IPS yang jelek, alias membagi siswa menjadi dua kategori siswa pintar dan siswa yang perlu lebih giat belajar (kata Kho Ping Hoo tidak ada orang pintar dan bodoh, tetapi tahu dan tidak tahu). Semoga bermanfaat.

Iklan

Blank Password Problem di Mac OS

Maklum namanya baru menggunakan macbook, masih adaptasi. Setelah membuat dual OS di Macbook (dengan Windows), iseng-iseng mencoba setting password “blank” di Mac OS, malah bingung sendiri. Maksud “blank” di sini adalah dibuat tanpa password. Lumayan jadi buka tutup laptop tanpa password. Tetapi setelah di restart, bingung sendiri ketika mau login di-enter tidak bisa (padahal tanpa setting password).

Ditekan enter tidak bisa, tekan bola dan nama “Herlawati” tidak bisa juga. Ternyata iseng-iseng tekan alt+enter muncul isian baru dimana user name tidak muncul dan harus mengetik ulang.

Lanjutkan dengan menekan panah kiri di samping “Enter password”. Pastikan muncul logo dan nama saja.

Tinggal ditekan gambar bola-nya, akhirnya berhasil login. Repot juga. Langsung saya isi password saja lah, karena lebih repot kalau tanpa password. Lagi pula untuk instalasi baru, misalnya Microsoft Office, untuk install diperlukan password. Oiya, HINT itu ternyata alat bantu untuk mengingat password, misalnya “tanggal lahir”, “nama suami”, dll jika paswordnya itu (muncul ketika salah tiga kali). Tentu saja jangan sampai bisa ketebak orang lain yang tidak berhak. Demikian sharing sederhana saya.

Tujuh Kebiasaan Orang Efektif – Visualisasi

Lanjutan dari post yang lalu. Salah satu kelebihan manusia dibanding makhluk lainnya adalah visualisasi selain dari kesadaran diri. Einstein sendiri menyebutkan “Imagination Is More Important Than Knowledge”. Sebenarnya apa itu visualisasi? Dan bagaimana bisa mempengaruhi prestasi/kinerja seseorang?

einstein-imagination

Komponen Visualisasi

Visualisasi secara fisik terletak di bagian kanan otak. Selain visualisasi, komponen lainnya adalah imajinasi, afirmasi, kemampuan bahasa dan relaksasi, serta dialog terhadap diri sendiri. Banyak pakar yang sudah meneliti, salah satunya disebutkan dalam buku karangan Covey, yaitu Dr. Charles Garfield, yang meneliti performa para astronot di NASA. Dia melihat bagaimana para astronot latihan/gladi resik terus menerus sebelum ke ruang akngkasa. Sehingga pengalaman latihan itu masuk ke bawah sadar seolah-olah telah melaksanakan sesungguhnya. Begitu juga atlit-atlit ternama pun melakukan visualisasi sebelum tanding sesungguhnya, dan hasilnya kebanyakan memenangi pertandingan tersebut.

Jadi jika ingin sukses melakukan suatu kegiatan tertentu, maka dengan memvisualisasikan secara real di fikiran akan menciptakan “internal comfort zone” yang membuat diri seolan-olah telah terbiasa dan telah mencapai target/tujuannya. Akibatnya ketika menghadapi situasi sesungguhnya, tubuh dan fikiran sudah terbiasa. Bahkan beberapa literatur, seperti “the secret“, menganjurkan cara ini agar alam semesta membantu mencapai tujuan yang divisualisasikan dengan jelas. Kalau diistilahkan oleh Prof. Yohanes Surya, “mestakung: semesta mendukung“.

Kesadaran dan Imaginasi

Kesadaran sering dijumpai dalam literatur-literatur keagamaan, misalnya dalam agama Budha pada meditasi. Agama lain pun sama, misalnya retreat-retreat tertentu. Di sini perang hati bahkan lebih penting dari fikiran, dan memunculkan aspek-aspek lainnya seperti empati, khusyuk/fokus, sepenuh hati/ikhlas, dan bentuk-bentuk lainnya.

Namun bisa saja visualisasi digunakan untuk mencapai hal-hal yang negatif di segala bidang. Kita sebaiknya memvisualisasikan kondisi negara yang baik dan dengan demikian visualisasi para elit-elit yang negatif dapat kita kalahkan karena toh, jumlah orang baik di republik ini saya yakin jauh lebih banyak, tinggal visualisasi positif saja yang kita butuhkan. Abaikan berita hoax dan sejenisnya.

Beberapa rekan yang selalu memikirkan studi lanjut ke LN, misalnya Jepang, Eropa, Aussie, dll, kebanyakan akhirnya berangkat dan lulus juga. Oiya, ketika memvisualisasikan, pastikan tidak ada keraguan dalam hati, karena jika tidak, keraguan itulah yang terealisir. Selamat mencoba.

Ambil Kuliah Doktoral, Sulitkah?

Dulu di awal 2000-an, ketika bekerja di IT suatu bank, saya iseng mengajar honorer di satu kampus dekat tempat kerja. Ketika itu yang bergelar master masih jarang. Kalau ada, kesannya wah. Waktu itu masih didominasi MM dan MMSI untuk yang dari komputer. MM di sini magister management yang khusus untuk manajemen IT. Sementara itu, MT sepertinya sudah mulai banyak bermunculan, termasuk MIT yang diterbitkan oleh jurusan teknik elektro.

Aturan Magister untuk Dosen

Tidak perlu waktu lama untuk S2 bermunculan di sana-sini. Bahkan terkesan mudah sekali untuk mendapatkan gelar magister. Hal ini sebenarnya untuk memenuhi kebutuhan dosen yang harus bergelar master (S2). Banyak institusi pendidikan membuka program pasca sarjana magister. Beberapa rekan “dipaksa” untuk kuliah lagi, bahkan ada yang “hilang” nomor induk dosennya (NIDN) karena masih bergelar sarjana (S1).

Setelah mengambil S2, dulu sempat berfikir jangan-jangan kasusnya sama untuk yang S3. Dosen harus bergelar Doktor. Dan nanti banyak dibuka program S3 yang lulusnya mudah. Namun ternyata tidak berlaku untuk doktoral. Untunglah segera berangkat kuliah lagi tak perduli sulit atau tidaknya ikut program doktor.

Pemilihan Jurusan

Ketika mengurus surat ijin kuliah ke kopertis 4 (sebentar lagi akan diganti namanya), baru sampai meja pertama langsung ditanya ijazah magister-nya. Ternyata harus sama. Jika tidak sama (atau serumpun) tidak akan diijinkan. Kebetulan waktu itu sama, S2 Ilmu Komputer dengan kampus tujuan Computer Science. Ternyata ada faedahnya juga. Hati-hati, jangan asal ambil doktor. Dosen saya dulu pernah curhat, ketika sudah jenuh di kampusnya sekarang, ingin mendaftar ke kampus lain yang lebih baik (menurutnya) ternyata ditolak karena gelak doktornya tidak sama dengan homebase kampus tujuan. Kejadian itu mirip dengan yang terjadi di kampus ketika akreditasi. Satu dosen bergelar doktor tidak terhitung menaikan nilai akreditasi karena jurusannya beda (harusnya komputer tetapi ambil teknologi pertanian).

Sulitkah?

Dosen saya pernah “nyindir”, katanya mahasiswa doctoral jaman dulu menciptakan Bahasa pemrograman baru. Wah, repot juga kalo diterapkan standar seperti itu. Walaupun dipermudah, ternyata tetap sulit karena berbeda antara S2 dan S3. S3 harus benar-benar memoles dengan hal-hal yang baru. Repotnya lagi hal-hal baru terus bermunculan, sehingga satu temuan segera menjadi usang. Itu mungkin yang membuat S3 tak kunjung lebih mudah dari sebelumnya.

Perang Doktor?

Beberapa kampus di tanah air sudah tidak menulis lagi gelar. Mirip dengan luar negeri, karena memang sudah kebanyakan doktor. Setidaknya hanya memanggil Dr. X. Mungkin jika masih sedikit, banyak yang manggil pak doktor, tetapi kalau semuanya doktor tentu saja agak rancu. Semuanya bakal nengok. Kalau panggilan prof, mungkin masih bisa karena memang masih sedikit.

Nah, jika sudah banyak yang doktor, apa yang terjadi. Tentu saja akan ada persaingan. Tentu saja bersaing dalam hal riset (kuantitas dan kualitas). Doktor yang tidak sama homebase dengan jurusan kedoktorannya, tadi sudah dijelaskan akan kalah duluan. Jadi sebelum bertarung di riset, ada baiknya para calon mahasiswa doktoral perlu memilih jurusan yang tepat. Salah pilih, rugi dua kali, energi yang dikeluarkan untuk kuliah tetapi hasilnya tidak begitu sebanding. Beberapa program “Doctoral Bootcamp” sepertinya bagus untuk langkah awal agar tidak salah pilih. Tentu saja cukup satu atau dua kali. Kalau berkali-kali ikut tapi tidak berangkat-berangkat, pasti ada yang tidak beres (studi literatur, toefl/ielts, dan hal-hal lainnya).

Mungkin itu saja dasar-dasarnya. Untuk yang lebih “advance” silahkan baca kasus-kasus yang terjadi, misalnya pada kasus di situs ini. Di situ dibahas keluh kesah mahasiswa doktoral yang salah pilih hingga salah asuhan. Sekian semoga sedikit banyak bermanfaat.

Tujuh Kebiasaan Orang Efektif – Proaktif vs Reaktif

Ada satu buku karangan Covey “The 7 Habits of Highly Effective People” yang cukup menarik. Sebelum masuk ke apa saja kebiasaan-kebiasaan tersebut, dibahas sikap yang baik, proaktif atau reaktif.

Reaktif

Mungkin ini sikap alamiah kita yang merupakan bawaan dari unsur hewan. Reaktif di sini adalah respon terhadap kondisi yang menimpa. Misalnya diturunkan dari jabatan, maka reaksi di dalam hati misalnya: “pimpinan tidak mempercayai saya”, atau “ada orang yang memfitnah saya”, dan sebagainya.

Satu saran yang menurut saya sangat baik dalam bab itu adalah kita adalah makhluk yang bebas. Bebas di sini adalah bebas dalam menentukan sikap kita terhadap suatu keadaan. Apapaun yang terjadi, kita bebas memilih apakah bahagia atau kecewa. Memang kita tidak bisa bebas dari “circle of influence” diri kita. Kita mau tidak mau ikut aturan kerja kalau tidak tentu saja bisa dipecat. Tetapi kita juga bebas bersikap, berkarya, berinisiatif, dan karakter-karakter lain yang termasuk dalam lawan dari reaktif, yaitu proaktif.

Proaktif

Dalam buku tersebut dikisahkan sebuah kantor yang memiliki bos yang kurang bisa menciptakan suasana yang baik sehingga para bawahan cenderung bersikap reaktif. Pimpinan tersebut cenderung hanya menjalankan intruksi ke bawahan, harus begini, harus begitu, dan sejenisnya. Terkadang menyalahkan bawahan jika kurang baik hasilnya. Tapi ada satu bawahan yang bersikap proaktif. Dari pada berkata dalam hati, “bos kurang menghargai saya”, dia cenderung berkata, “Aku haru bisa menyelesaikan tugas secepatnya”, atau “aku harus bisa mengajak rekan-rekan menjadi tim yang kuat”, dan sejenisnya. Hasilnya ternyata bisa membuat kantor itu bertahan. Kalau dalam bahasa jaman now, mungkin orang proaktif tidak “baper-an”, aliash bawa-bawa perasaan. Sikap proaktif biasanya timbul karena istilah berikut.

End Mind

Sebenarnya ini istilah lain dari tujuan (goal). Orang yang sibuk belum tentu efektif. Terutama jika tidak mengetahui tujuan dari yang dikerjakannya. Jika mengetahui tujuan, seseorang akan tangguh, tidak begitu terpengaruh “circle of influence”, seperti misalnya kantor dengan seorang bos pada contoh kasus di atas. Jika tujuan suatu tim sepakbola adalah memenangkan turnamen, tidak ada yang mengeluh atau baper ketika dicadangkan oleh pelatih. Jika tujuannya ingin menjadi negara jadi maju, tidak akan mengeluh tidak terpilih jadi caleg, cabup, cagub, cawalkot, atau capres, termasuk simpatisannya juga. Perang kata-kata di medsos, cacian, hinaan dan sejenisnya, bagi orang yang proaktif tidak masalah selama tujuan utama selalu diingat, toh pilihan sikap ada di tangan kita dan kita bebas memilih apa sikap yang kita ambil, membalas dengan cacian juga, menumpahkan emosi, atau bersabar, tetap bersahabat, dan tetap bekerja sama membangun bangsa.

Referensi

Kemajuan Teknologi Informasi India

Indonesia dan India sama-sama pernah dijajah. Jika Indonesia dijajah Belanda, India oleh Inggris. Namun tidak dapat dipungkiri kemajuan teknologi India mengungguli negara kita yang masih asyik bertengkar sendiri. Dari sisi waktu merdeka-nya, Indonesia sebenarnya lebih dahulu merdeka. Tapi mengapa hal ini bisa terjadi.

Tanggal 14 April 2018 yang lalu di acara pelantikan pengurus APTIKOM JABAR, Prof Iping sedikit membicarakan topik tersebut. Profesor penggagas berdirinya asosiasi perguruan tinggi informatika dan komputer (INFOKOM) sedikit bercerita.

Peran Mahatma Gandhi

Bapak bangsa India tersebut mengatakan di hadapan rakyatnya. Dia bertanya apakah bangsanya ingin seperti saat dijajah, ataukah ingin setara dengan sang mantan penjajahnya (Inggris)? Atau bahkan bisa menjajah balik, bukan dalam arti sesungguhnya, melainkan lewat ekonomi.

Untuk itu diperlukan empat tingkatan yang harus ditempuh India agar bisa setara dan mengimbangi negara penjajahnya dalam hal pendidikan dan pengajaran. Tanpa melalui empat tingkatan tersebut, India tidak akan bisa bersaing dengan Inggris.

Tingkat pertama adalah ketika mengajarkan apakah yang diajarkan sudah sesuai dengan semestinya. Misalnya ketika mengajarkan “algoritma” benar-benar sudah mengajarkan hal-hal yang perlu diajarkan. Di sini pentingnya konten. Berkembang pesatnya ilmu tentu saja menuntut pengajar untuk terus belajar dan mengembangkan materi pembelajarannya.

Berikutnya adalah tingkatan kedua dimana seorang pengajar harus mengetahui cara bagaimana membuat peserta didiknya mampu menyerap apa yang diajarkan. Harus dipastikan siswa memahami konsep yang benar. Metode belajar banyak dikembangkan saat ini, seperti Flipped Learning, Student Center Learning (SCL), pendidikan jarak jauh (PJJ), dan sejenisnya.

Tingkat ketiga jujur saja saya sedikit blank karena mengantuk. Apa yang diajarkan ke siswa semestinya berguna dan bermanfaat. Ajarkanlah apa-apa yang sekiranya berguna dan bermanfaat. Di jepang misalnya, mahasiswa IT tahun pertama (untuk tingkat sarjana) ada mata pelajarn keterampilan mengetik. Jadi harapannya para mahasiswa akan cepat dalam mengetik. Sehingga mempermudahkan mereka mengetik coding, membuat laporan dan sejenisnya. Tingkat keempat, seperti diutarakan oleh pembicara berikutnya, Prof Ucok, adalah level “ma’rifat”. Maksudnya adalah siswa diharapkan memiliki visi ke depan yang mampu beradaptasi dengan kondisi yang akan datang yang sulit diprediksikan saat ini. Bekal yang cukup diharapkan mampu digunakan oleh mahasiswa untuk menghadapi era yang belum diketahui saat ini.

Ketika merdeka, India segera mengelola institusi-institusi pendidikan dengan baik. Negara ini walaupun sudah mengarah menjadi negara maju masih banyak menghadapi masalah-masalah, seperti kemiskinan, kesenjangan dan sejenisnya. Jumlah SKS S1 di sana yang berjumlah 190 sks jauh melebihi negara kita yang di kisaran 150-an SKS (saya sendiri 160-an ketika di UGM dulu). Bahkan isi mata kuliahnya tidak seperti negara kita yang ada kewarganegaraan, agama, dan sejenisnya, mereka langsung ke Science. Memang ilmu sosial mereka kurang mendapat fokus dibanding ilmu pasti/alam.

Walau demikian, negara kita diprediksi ikut rombongan INDIA dan CHINA yang akan pesat perkembangannya di tahun-tahun yang akan datang, asalkan bonus demografi (lonjakan usia produktif) dapat tersalurkan dengan baik, yang lagi-lagi membutuhkan peran pendidikan untuk mempersiapkannya. Semoga tugas berat Ristek-Dikti dan Diknas dapat berjalan sesuai harapan.

Menormalkan Data Untuk Range Sempit

Beberapa literatur, seperti (Hagan, M. T., Demuth, H. B., & Beale 1997) merekomendasikan penggunakan normal Euclidis (Euclidean) untuk menormalkan data agar hanya berada pada rang [0,1]. Alasannya adalah keortogonalan matriks konversi yang mempermudah Jaringan Syaraf Tiruan (JST) dalam proses pelatihan (Training). Postingan kali ini memperkenalkan teknik yang sering digunakan pada proses peramalan (Forecasting) dengan rentang data tertentu yang sempit, misalnya range [0.2,0.9]. Caranya adalah dengan menggunakan rumusan di bawah ini (Siang 2009):

dengan b dan a adalah data maksimum dan minimum. x’ adalah hasil konversi dari harga awal x. Perhatikan ketika x adalah data maksimum maka x’ akan berharga 0.7+0.2 sementara jika sebaliknya, x data minimum, maka 0 + 0.2 yang cocok dengan range dari 0.2 hingga 0.9. Tetapi ketika ingin dipresentasikan kembali hasil peramalan ke nilai real-nya perlu konversi kembali dengan formula:

Entah mengapa saya cenderung menggunakan normal Euclidis (fungsi normalize atau dengan memanfaatkan norm jika tidak ada fungsi normalize). Untuk versi 2013 sepertinya sudah ada fungsi normalize. Berikut tampilan Matlab jika ada fungsi yang bersangkutan. Semoga bermanfaat.

  • >> help normalize
  • — help for dfilt.normalize —
  • normalize Normalize coefficients between -1 and 1.
  • G = normalize(Hd) normalizes the feed-forward coefficients between -1
  • and 1 and returns the gain G due to normalization. Subsequent calls to
  • normalize will not change the feed-forward coefficients and G will
  • always return the gain used in the first normalization.

 

  • See also dfilt.denormalize.
  • Copyright 1988-2004 The MathWorks, Inc.

Referensi

Hagan, M. T., Demuth, H. B., & Beale, M., 1997. Neural Network Design, Boston: PWS Publishing Co.

Siang, J.J., 2009. Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan Matlab, Yogyakarta: Penerbit Andi.

 

Simulasi Membutuhkan Bilangan Random

Simulasi mencoba menjalankan suatu model seolah-olah mengikuti kenyataan yang ada. Simulasi banyak diterapkan dalam permainan. Misalnya pemain bola, C. Ronaldo, dalam game memiliki akurasi tinggi dalam mencetak gol, tetapi tentu saja tidak selalu tendangannya akurat, seperti kenyataan di lapangan sesungguhnya. Jadi ketika pemain tersebut mengeksekusi, program harus membangkitkan suatu bilangan acak dalam rentang akurasinya sehingga bisa saja tendangannya (misal pinalti) tidak berhasil.

Fungsi “rand” di Matlab

Salah satu fungsi di Matlab yang membangkitkan bilangan random adalah fungsi rand. Fungsi ini membangkitkan bilangan acak dari nol hingga satu dalam pecahan. Ketik saja “rand” pada command window maka akan dimunculkan bilangan pecahan yang dimaksud.

Silahkan ketik help rand di command window maka akan muncul tata cara penggunaannya. Bahkan ada varian lagi dari fungsi tersebut di bagian akhir help (suggestion). Untuk membuat bilangan random yang dalam rentang tertentu, misal 9 hingga 10 butuh trik kusus, misalnya rand*10 atau 9+rand.

Contoh Kasus

Program berikut mensimulasian fungsi tangga dari suatu rangkaian masa dan suspensi. Disimulasikan beberapa komposisi pegas dan peredam yang menghasilkan beberapa kemungkinan. Perlu pengetahuan fungsi alih (transfer function) dan juga penggunaan fungsi plot pada Matlab. Buku command window.

  • figure
  • hold

Dua instruksi di atas akan menyiapkan satu gambar yang akan digunakan untuk menangkap output tiap-tiap komposisi pegas peredam. Fungsi hold membuat grafik menangkap lebih dari satu komposisi.

  • m=100;
  • for i=1:4
  • c=rand*10;
  • k=rand*10;
  • model=tf([1],[m c k])
  • step(model)
  • end

Kemudian Matlab mengeksekusi kode di atas dengan jumlah loop sebanyak empat kali. Tiap loop mencetak (fungsi step) model yang dalam bentuk fungsi alih tersebut. Massa diset 100 karena memang tidak terlalu berubah (massa motor, mobil, dan sebagainya cenderung tetap). Di sini nilai hanya sebagai contoh saja (tanpa satuan, dan standar yang telah ditentukan dalam perancangan elemen mesin). Selamat mencoba.

Variabel Dinamis pada Fungsi Alih Simulink Matlab

[m.kul,ruang,dosen,jur:t-pemodelan-simulasi,software,rahmadya-phd,t-kom-d3]

Berbicara mengenai fungsi alih, mau tidak mau harus sedikit kilas balik ke materi pengenalan pengaturan (tek. Kendali). Untuk mudahnya ambil kasus sederhana suspensi kendaraan (post terdahulu). Fungsi alih suatu sistem suspensi adalah:

Fungsi Alih = 1/(ms^2+cs+k)

m, c dan k berturut-turut massa (Kg), peredam (N.s/m), dan konstanta pegas (N/m). Kemudian untuk memasukan variabel dinamis fungsi alih, buka simulink dengan mengetik simulink pada command window Matlab.

Memasukan Variabel Dinamis

Untuk mensimulasikan sistem suspensi pada model simulink masukan tiga diagram blok antara lain: masukan tangga, fungsi alih, dan keluaran yang ditangkap oleh scope. Masukan tangga berada di bagian SOURCE, fungsi alih di bagian CONTINUOUS, dan scope pada bagian SINK. Caranya adalah dengan mendrag ke lembar model.

 

Atur fungsi alih (transfer function) agar diperoleh persamaan di awal tulisan ini. Gunakan variabel m, c dan k yang mewakili massa, peredaman, dan kekakuan pegas.

Tekan ganda transfer function dan isikan sebagai berikut. NOTE: Nilai m, c dan k di sini berupa variabel yang jika langsung dijalankan akan memunculkan pesan kesalahan.

Mengisi Variabel lewat Command Window

Bagaimana memasukan m, c, dan k? Mudah saja, kembali ke command window, ketikan saja tiga variabel itu dengan bilangan.

>> m=100;

>> c=20;

>> k=5;

Kembali ke jendela model. Tekan tombol RUN pada jendela model yang berupa segitiga warna hijau. Pastikan tidak muncul error. Lanjutkan dengan mengklik ganda SCOPE untuk melihat grafiknya.

Atur komposisi c dan k agar diperoleh respon yang halus (smooth). Bagaimana terapan ke program GUI-nya? Sepertinya butuh postingan tersendiri karena ada sedikit masalah saat praktek tadi, yaitu data m, c, dan k tidak terkirim ke jendela model.

 

Sanggupkah ANFIS Mengenali Pola Gambar?

[m.kul/ruang/dosen:pengenalan-pola/software/rahmadya]    

Adaptive Neuro-Fuzzy Inference System (ANFIS) merupakan gabungan Jaringan Syaraf Tiruan (JST) dengan Fuzzy Inference System (FIS). Cara kerja neuron pada JST (lihat JST sederhana) lebih sederhana dibanding dengan ANFIS (lihat post dasar2 ANFIS). Pada ANFIS jumlah neuron harus mengikuti jumlah masukan dan fungsi keanggotaan (membership function) tiap masukan. Selain itu tiap bilangan numerik (crisp) masukan harus dikonversi menjadi fuzzy sets. Akibatnya butuh proses komputasi dibanding JST yang langsung meneruskan masukan numerik ke pembobotan di neuron.

Kasus Citra Hitam-Putih

Citra hitam-putih (B/W) hanya mengenal dua angka yaitu 1 dan nol yang merepresentasikan citra (beberapa peneliti menganjurkan dengan 1 dan -1), sehingga tiap masukan hanya mengenal dua nilai itu. Secara intuitif JST lebih praktis dibanding ANFIS karena kemampuan fuzzy dari ANFIS tidak berfungsi jika hanya bernilai biner (1 dan 0). Tetapi jika kasusnya RGB atau CMYK dengan range bilangan yang cukup besar 0 hingga 255 maka peran fuzzy pada ANFIS jadi penting.

Masalah Jumlah Masukan pada ANFIS

Jika menggunakan data angka 1 sampai 5 yang direpresentasikan dengan matriks berukuran 5×3 maka kita memiliki vektor berukuran 1×15 untuk tiap-tiap angka. Jadi ada 15 input pada ANFIS-nya. Ketika dipraktekan di kelas, baik Matlab 2013 maupun 2014 dengan prosesor i5 dan RAM 4 Gb, anfisedit pada Matlab tidak sanggup.

Pesan kesalahan tersebut muncul di tahap Generate FIS yaitu setelah tombol OK ditekan. Matlab tidak sanggup meng-create ANFIS dengan masukan sebanyak 15. Berikut ini dicoba dengan mereduksi tiap angka menjadi 5 masukan.

Rule akan terbentuk sebanyak 32 buah kombinasi dari MFs (membership function) dengan satu masukan dengan masukan lainnya. Ketika di-training dengan hybrid method dihasilkan ANFIS yang siap dipakai.

Mereduksi Jumlah Masukan

Cara mereduksi masukan adalah dengan menerapkan fungsi imresize pada Matlab. Fungsi ini akan menghasilkan citra yang lebih kecil ukurannya. Tapi tentu saja akan sedikit berbeda dengan citra sebelum direduksi. Selain itu citra yang tadinya berbentuk biner berubah menjadi real. Misal kita memiliki image angka dua dengan ukuran 5×3 (atau vektor sepanjang 15 kolom).

  • >> duaReal
  • duaReal =
  • 1 1 1
  • 0 0 1
  • 1 1 1
  • 1 0 0
  • 1 1 1

Jika diterapkan fungsi imshow akan diperoleh image angka 2 (lihat yang berwarna putihnya).

  • imshow(duaReal,’InitialMagnification’,5000)

Selanjutnya kita reduksi dengan fungsi imresize. Perhatikan di bagian akhir (0.75) menyatakan persentasi pengecilan dari ukuran sebenarnya.

  • >> duaCrop=imresize(duaReal,.75)
  • duaCrop =
  • 0.6902 0.8532 1.0162
  • 0.4380 0.7667 1.0654
  • 0.8851 0.2718 0.2707
  • 0.9837 0.9288 0.9316

Gambar berikut adalah pengecilan menjadi setengahnya (kiri) dan diperbesar 3 kali lipat (kanan). Sepertinya yang diperkecil tidak begitu jelas.

Jadi bagaimana, sanggupkah ANFIS mengenali pola citra? Sepertinya perlu membatasi jumlah masukan kira-kira 5 sampai 10 untuk laptop rata-rata. Selain itu perlu preprocessing untuk mereduksi pola. Jangan lupa, perhatikan batas pengecilan maksimal agar citra masih dikenali, dan terhindar dari false positive. Sekian, selamat mencoba.

Prinsip Kerja Adaptive Neuro Fuzzy Inference System (ANFIS)

Adaptive Neuro Fuzzy Inference System (ANFIS) menggabungkan prinsip kerja Jaringan Syaraf Tiruan (JST) dengan Fuzzy Inference System (FIS). Dengan menggabungkan ANFIS denang JST diharapkan dapat meminimalisir kelemahan masing-masing metode. Kedua metode tetap menggunakan prinsip machine learning.

Plus Minus ANFIS

FIS yang mengharuskan terlibatnya expert dalam menyusun rule, pada ANFIS tidak lagi diperlukan. ANFIS sendiri selain mampu mengolah angka numerik, juga pengetahuan berbasis bahasa (linguistic). Selain itu, ANFIS lebih transparan terhadap pengguna dibanding JST yang seperti kotak hitam (black box). Hal ini karena rule hasil olah ANFIS dapat diketahui oleh pengguna. Namun kebanyakan riset menunjukan bahwa JST lebih akurat dibanding ANFIS. Di antara dua jenis FIS (mamdani dan sugeno), untuk ANFIS sugeno lebih dianjurkan karena proses lebih cepat.

Bentuk ANFIS

Berikut diambil dari jurnal internasional yang membahas cara kerja ANFIS [1]. Mirip dengan JST, ada juga layer dalam ANFIS tetapi jumlahnya rata-rata lima lapis seperti gambar berikut:

Contoh di atas adalah ANFIS dengan dua masukan dan satu keluaran (f). Berikut keluaran (diberi simbol O besar) di tiap-tiap lapis.

Lapis Pertama

Lapis pertama berfungsi mengkonversi angka crisp menjadi bilangan fuzzy dengan menggunakan fuzzy sets. Keluarannya adalah:

Lapis Kedua

Jika pada lapis pertama hanya melibatkan tiap-tiap masukan, pada lapis kedua tiap masukan menuju lapis yang sama guna mengetahui kekuatan penyalaan (firing strength). Fuzzy Sets dikalikan antara satu masukan dengan masukan lainnya dengan hubungan sebagai berikut:

Lapis Ketiga

Pada lapis ketiga dilakukan perhitungan normalisasi sebelum diterapkan ke lapis keempat. Normalisasi adalah proses pembobotan ulang agar diperoleh total/max bernilai satu.

Lapis Keempat

Setelah pembobotan yang telah dinormalkan selesai, proses dilanjutkan dengan mengalikan dengan fungsi yang melibatkan masukan (x dan y) untuk menghasilkan keluaran yang sudah dalam bentuk CRISP.

Lapis Kelima

Langkah terakhir adalah dengan mengakumulasi hasil dari lapis keempat (untuk dua rule).

Sementara untuk metode learning, dua metode bisa digunakan antara lain: backpropagation dan hybrid. Prinsipnya adalah meminimalisir error yang terjadi. Ada dua metode penghitungan error: 1) Mean Absolute Percent Error (MAPE) dan 2) Mean Absolute Deviation.

Reference

[1]    M. Şahin and R. Erol, “A Comparative Study of Neural Networks and ANFIS for Forecasting Attendance Rate of Soccer Games,” Math. Comput. Appl., vol. 22, no. 4, p. 43, 2017.