Saturday, March 23, 2019

Heuristik dan Metaheuristik



Sinopsis

Heuristik (yunani heuriskein) yaitu  seni untuk menemukan strategi dalam menyelesaikan persoalan sedangkan meta berarti metodologi tingkat tinggi atau lanjut (Talbi, 2009).  Di dalam ilmu komputer, metode heuristik merupakan suatu teknik untuk penyelesaian permasalahan yang tidak menekankan pada pembuktian apakah solusi yang didapatkan adalah benar (pembuktian apakah suatu solusi adalah benar merupakan fokus dari metode penyelesaian analitik), tetapi lebih menekankan pada performa komputasi dan kesederhanaan. Metode heuristik  merupakan suatu metode penyelesaian yang menggunakan konsep pendekatan.
Tulisan ini copy paste, hanya sekedar sebagai referensi saja 

Menurut Blum dan Roli (2003), metaheuristik memiliki beberapa karakteristik dasar yaitu:
  1. Metaheuristik adalah strategi yang memandu proses pencarian.
  2. Tujuan dari metaheuristik adalah untuk menjelajahi ruang pencarian secara efficient untuk menemukan solusi optimal.
  3. Teknik metaheuristik berkisar dari prosedur pencarian local yang sederhana sampai proses pembelajaran yang komplek.
  4. Meteheuristik adalah metode pendekatan dan biasanya non-deterministik.
  5. Metaheuristik dapat terdiri dari penggabungan beberapa mekanisme supaya proses pencarian tidak terjebak dalam daerah terbatas  di ruang pencarian.

Metode metahuristik adalah metode optimisasi yang dilakukan dengan memperbaiki kandidat penyelesaian secara iteratif sesuai dengan fungsi objektifnya (Talbi. 2009). Metode ini mampu menghasilkan penyelesaian yang baik dalam waktu yang cepat (acceptable), tetapi tidak menjamin bahwa penyelesaian yang dihasilkan merupakan penyelesaian terbaik (optimal). Metaheuristik ini menekankan pada proses eksplorasi (pencarian global) dan eksploitasi (pencarian lokal).

Metode metaheuristik pada masa modern ini sering diinspirasi dari kejadian-kejadian alami baik dari tingkah laku hewan, tumbuhan dan juga konsep evolusi. Metode metaheuristik yang menggunakan konsep evolusi diinspirasi dari hukum Darwin, bahwa yang bertahan adalah yang paling kuat atau yang paling baik. Teknik evolusi digunakan pada algoritma genetika (Genetic Algorithm) dan Differential Evolution (DE) untuk membantu menemukan solusi optimal suatu permasalahan. Adapun algoritma yang didasarkan pada teknik swarm intelligence yaitu seperti halnya Particle Swarm Optimization (PSO), Ant Colony Optimization, Artificial Bee Colony, Chuckoo Search, Firefly, and Bat Algorithm.

Kalian bisa pelajari penerapannya dibawah ini

  1. Particle Swam Optimization di Matlab, di Python
  2. FireFly di Matlab

Lebih lengkap kalian ikuti saja link dibawah ini

  1. Buku Dasar-Dasar Pemrograman Matlab
  2. Buku Dasar-Dasar Pemrograman Python
  3. Buku Belajar Machine Learning dengan Matlab
  4. Buku Belajar Machine Learning dengan Python
  5. Buku Pengolahan Citra Digital dengan Matlab
  6. Buku Pengolahan Citra Digital dengan Java
  7. Buku Pengolahan Citra Digital dengan Python
  8. Buku Pengolahan Citra Digital dengan C#
  9. Buku Pengolahan Sinyal Digital dengan Matlab


ref:

C. Blum, A, Roli. 2003. Metheuristic in Combinatorial Optimization: Overview in conceptual comparison. ACM Computing Surveys, 35(3):268-308
Talbi. 2009. Metaheuristics: From Design to Implementation. Wiley. New York.

Thursday, March 14, 2019

Python-Generating Code Documentation dengan Pweave


Hal yang biasa kita jumpai dengan klien adalah membuat alur kerja serta bentuk visualisasi nya step by step, nah agak merepotkan. Ada tools yang sangat bermanfaat sekali untuk mempermudah hal tersebut dengan menggunakan http://mpastell.com/pweave/docs.html
Ref:  https://blog.sicara.com/jupyter-notebook-analysis-production-b2d585204520
Berikut hasil report dengan format HTML


Saturday, March 9, 2019

Buku Belajar Machine Learning dengan Python-Radial Basis Function Networks Data Trend Model


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

Kalian bisa lanjut baca ke  http://softscients.com/2020/03/25/buku-belajar-machine-learning-dengan-python-radial-basis-function-networks-data-trend-model/

Python-Radial Basis Function Networks Data Trend Model

Sinopsis

Pembahasan mengenai Data yang mengandung sebuah model Trend/Siklus/Musiman telah banyak dikembangkan dengan metode statistik, Nah kalian akan belajar Pemodelan Data Trend menggunakan Radial Basis Function/RBF net dapat digunakan untuk aproksimasi sebuah model forecasting yang mempresentasikan sebuah data yang mengandung pola trend.  RBF menggunakan distribusi gaussian sebagai basis function nya.  Sebelum melangkah lebih jauh mengenai RBF, maka perlu sedikit membahas distribusi gaussian. Penulis menggunakan bahasa Python dan Matplotlib, kalian bisa pelajari bahasa tersebut disini.

Friday, March 8, 2019

Buku Belajar Machine Learning dengan Python-Feature Selection untuk Meningkatkan Akurasi Dataset


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

Buku Belajar Machine Learning dengan Python-Feature Selection untuk Meningkatkan Akurasi Dataset

Berbicara analisis data, maka tahap paling penting yaitu feature selection yang berguna untuk ‘membuang’ data yang tidak ada korelasinya, sehingga akan meningkatkan keakuratan data dalam melakukan prediksi.

Monday, March 4, 2019

Python-Scene Text detection

Scene text detection merupakan suatu proses untuk mengkonversi region text  yang memungkinkan dibaca oleh sebuah komputer, ada perbedaan yang mendasar mengenai recognition vs scene text detection seperti berikut
  1. clean background vs. cluttered background
  2. regular font vs. various fonts
  3. plain layout vs. complex layouts
  4. monotone color vs. different colors

Tantangan utama dari Scene text detection yaitu
  1. Diversity of scene text: different colors, scales, orientations, fonts, languages
  2. Complexity of background:  elements like signs, fences, bricks, and grasses are virtually indistinguishable from true text
  3. Various interference factors:  noise, blur, non-uniform illumination, low resolution, partial occlusion
Metode Konvensional untuk text detection yaitu
MSER:
  1. extract character candidates using MSER (Maximally Stable Extremal Regions), assuming similar color within each character
  2. robust, fast to compute, independent of scale
  3. limitation: can only handle horizontal text, due to features and linking strategy

SWT
  1. extract character candidates with SWT (Stroke Width Transform), assuming consistent stroke width within each character
  2. robust, fast to compute, independent of scale
  3. limitation: can only handle horizontal text, due to features and linking strategy
Deep Learning menggunakan EAST yaitu Efficient and Accurate Scene Text
https://arxiv.org/abs/1704.03155

Kode: https://github.com/argman/EAST
  1. main idea: predict location, scale and orientation of text with a single model and multiple loss functions (multi-task training)
  2. advantages: (a). accuracy: allow for end-to-end training and optimization;  (b). efficiency: remove redundant stages and processings
Lagi malas buat terjemahkan (:)