Rabu, 10 April 2019

Neural Network Training Using Particle Swarm Optimization


Neural Network Backprogation  (NN BP) sering digunakan dalam beberapa kasus bersifat non linear. Hasil training pada NN BP adalah bobot, dalam hal ini merupakan ‘memory’ yang akan digunakan untuk melakukan prediksi/klasifikasi. Sesuatu yang umum dalam inisialisasi bobot di NN BP menggunakan bilangan random maka hal tersebut menjadi trial and error.

Pada tulisan ini, kita bisa menggunakan Particle Swarm Optimization (PSO) untuk mencari bobot yang optimal sebagai pengganti, yang semula inisialisasi bobot secara random. Adapun fitness function PSO yang digunakan dari function forward NN BP. Kebalikan dari NN BP, untuk input ke PSO berupa bobot sebagai partikelnya.

IMPLEMENTASI PARTICLE SWARM OPTIMIZATION UNTUK INISIALISASI BOBOT PADA NEURAL NETWORK BACKPROPAGATION

Sabtu, 23 Maret 2019

Heuristik dan Metaheuristik




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.

Jumat, 15 Maret 2019

Matlab-FireFly Algorithm

Penulis mencoba untuk menulis code Algoritma Kunang-Kunang menggunakan Octave (sintaks mirip dengan matlab) agar code nya lebih mudah dipelajari dan lebih sedikit. Langsung saja, sebuah persamaan berikut dengan fungsi objektif

Kamis, 14 Maret 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


Sabtu, 09 Maret 2019

Python-Radial Basis Function Networks Data Trend Model

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. 

Jumat, 08 Maret 2019

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.

Senin, 04 Maret 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 (:)

Minggu, 17 Februari 2019

Python - KMeans Clustering

UPDATE: 17 FEBRUARI 2019
BAHASA: PYTHON
SYSTEM:
a.    Windows 10
b.    Python : 3.6.3
c.    Numpy : 1.14.2
d.    Pandas : 0.20.3
e.    Matplotlib: 2.2.2

PENGANTAR:

Kmeans clustering yang ditulis diambil dari referensi berikut:
  1. https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_ml/py_kmeans/py_kmeans_understanding/py_kmeans_understanding.html
  2. https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_ml/py_kmeans/py_kmeans_opencv/py_kmeans_opencv.html#additional-resources
Penulis menulis ulang diluar library opencv agar mudah dipelajari

DATASET:

Untuk dataset, kita mencoba untuk versi simple  dengan sebuah array berikut

data_masuk = np.array([[7,8],
                        [4,13],
                        [8,7],
                        [8 ,9],
                        [3 ,12],
                        [3 ,1],
                        [5 ,3],
                        [3 ,13],
                        [9 ,8],
                        [3 ,5],
                        [8 ,8],
                        [2 ,13],
                        [1 ,3],
                        [3 ,14]],dtype='float32')

Selasa, 12 Februari 2019

Python – Watershed Segmentation

UPDATE: 12 FEBRUARI 2019
BAHASA: Python
SYSTEM: OpenCV 4.0.0

PENGANTAR

Teknik image segmentation seringkali telah banyak dibahas, adapun untuk postingan kali ini, penulis menerapakan watershed segmentation dengan melibatkan Kmeans clustering sebagai tahap pre prosesing sebelum di input kedalam watershed segmentation

DATASET



Rabu, 06 Februari 2019

C# - Fuzzy C Means Clustering



UPDATE: 01 FEBRUARI 2019
BAHASA: C#
SYSTEM:
a.    Windows 10
b.    IDE : SharpDevelop Version : 5.1.0.5216-0e58df71
c.    .NET Version         : 4.7.03056

PENGANTAR:

Clustering adalah bahasan cukup sering kita dengar pada teknik data minning. Ada banyak teknik yang bisa kita gunakan, mulai dari algoritma kmeans clustering, k-nearest neighbor, ataupun fuzzy c-means clustering, kohonen (versi  LVQ unsupervisi).  Penulis menggunakan fuzzy c-means clustering untuk menentukan center tiap kelompok data. Kamu bisa membaca tutorial di https://edrianhadinata.wordpress.com/2013/12/19/metode-clustering-algoritma-fuzzy-cmeans/.

Selasa, 05 Februari 2019

Matlab-Enkripsi Citra Digital dengan logistic Maps- Random Generator


[ www.softscients.web.id - topik pengolahan citra digital dengan matlab]. Teknik enkripsi pada citra digital banyak digunakan untuk melindungi informasi dari citra tersebut, salah satunya menggunakan teknik chaos (logistic maps), Anda bisa membaca link berikut https://en.wikipedia.org/wiki/Logistic_map



Xn mempunyai nilai 0 sampai 1 yang mempresentasikan sebuah rasio keberadaan populasi dari sebuah populasi maksimum
r nilai dengan rentang 0 sampai 4
Persamaan diatas menghasilkan ploting yang bersifat nonlinear sebagai berikut, Penulis menggunakan nilai X(n=1)  = 0.23456 atau disebut X0

Selasa, 15 Januari 2019

OpenCV-Color Grouping


Color Segmentation selain menggunakan teknik inrange(), kita bisa menggunakan grouping yaitu Kmeans Clustering. Library OpenCV sudah dilengkapi dengan function Kmeans() yaitu

Minggu, 13 Januari 2019

OpenCV and Python Color Detection


Segmentasi warna menggunakan OpenCV dipermudah oleh dengan adanya function inRange(). Seperti potongan kode berikut

Minggu, 06 Januari 2019

C# - Learning Vector Quantization




UPDATE: 01 FEBRUARI 2019
BAHASA: C#
SYSTEM:
  1. Windows 10
  2. IDE : SharpDevelop Version : 5.1.0.5216-0e58df71
  3. NET Version         : 4.7.03056

PENGANTAR

Mengenal LVQ yaitu algoritma non linear yang bekerja untuk melakukan klasifikasi supervisi sehingga kita harus mempunyai input dan target yang telah diketahui sebagai ‘bahan’ untuk mencari nilai ‘bobot’ yang optimal
Aturan LVQ agar berbeda dengan backpropagation yaitu lebih simple tidak menggunakan fungsi aktifasi, tapi yang lebih penting adalah bobot awal yang digunakan harus tepat.

Rabu, 19 Desember 2018

Buku Belajar Mudah Python dengan Package Open Source



Ulasan Singkat

Kemarin banyak yang nanya2 mengenai ulasan singkatan buku ini
Buku Belajar Mudah Python dengan Package Open Source
Buku ini saya buat berdasarkan pengalaman menangani beragam project yang meliputi topik bahasan seperti machine learning, computer vision yang biasanya menggunakan Matlab, biasanya kami sarankan menggunakan Python karena lebih kepada lisensi serta

Buku ini membahas dasar-dasar Python mulai dari instalasi menggunakan Anaconda Navigator (pada buku-buku terbitan lain, tidak membahas mengenai Anaconda Navigator) padahal dengan Anaconda Navigator sudah tersedia banyak sekali package-package untuk komputasi teknis, olah data, serta grafik!

Anda cukup menggunakan Spyder yang merupakan Editor canggih saat ini untuk menulis kode di Python tidak perlu menggunakan Visual Code, JetBrain, Netbeans untuk mencoba menulis kode Python.

Pada bab selanjutnya dikenalkan Numpy, Pandas, Matlotlib, Scipy, serta OpenCV. Itu adalah package yang sering menjadi topik dasar pada saat ini yaitu AI, Machine Learning, serta Deep Learning kalau anda menginginkan topik diatas.

Jadi anda tidak perlu menggunakan PIP Package Manager atau repot-repot melakukan install package tersendiri lho!

Jadi buku kecil ini menjadi semakin menarik dan bermanfaat untuk anda beli dan koleksi!!

Penulis menerbitkan di penerbit Graha Ilmu (www.grahailmu.id) yang merupakan penerbit yang sudah dikenal dengan terbitan buku-buku yang bermutu yang bekerjsama dengan thesimplybook
https://www.bukalapak.com/u/thesimplybook

Cek Katalog di www.GrahaIlmu.id
http://grahailmu.id/Katalog-GrahaIlmu.xls
per 23 November 2018

Dapatkan buku terbaru dari kami di

Bukalapak:
https://www.bukalapak.com/p/hobi-koleksi/buku/komputer-487/wco01c-jual-belajar-mudah-python-dengan-package-open-source-mulkan-syarif-graha-ilmu

Toga mas:
https://togamas.com/detail-buku-8585=Belajar_Mudah_Python_dengan_Package_Open_Source_

https://petramas.co.id/product/belajar-mudah-python-dengan-package-open-source-a8c4
  
Buku Belajar Mudah Python dengan Package Open Source



ISBN : 978-602-5759-74-1

Sinopis

Python merupakan bahasa intrepreter yang banyak digunakan untuk kepentingan akademis, riset, bahkan para praktisi umum dikarenakan tersedianya package-package yang siap pakai mulai dari untuk komputasi numerik, array, olah grafik, sinyal, machine learning, dan computer vision. Kemudahan managemen instalasi package tersebut dikarenakan adanya Anaconda Navigator yang mampu mengintegrasikan semua package dengan lebih mudah bagi pemula sekalipun.

Buku ini memfokuskan diri tidak hanya membahas dasar-dasar bahasa Python tapi lebih luas lagi yaitu mengajak pembaca menggunakan package-package yang sudah default terinstal di Anaconda Navigator dan beberapa package tambahan terpisah yaitu
  1. Python
  2. IDE Spyder sebagai Editor
  3. Package Numpy untuk perhitungan array
  4. Package Matplolib untuk visualisasi grafis
  5. Package Pandas untuk pengolahan data terstruktur
  6. Package Scipy untuk pengolahan data statistika
  7. Package OpenCV (instal tersendiri)

https://www.bukalapak.com/p/hobi-koleksi/buku/komputer-487/wco01c-jual-belajar-mudah-python-dengan-package-open-source-mulkan-syarif-graha-ilmu

Daftar Isi

BAB 1 ANACONDA 1

1.1 Pengenalan Anaconda 1
1.2 Instalasi Anaconda 4
1.3 Environment Anaconda Navigator 7

BAB 2 PYTHON DAN EDITOR SPYDER 9

2.1 PengenalanInterpreter Python 9
2.2 Pengenalan Bahasa Python 14
2.3 Tipe Data Terstruktur 17
2.4 Control Flow 24
2.5 Pengenalan Function 27
2.6 Pengenalan Class 28
2.7 Manajemen Modul/Package 31

BAB 3 NUMPY 35

3.1 Import package 35
3.2 Membuat Array 35
3.3 Pengenalan Operasi Array 39
3.4 Contoh Kasus Penggunaan Array 50

BAB 4 MATPLOTLIB 57

4.1 Line Plot 58
4.2 Bar Plot 64
4.3 Line Area 67
4.4 Scatter 68
4.5 Scatter 3D 69
4.6 Contour 71
4.7 Contour Surface 71
4.8 Surface 73

BAB 5 PANDAS 75

5.1 Struktur Data Pandas 75
5.2 Pengenalan Data Frame 77
5.3 Operasi Masking 82

BAB 6 SCIPY 89

6.1 Analisis Korelasi Sederhana 90
6.2 Analisis Regresi Linear 92
6.3 Klustering dan Klasifikasi 94

BAB 7 OPENCV 107

7.1 Cara Install 108
7.2 Membaca dan Menyimpan File Gambar 110
7.3 Integrasi OpenCV dengan Matplotlib 111
7.4 Akses dan Modifikasi Nilai Pixel Gambar 113
7.5 Operasi Transformasi Geometrik 117
7.6 Operasi Segmentasi Gambar 118
7.7 Operasi Filtering Gambar 123
7.8 Operasi Morfologi Gambar 124
7.9 Operasi Pencarian Contour Gambar 129
7.10 Membaca File Video 132

Buku Belajar Mudah Python dengan Package Open Source



Buku Belajar Mudah Python dengan Package Open Source
tutorial basic python
tutorial bahasa python

Selasa, 18 Desember 2018

Python-Editor Ringan - Eric


Setelah sekian lama menggunakan Spyder untuk menulis kode Python. Penulis mencoba menggunakan https://python-projects.org/

Senin, 17 Desember 2018

Python-Arti If __name___


Bagi pengguna awam python, biasanya akan melihat kode seperti berikut
if __name__ == '__main__':
      print('your....')

Apa artinya?

Jumat, 14 Desember 2018

Python-Union of Object using OpenCV


Sebelum membaca postingan ini, sebaiknya anda perlu tahu dasar-dasar python terlebih dahulu
Serta cara instal OpenCV, silahkan beli buku saya di:
http://www.softscients.web.id/2018/11/buku-belajar-mudah-python-dengan.html
Opencv dengan versi  '3.4.1'
Mengenai teknik contours
Silahkan baca ini