Jaringan Syaraf Tiruan untuk Identifikasi Jenis Bunga


Jaringan syaraf tiruan (neural network) merupakan algoritma yang mampu melakukan identifikasi suatu kelas berdasarkan ciri masukan yang diberikan. Algoritma ini akan melatihkan ciri masukan yang diberikan pada masing-masing kelas sehingga diperoleh suatu arsitektur jaringan dan bobot-bobot awal yang mampu memetakan ciri masukan ke dalam kelas keluaran.

Terdapat banyak jenis jaringan syaraf tiruan, di antaranya adalah backpropagation, perceptron, probablistik neural network, radial basis network, dll.

Berikut ini merupakan contoh aplikasi pemrograman matlab (menggunakan matlab r2015b) untuk mengidentifikasi jenis bunga menggunakan algoritma jaringan syaraf tiruan radial basis function (rbfnn). Pada proses pelatihan jaringan digunakan 100 citra latih yang terdiri dari 50 citra bunga dengan jenis kansas state flower dan 50 citra bunga berjenis marguerite daisy. Sedangkan pada proses pengujian digunakan 60 citra uji yang terdiri dari 30 citra bunga kansas state flower dan 50 citra bunga marguerite daisy.

Contoh citra bunga yang digunakan ditunjukkan pada gambar berikut.

Ciri yang digunakan untuk membedakan kedua jenis bunga tersebut adalah ciri warna RGB berdasarkan nilai rata-rata R, G, dan B, dan ciri tekstur filter gabor berdasarkan nilai mean (rata-rata), entropy, dan varians dari citra magnitude.

Langkah-langkah pemrogramannya adalah:
1. Mempersiapkan data latih dan data uji
Data latih
data latih jst rbf

Data uji
data uji jst rbf

2. Melakukan ekstraksi ciri warna RGB dan ekstraksi ciri tekstur filter gabor


clc; clear; close all; warning off all;

image_folder = 'data latih';
filenames = dir(fullfile(image_folder, '*.jpg'));
total_images = numel(filenames);

data_latih = zeros(6,total_images);

for n = 1:total_images
full_name= fullfile(image_folder, filenames(n).name);
Img = imread(full_name);

% Ekstraksi Ciri Warna RGB
R = Img(:,:,1);
G = Img(:,:,2);
B = Img(:,:,3);

CiriR = mean(R);
CiriG = mean(G);
CiriB = mean(B);

% Ekstraksi Ciri Tekstur Filter Gabor
I = rgb2gray(Img);
wavelength = 4;
orientation = 90;
[mag,phase] = gaborfilt(I,wavelength,orientation);

H = imhist(mag)';
H = H/sum(H);
I = [0:255]/255;

CiriMEAN = mean(mag);
CiriENT = -H*log2(H+eps)';
CiriVAR = (I-CiriMEAN).^2*H';

% Pembentukan data latih
data_latih(1,n) = CiriR;
data_latih(2,n) = CiriG;
data_latih(3,n) = CiriB;
data_latih(4,n) = CiriMEAN;
data_latih(5,n) = CiriENT;
data_latih(6,n) = CiriVAR;
end

sehingga diperoleh data ciri proses pelatihan seperti ditunjukkan pada gambar berikut
data ciri proses pelatihan

3. Melakukan pelatihan jaringan menggunakan data ciri tersebut


% Pembentukan target latih
target_latih = ones(1,total_images);
target_latih(1:total_images/2) = 0;

% performance goal (MSE)
error_goal = 1e-6;

% choose a spread constant
spread = 1;

% choose max number of neurons
K = 5;

% number of neurons to add between displays
Ki = 20;

% create a neural network
net = newrb(data_latih,target_latih,error_goal,spread,K,Ki);

% Proses training
[net_keluaran,tr,~,E] = train(net,data_latih,target_latih);

save net_keluaran net_keluaran

% Hasil identifikasi
hasil_latih = sim(net_keluaran,data_latih);
[m,n] = find(hasil_latih==target_latih);
akurasi = sum(m)/total_images*100

sehingga diperoleh tampilan proses pelatihan
proses pelatihan jaringan jst rbf

Pada hasil pelatihan diperoleh informasi bahwa dari 100 data latih terdapat 18 data yang diidentifikasi secara salah sehingga akurasi yang dihasilkan pada proses pelatihan adalah sebesar 92%. Jaringan yang telah dihasilkan kemudian disimpan agar dapat digunakan untuk proses pengujian.

4. Langkah berikutnya adalah melakukan pengujian jaringan menggunakan data uji. Sama seperti pada proses pelatihan, pada pengujian juga dilakukan ekstraksi ciri yang sama yaitu ekstraksi ciri warna dan ekstraksi ciri tekstur.
Data ciri proses pengujian yang diperoleh yaitu:
data ciri pengujian jst rbf

5. Melakukan pengujian jaringan menggunakan data ciri pengujian tersebut. Pengujian dilakukan terhadap jaringan telah dibentuk sebelumnya pada proses pelatihan.


clc; clear; close all;

image_folder = 'data uji';
filenames = dir(fullfile(image_folder, '*.jpg'));
total_images = numel(filenames);

data_uji = zeros(6,total_images);

for n = 1:total_images
full_name= fullfile(image_folder, filenames(n).name);
Img = imread(full_name);

% Ekstraksi Ciri Warna RGB
R = Img(:,:,1);
G = Img(:,:,2);
B = Img(:,:,3);

CiriR = mean(R);
CiriG = mean(G);
CiriB = mean(B);

% Ekstraksi Ciri Tekstur Filter Gabor
I = rgb2gray(Img);
wavelength = 4;
orientation = 90;
[mag,phase] = gaborfilt(I,wavelength,orientation);

H = imhist(mag)';
H = H/sum(H);
I = [0:255]/255;

CiriMEAN = mean(mag);
CiriENT = -H*log2(H+eps)';
CiriVAR = (I-CiriMEAN).^2*H';

% Pembentukan data uji
data_uji(1,n) = CiriR;
data_uji(2,n) = CiriG;
data_uji(3,n) = CiriB;
data_uji(4,n) = CiriMEAN;
data_uji(5,n) = CiriENT;
data_uji(6,n) = CiriVAR;
end

% Pembentukan target uji
target_uji = ones(1,total_images);
target_uji(1:total_images/2) = 0;

load net_keluaran
hasil_uji = sim(net_keluaran,data_uji);

[m,n] = find(hasil_uji==target_uji);
akurasi = sum(m)/total_images*100

Dari hasil proses pengujian diperoleh informasi bahwa dari 60 data citra uji terdapat 16 data yang diidentifikasi secara salah sehingga akurasi yang dihasilkan pada proses pengujian adalah sebesar 73%.

Nilai akurasi pelatihan dan pengujian yang cukup tinggi menunjukkan bahwa jaringan syaraf tiruan radial basis yang dirancang mampu untuk mengidentifikasi jenis bunga dengan cukup baik.

6. Membuat tampilan GUI agar proses identifikasi jenis bunga dapat lebih interaktif. Tampilan awal GUI ditunjukkan pada gambar di bawah ini.

7. Membuka salah satu citra bunga berjenis Kansas state flower

8. Melakukan ekstraksi ciri warna dan ciri tektur

9. Melakukan identifikasi jenis bunga

10. Membuka salah satu citra bunga berjenis Marguerite daisy

11. Melakukan ekstraksi ciri warna dan ciri tektur

12. Melakukan identifikasi jenis bunga

Tampilan source code GUI nya adalah sebagai berikut:

function varargout = identifikasi_bunga(varargin)
% IDENTIFIKASI_BUNGA MATLAB code for identifikasi_bunga.fig
%      IDENTIFIKASI_BUNGA, by itself, creates a new IDENTIFIKASI_BUNGA or raises the existing
%      singleton*.
%
%      H = IDENTIFIKASI_BUNGA returns the handle to a new IDENTIFIKASI_BUNGA or the handle to
%      the existing singleton*.
%
%      IDENTIFIKASI_BUNGA('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in IDENTIFIKASI_BUNGA.M with the given input arguments.
%
%      IDENTIFIKASI_BUNGA('Property','Value',...) creates a new IDENTIFIKASI_BUNGA or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before identifikasi_bunga_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to identifikasi_bunga_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help identifikasi_bunga

% Last Modified by GUIDE v2.5 05-Jun-2017 01:28:31

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
'gui_Singleton',  gui_Singleton, ...
'gui_OpeningFcn', @identifikasi_bunga_OpeningFcn, ...
'gui_OutputFcn',  @identifikasi_bunga_OutputFcn, ...
'gui_LayoutFcn',  [] , ...
'gui_Callback',   []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

% --- Executes just before identifikasi_bunga is made visible.
function identifikasi_bunga_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to identifikasi_bunga (see VARARGIN)

% Choose default command line output for identifikasi_bunga
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);
movegui(hObject,'center');

% UIWAIT makes identifikasi_bunga wait for user response (see UIRESUME)
% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.
function varargout = identifikasi_bunga_OutputFcn(hObject, eventdata, handles)
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;

% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
try
[nama_file,nama_path] = uigetfile({'*.*'});

if ~isequal(nama_file,0)
Img = imread(fullfile(nama_path,nama_file));
axes(handles.axes1)
imshow(Img)
handles.Img = Img;
guidata(hObject,handles)

axes(handles.axes2)
cla reset
set(gca,'XTick',[])
set(gca,'YTick',[])

axes(handles.axes3)
cla reset
set(gca,'XTick',[])
set(gca,'YTick',[])

axes(handles.axes4)
cla reset
set(gca,'XTick',[])
set(gca,'YTick',[])

axes(handles.axes5)
cla reset
set(gca,'XTick',[])
set(gca,'YTick',[])

set(handles.uitable1,'Data',[])
set(handles.edit1,'String','')
else
return
end
catch
end

% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
try
Img = handles.Img;

% Ekstraksi Ciri Warna RGB
R = Img(:,:,1);
G = Img(:,:,2);
B = Img(:,:,3);

Red = cat(3,R,G*0,B*0);
Green = cat(3,R*0,G,B*0);
Blue = cat(3,R*0,G*0,B);

axes(handles.axes2)
imshow(Red)
title('Red')

axes(handles.axes3)
imshow(Green)
title('Green')

axes(handles.axes4)
imshow(Blue)
title('Blue')

CiriR = mean(R);
CiriG = mean(G);
CiriB = mean(B);

% Ekstraksi Ciri Tekstur Filter Gabor
I = rgb2gray(Img);
wavelength = 4;
orientation = 90;
[mag,~] = gaborfilt(I,wavelength,orientation);

axes(handles.axes5)
imshow(mag,[])
title('Magnitude')

H = imhist(mag)';
H = H/sum(H);
I = [0:255]/255;

CiriMEAN = mean(mag);
CiriENT = -H*log2(H+eps)';
CiriVAR = (I-CiriMEAN).^2*H';

data2 = cell(6,2);
data2{1,1} = 'Red';
data2{2,1} = 'Green';
data2{3,1} = 'Blue';
data2{4,1} = 'Mean';
data2{5,1} = 'Entropy';
data2{6,1} = 'Varians';
data2{1,2} = CiriR;
data2{2,2} = CiriG;
data2{3,2} = CiriB;
data2{4,2} = CiriMEAN;
data2{5,2} = CiriENT;
data2{6,2} = CiriVAR;

set(handles.uitable1,'Data',data2,'ForegroundColor',[0 0 0])

ciri_bunga = [CiriR; CiriG; CiriB; CiriMEAN; CiriENT; CiriVAR];

handles.ciri_bunga = ciri_bunga;
guidata(hObject, handles)

set(handles.edit1,'String','')
catch
end

% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton3 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
try
ciri_bunga = handles.ciri_bunga;
load net_keluaran

hasil_uji = sim(net_keluaran,ciri_bunga);

if hasil_uji == 0
kelas = 'Kansas state flower';
elseif hasil_uji == 1
kelas = 'Marguerite daisy';
else
kelas = 'Unknown';
end

set(handles.edit1,'String',kelas);
catch
end

% --- Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton4 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
axes(handles.axes1)
cla reset
set(gca,'XTick',[])
set(gca,'YTick',[])

axes(handles.axes2)
cla reset
set(gca,'XTick',[])
set(gca,'YTick',[])

axes(handles.axes3)
cla reset
set(gca,'XTick',[])
set(gca,'YTick',[])

axes(handles.axes4)
cla reset
set(gca,'XTick',[])
set(gca,'YTick',[])

axes(handles.axes5)
cla reset
set(gca,'XTick',[])
set(gca,'YTick',[])

set(handles.uitable1,'Data',[])
set(handles.edit1,'String','')

function edit1_Callback(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text
%        str2double(get(hObject,'String')) returns contents of edit1 as a double

% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

File source code lengkap beserta citra pada pemrograman di atas dapat diperoleh melalui halaman berikut ini: Source Code

Posted on June 5, 2017, in Data mining, Pengenalan Pola, Pengolahan Citra and tagged , , , , , , , , , , , , , , , , , , , , , , , . Bookmark the permalink. 96 Comments.

  1. Itu pake fungsi aktivasinya apa ya mas untuk pelatihan ? Atau di rbf ga perlu fungsi aktivasi ? Thx

  2. mas mau tanyak, kan diketahui ada 18 data yang diidentifikasi salah dari 100 data latih, cara melahtnya itu gimana mas,. . .

  3. file net_keluaran itu fungsinya untuk apa gan? thx

  4. mas saat saya coba mengganti data latihnya, nilai hasilnya jadi gak beraturan gitu gimana yaa mas?

  5. mas ini knp ya??
    Undefined function or method ‘imgaborfilt’ for input arguments of type ‘double’.

  6. Mas adi, saya mau bertanya,
    Apakah bisa menggunakan metode JST untuk sistem yang bersifat REALTIME dan sistem yang bersifat REALTIME, apakah harus membuat Data Latih dan Data Uji dahulu ?

    Contohnya : Saya akan membuat sistem identifikasi penyakit lidah dengan metode RGB, apakah saya harus membuat Data latih dan Data Uji atau ciri-cici RGB objek1 dan objek2 saya masukkan melalui Syntax tanpa membuat Data latih dan Data Uji?

    Apakah menurut mas adi, sistem yang bersifat realtime yang dapat mengidentifikasi, dapat dilakukan tanpa harus membuat Data latih dan Data Uji ?
    Dan kalau mau menghitung tingkat KETEPATAN prediksi, berarti saya harus membuat Data Latih dan Data Uji ?

    Maaf sekali mas, jika saya banyak pertanyaan.

    Mohon bimbingan serta masukkan dari mas adi.

    • jst dapat diimplementasikan secara real time dengan terlebih dahulu melakukan pelatihan dan pengujian secara offline kemudian baru dapat diimplementasikan secara real time dengan memanggil arsitektur jaringan yang sebelumnya telah dibangun

    • Terima kasih untuk masukkan dari mas.
      Pertanyaan terakhir mas,

      Cara untuk memanggil Arsitektur bagaimana mas ?
      Boleh share referensi dari mas.
      Atau ada kasus-kasus pada Web Internal ini, yang bisa saya pelajari ?

    • untuk memanggil arsitektur jaringan yang sudah dibangun bisa menggunakan perintah load net

    • Mas adi,
      wavelength = 4;
      orientation = 90;

      4 dan 90 itu didapat darimana mas pada syntax di atas ?

    • Nilai-nilai tersebut merupakan salah satu contoh, abed
      Bisa divariasikan dengan nilai-nilai yang lain

    • Ok..ok mas adi.. terima kasih banyak mas.

      Saya pikir, angka 4 tersebut, merupakan jumlah Bunga / Objek.

      Sekali lagi terima kasih mas buat masukkan nya mas..

  7. mas adi.

    syntax di atas : target_latih(1:total_images/2) = 0;

    total image / 2 karena citra mempunyai 2 jenis ya mas ?

    kalau citra hanya 1 jenis saja gimana mas ?
    mohon masukkan nya mas adi.

  8. siap mas. mas satu pertanyaan lagi mas.
    Pada jaringan syaraf tiruan,
    Adakah hal yang dapat dilakukan untuk meningkatkan nilai akurasi tahap pengujian mas ?
    Atau menambah Karakateristik citra dapat menambah nilai akurasi ya mas ?
    Mohon bimbingannya mas adi.

    • banyak faktor yg menyebabkan tingkat akurasi pengujian rendah
      di antaranya adalah
      adanya perbedaan kondisi proses akusisi citra saat pelatihan dan pengujian
      fitur yg digunakan kurang cocok untuk membedakan antar kelas
      algoritma segmentasi, pemilihan fitur, dan algoritma identifikasi yg kurang cocok

  9. Mas saya mau nanya nentuin ” 0 = Kansas state flower”, ” 1 = Marguerite daisy” itu dari mana ya?
    Terus hasil nya itu apakan di tentukan dari jarak nilai terdekat ?
    Terima Kasih

  10. % performance goal (MSE)
    error_goal = 1e-6;

    % choose a spread constant
    spread = 1;

    % choose max number of neurons
    K = 5;

    % number of neurons to add between displays
    Ki = 20;

    Mas bisa jelasin maksud bagian diatas?
    Maaf saya kurang paham

  11. mas adi, salam kenal, maaf saya mau tanya jika yang identifikasi ada 5 jenis buka, apakah dengan mengubah

    target_latih(1:total_images/2) = 0;

    menjadi

    target_latih(1:total_images/5) = 0;

    mohon pencerahan nya terimakasih

  12. mas untuk jaring syaraf tiruan untuk identifikasi jenis bunga ada beberapa pertanyaan mohon bantuannya mas
    1. file sudah saya coba sudah sukses tapi pada identifikasi saya tekan tidak sesuai harapan, saya masukkan file gambar ‘Kansas state flower’ dan saya ganti “Marguerite daisy” hasilnya tetap salah satunya alias tidak terubah saya menggunakan matlab 2017a.
    2. jika saya ingin menambahkan/mengganti dengan variabel yang lain seperti apa mas mohon pencerahannya.. Makasih mas

  13. maaf mas mau tanya, saya kan sudah melakukan klasifikasi citra menggunakan metode rbf. untuk citra latihnya saya ambil dari citra uji yang di crop per kelasnya. outputnya sudah keluar tapi pada saat dilakukan uji akurasi (confusion matrix) nilai akurasi hanya menghasilkan sekitar 40 %.nan itu kira-kira knp mas

  14. selamat malam mas adi, salam kenal. saya ingin bertanya, jika sata menggunakan objeknya jenis hewan apakah saya juga bisa menggunakan ciri warna RGB berdasarkan nilai rata-rata R, G, dan B, dan ciri tekstur filter gabor dll. untuk membedakan jenis hewan tersebut seperti membedakan jenis bunga seperti contoh program diatas? mohon penjelasannya mas, terima kasih

    • Selamat malam angel
      Bisa diterapkan, bisa dianalisis terlebih dahulu ciri apakah yg membedakan antara hewan yg satu dg hewan lainnya, apakah warnanya, apakah bentuknya, apakah tekstur kulitnya
      Setelah itu bisa dicoba diimplementasikan metode yg cocok utk mengekstrak ciri pada masing2 hewan

  15. selamat siang mas adi saya mau tanya saya ingin membuat menjadi 3 klasifikasi dengan mengubah
    target_latih(1:total_images/2) = 0;
    menjadi
    target_latih(1:total_images/3) = 0;

    namun saya masih bingung dengan hasil latihnya hanya bernilai 1 dan 0. tidak terbagi jadi 3 bagian, itu bagaimana ya ya mas

    • Selamat siang wisnu
      Bisa dibuat nilai target utk kelas yg pertama dengan nilai 1
      Nilai target utk kelas yg kedua dengan nilai 2
      Nilai target utk kelas yg ketiga dengan nilai 3

    • ok baik mas adi.

      oh iya mas kalau untuk nilai Maximum number of neurons dan Number of neurons to add between displays fungsinya untuk apa ya mas pada neural network radial basic ?

    • Nilai tsb merupakan jumlah neuron maksimum dan jumlah kelipatan neuron yg ditambahkan saat ditampilkan

  16. maaf mas saya mau tanya, ini metode pencocokkannya pakai apa ya? lalu tahap pengujian itu memang harus ada ya? terima kasih

    • metode pencocokan menggunakan algoritma jaringan syaraf tiruan

    • maaf mas mau tanya lagi, kan diatas sudah ada yang tanya gimana caranya membagi kelas-kelas targetnya. maksudnya itu membagi kelas target latih bagaimana ya? apa ada contohnya?

    • pembagian kelas target latih selalu disesuaikan dengan kelas sebenarnya
      misalnya ada 2 kelas maka pada target latih dibuat 2 kelas, misalnya ada 3 kelas maka pada target latih dibuat 3 kelas, dst

  17. Assalamu’alaikum mas saya mau tanya
    Apakah ada ekstraksi ciri lain yg cocok untuk identifikasi jenis bunga ini selain ekstraksi ciri diatas?
    Bagaimana dengan ekstraksi ciri rgb dgn glcm untuk identifikasi jenis bunga ini apakah cocok?
    Kelebihan glcm dibandingkan yg ciri tekstur lain apa ya?
    Maaf kalo saya banyak tanya

  18. Selamat malam mas adi. mau tanya mengenai code dibawah tr dan E itu apa ya mas ?

    [net_keluaran,tr,~,E]

  19. assalamualaikum Selamat siang mas adi. mau tanya mengenai code dibawah tr dan E itu apa ya mas ?

    [net_keluaran,tr,~,E]

  20. mas, mau tanya
    ada rekomendasi buku yang membahasan tentang radial basis gak ya?

  21. saya sudah melakukan pelatihan dan pengujian mas, hasil akurasinya sudah keluar, saya mau buat tampilan GUI nya, saya bingung yg dimasukin kedalam GUI untuk klasifikasinya.

  22. Yuliani Resna Pratiwi

    Punten bang kira2 abang punya judul yg pas buat judul skripsi. Mks bang

  23.     H = imhist(mag)’;

        H = H/sum(H);

        I = [0:255]/255;

         

        CiriMEAN = mean2(mag);

        CiriENT = -H*log2(H+eps)’;

        CiriVAR = (I-CiriMEAN).^2*H’;

       
    Maaf mas bisa dijelaskan ini untuk apa ya? Terima kasih

  24. mas saya mau nanya, letak bobot pada program bisa dilihat dimana ya?

  25. Misi mas, mau tanya
    Saya ingin coba menambahkan menjadi 4 kelas. Namun ketika saya mengganti

    target(1:total_images/2= 0; menjadi target(1:total_images/4) = 0;

    Hasilnya tetap 2 kelas yang terbaca. Selain kelas yang diganti apa ada variabel atau parameter yang diganti? Terima kasih sebelumnya mas

  26. Permisi mas mau nanya, nilai error goal, spread ki dan k itu ketetapan atau gimana mas? Berdasarkan apa kita bisa mengubahnya? Terima kasih mas

  27. Okee mas, untuk memvariasikannya ada aturannya ndak mas?

  28. Terima kasih mas, kalau untuk ekstraksi ciri filter gabor rumus asal programnya apa yaa mas?

  29. mau nanya ni mas Adi, saya kan dah beli buku mas adi terus untuk klasifikasi bunga lebih dari 2 jenis semisal 3 bunga itu gimana ya caranya dengan data latih utuk satu bunga itu 6 data latih, jadi totalnya 18 data latih saya udah buka sorce kodenya tapi ko tidak bisa ya mas ? mohon bantuannya?

  30. mas adi mau tanya, saya udah mengikuti semua tutorial dan source codenya tp ketika saya tekan tombol identifikasi nama dari bunga tidak muncul sama sekali mas. apa source code nya ada yg kurang?? mohon penjelasanya mas

    • Source code di atas tidak bisa dijalankan jika hanya dicopypaste saja
      Source code lengkap bisa diperoleh melalui tokopedia sehingga bisa langsung dirunning dan dikembangkan

  31. Selamat siang mas,saya ingin bertanya apabila saya mau membuat dengan 3 kelas keluaran bagaimana ya codingnya yang disini
    %pembentukan target latih
    Target_latih = ones(1,total_images);
    Target_latih(1:total_image/2)=0;

    Makasih mas

  32. Selamat malam Mas Adi, saya ingin bertanya berkaitan penambahan kelas (klasifikasi bunga), semisal saya ingin membuat 3 klasifikasi bunga. Penambahan codingnya seperti apa ya mas ?
    Saya coba-coba masih belum bisa

  33. luthfi khalid

    mas mau tanya untuk varians source kodenya gimana yaa ?

  34. Unable to read file ‘net_keluaran’. No such file or directory. ini kenapa ya mas ?

  35. Mas untuk lebih dari 2 jenis atau 2 spesies gitu apa saja yang harus diganti supaya hasilnya benar ya?

  36. mas saya mau nanya saat extraksi ciri warna masukin kode nya trus run nya gimana ya?

  37. Cara menampilkan tingkat akurasinya bagimana pak?

  38. Mas mau tanya, kan kmrn saya sudah order source code dan ada beberapa hal yang ingin saya tanyakan boleh kah saya WA mas nya sesuai dengan nmr yang tertera ?

    Maaf sebelumnya saya ijin dulu sebelum mau mengganggu hehehe :3

  39. MOHAMMAD AHSIN FEBRIANTO -

    Cara menampilkan tingkat akurasinya bagainana ini

  40. MOHAMMAD AHSIN FEBRIANTO -

    Cara menampilkan tingkat akurasinya bagainana ya pak agarvdaya tahu dti hasil klasifikasinya dalam indentifikasi jenia bunga berapa persen

  41. Salam kenal bapak, izin bertanya

    target_latih = ones(1,total_images);
    target_latih(1:total_images/5) = 0;

    pak izin beranya, data saya ada 5 jenis, sudah seperti ini, tetapi kenapa yang mau munvul hanya hasil uji 0 dan 1, sedangkan 2, 3, 4 tidak mau, malah terklasifikasi ke yang hasil uji 1, terimakasih

  42. Assalamualaikum Mas. Saya sudah order source codenya. Saya mau bertanya tentang bagian ini Mas.
    kan diatas menggunakan datasetnya hanya 2 saja. jadi hasil dari outputnya nilainya hanya 0 dan 1. Nah, misalkan saya tambah datasetnya menjadi 10 itu caranya bagaimana Mas?. saya mencoba mencari-cari referensi masih gagal dan kebingungan. bahkan sampai error. sekiranya klo boleh. apakah saya bisa menanyakan langsung lewat WA? Terima kasih.

  1. Pingback: Pengertian Jaringan Syaraf Tiruan, Fuzzy Logic dan Algoritma Genetika – andre

  2. Pingback: Kecerdasan Komputasional – Judul Situs

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: