LAMPIRAN PROGRAM MATLAB

dokumen-dokumen yang mirip
PENGELOMPOKAN CITRA WAJAH DENGAN TEKNIK SUBSPACE CLUSTERING MENGGUNAKAN ALGORITMA LSA SC (LOCAL SUBSPACE AFFINITY SPECTRAL CLUSTERING)

BAB I PENDAHULUAN. 1 Universitas Kristen Maranatha

LAMPIRAN A DATA LENGKAP HASIL PERCOBAAN 1 DAN 2

PENGENALAN WAJAH DENGAN MENERAPKAN ALGORITMA ADAPTIF K MEANS

BAB IV HASIL PENELITIAN DAN PEMBAHASAN. 4.1 Pengembangan Sistem Pengenalan Wajah 2D

PENGENALAN WAJAH DENGAN CITRA MASUKAN BERUPA CITRA SKETSA WAJAH SEBAGAI HASIL SINTESIS DENGAN TEKNIK MULTISCALE MARKOV RANDOM FIELD (MRF)

BAB 3 PROSEDUR DAN METODOLOGI

BAB 3. ANALISIS dan RANCANGAN. eigenfaces dan deteksi muka dengan color thresholding akan mempunyai proses

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II TINJAUAN PUSTAKA. menggunakan PCA, kemudian penelitian yang menggunakan algoritma Fuzzy C-

Principal Component Analysis

BAB 3 PROSEDUR DAN METODOLOGI. perhitungan LSI dan juga interface yang akan dibuat oleh penulis.

TEKNIK PENGENALAN WAJAH DENGAN ALGORITMA PCA BERBASIS SELEKSI EIGENVECTOR

BAB III METODOLOGI PENELITIAN. Desain penelitian ini mengacu pada tahapan proses yang ada pada sistem

BAB IV IMPLEMENTASI DAN EVALUASI. implementasi dan evaluasi yang dilakukan terhadap perangkat keras dan

UJI KINERJA FACE RECOGNITION MENGGUNAKAN EIGENFACES

Hasil Ekstraksi Algoritma Principal Component Analysis (PCA) untuk Pengenalan Wajah dengan Bahasa Pemograman Java Eclipse IDE

PEMANFAATAAN BIOMETRIKA WAJAH PADA SISTEM PRESENSI MENGGUNAKAN BACKPROPAGATION NEURAL NETWORK

Pengenalan Wajah dengan Metode Subspace LDA (Linear Discriminant Analysis)

Implementasi Pengenalan Citra Wajah dengan Algoritma Eigenface pada Metode Principal Component Analysis (PCA)

BAB 3 PERANCANGAN SISTEM

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

PENGENALAN WAJAH DENGAN MENGGUNAKAN NLDA (NULL-SPACE LINEAR DISCRIMINANT ANALYSIS)

FACE RECOGNITION MENGGUNAKAN METODE TWO- DIMENSIONAL PRINCIPAL COMPONENTS ANALYSIS (2DPCA) ABSTRAK

PENGENALAN WAJAH MANUSIA DENGAN METODE PRINCIPLE COMPONENT ANALYSIS (PCA)

LAMPIRAN A KODE PROGRAM

BAB III METODE PENELITIAN. Tujuan tugas akhir ini akan membangun suatu model sistem yang

BAB IV IMPLEMENTASI DAN UJI COBA. Pengenalan Pola dengan Algoritma Eigen Image, dibutuhkan spesifikasi

PERBANDINGAN METODE KDDA MENGGUNAKAN KERNEL RBF, KERNEL POLINOMIAL DAN METODE PCA UNTUK PENGENALAN WAJAH AKIBAT VARIASI PENCAHAYAAN ABSTRAK

BAB I PENDAHULUAN. 1.1 Latar Belakang

PENGENALAN WAJAH MENGGUNAKAN ALGORITMA EIGENFACE DAN EUCLIDEAN DISTANCE

APLIKASI PENGENALAN WAJAH MENGGUNAKAN METODE EIGENFACE DENGAN BAHASA PEMROGRAMAN JAVA

Elisabeth Patricia Chandra 1, Astri Novianty 2, Agung Nugroho Jati 3. Abstrak

Implementasi Pengenalan Wajah Menggunakan PCA (Principal Component Analysis)

BAB III PERANCANGAN SISTEM

Jurnal String Vol.1 No.2 Tahun 2016 ISSN : PRINCIPAL COMPONENT ANALYSIS UNTUK SISTEM PENGENALAN WAJAH DENGAN MENGGUNAKAN METODE EIGENFACE

Penerapan Metode Phase Congruency Image (PCI) dalam Pengenalan Citra Wajah secara Otomatis

DAFTAR ISI v. ABSTRACT ii KATA PENGANTAR iii. DAFTAR GAMBAR.vii DAFTAR TABEL...ix

BAB I PENDAHULUAN. 1.1 Latar Belakang

PENGENALAN WAJAH MENGGUNAKAN METODE LINEAR DISCRIMINANT ANALYSIS DAN K NEAREST NEIGHBOR

BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM

BAB 2 LANDASAN TEORI

BAB IV ANALISIS DAN PERANCANGAN

BAB III METODE PENELITIAN. sekunder berupa citra Magnetic Resonansi Image (MRI) yang diperoleh dari

III METODOLOGI PENELITIAN

Pendahuluan. Praktikum Pengantar Pengolahan Citra Digital Departemen Ilmu Komputer Copyright 2008 All Rights Reserved

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN. Sistem biometrik merupakan penerapan teknologi yang mempelajari

PERANCANGAN PERGERAKAN WEBCAM BERDASARKAN PERUBAHAN POSISI WAJAH MENGGUNAKAN METODE EIGENFACE BERBASIS RASPBERRY PI

ABSTRAK. Kata kunci: Citra wajah manusia, Principal Component Analysis (PCA), Eigenfaces, Euclidean Distance. ABSTRACT

RANCANGAN AWAL SISTEM PRESENSI KARYAWAN STMIK BANJARBARU DENGAN PENDEKATAN EIGENFACE ALGORITHM

SISTEM PENGENALAN WAJAH MENGGUNAKAN METODE PRINCIPAL COMPONENT ANALYSIS (PCA) DENGAN ALGORITMA FUZZY C-MEANS (FCM)

Pengembangan Perangkat Lunak untuk Pengenalan Wajah dengan Filter Gabor Menggunakan Algoritma Linear Discriminant Analysis (LDA)

BAB III PERANCANGAN SISTEM

SEGMENTASI CITRA MENGGUNAKAN K-MEANS DAN FUZZY C- MEANS DENGAN BERBAGAI RUANG WARNA

BAB III PROSEDUR DAN METODOLOGI. Pada bab ini kita akan melihat masalah apa yang masih menjadi kendala

BAB 4 HASIL DAN PEMBAHASAN

BAB II LANDASAN TEORI. Kamera web (singkatan dari web dan camera) merupakan sebuah media

LAMPIRAN A KODE PROGRAM

IMPLEMENTASI ALGORITMA FRACTAL NEIGHBOUR DISTANCE UNTUK FACE RECOGNITION

PENERAPAN ALGORITMA PRINCIPLE COMPONENT ANALYSIS (PCA) DAN FITUR RGB UNTUK PELACAKAN JENIS DAN WARNA BUAH

PEMANFAATAN GUI DALAM PENGEMBANGAN PERANGKAT LUNAK PENGENALAN CITRA WAJAH MANUSIA MENGGUNAKAN METODE EIGENFACES

SISTEM PENDUKUNG KEPUTUSAN PENERIMAAN KARYAWAN MELALUI PENGENALAN CITRA WAJAH MENGGUNAKAN ALGORITMA EIGENFACE

PENGENALAN WAJAH MENGGUNAKAN METODE REGRESI LINIER

BAB I PENDAHULUAN. individu dapat dibedakan dengan individu yang lain.

PERBANDINGAN METODE MINIMUM DISTANCE PATTERN CLASSIFIER DAN NEURAL NETWORK BACKPROPAGATION DALAM MENGENALI WAJAH MANUSIA DENGAN EKSPRESI YANG BERBEDA

BAB 1 PENDAHULUAN 1-1

BAB 2 LANDASAN TEORI

BAB 2 Landasan Teori

PENGENALAN WAJAH MENGGUNAKAN METODE DIAGONAL PRINCIPAL COMPONENT ANALYSIS. Skripsi

BAB I PENDAHULUAN. efektivitas dan efisiensi kerja tercapai. STIKOM Surabaya merupakan salah

BAB 2 DENGAN MENGGUNAKAN INTERPOLASI INTERPOLASI SPLINE LINIER DAN INTERPOLASI SPLINE

Perbandingan Ukuran Jarak pada Proses Pengenalan Wajah Berbasis Principal Component Analysis (PCA)

Aplikasi Principle Component Analysis (PCA) Untuk Mempercepat Proses Pendeteksian Obyek Pada Sebuah Image

BAB IV PENGUJIAN DAN ANALISIS

KOMPRESI CITRA DIGITAL DENGAN MENGGUNAKAN HEBBIAN BASED PRINCIPAL COMPONENT ANALYSIS

BAB III ANALISA DAN PERANCANGAN

BAB 3 PEMBAHASAN. 3.1 Sistem Absensi Berbasis Webcam

BAB I PENDAHULUAN. satu bagian sistem biometrika adalah face recognition (pengenalan wajah). Sistem

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) 45 Edisi... Volume..., Bulan 20.. ISSN :

ANALISIS KOMPONEN UTAMA MENGGUNAKAN METODE EIGENFACE TERHADAP PENGENALAN CITRA WAJAH

Journal of Control and Network Systems

Pengenalan Wajah Dengan Algoritma Canonical Correlation Analysis (CCA)

BAB 2 PENGENALAN IRIS, PENENTUAN LOKASI IRIS, DAN PEMBUATAN VEKTOR MASUKAN

BAB 3 METODOLOGI. untuk mengurangi adanya false positive dan false negative. False positive dalam hal ini

DAFTAR ISI ABSTRAK... KATA PENGANTAR... DAFTAR ISI... DAFTAR GAMBAR... DAFTAR TABEL... DAFTAR LAMPIRAN Latar Belakang... 1

BAB I PENDAHULUAN. adalah penggunaan smartphone. Weiser (1999) mengatakan bahwa semakin

BAB 1 PENDAHULUAN. keakuratan dari penglihatan mesin membuka bagian baru dari aplikasi komputer.

Gambar 3.1 Contoh Citra yang digunakan

UNIVERSITAS BINA NUSANTARA

BAB I PENDAHULUAN. telinga, wajah, infrared, gaya berjalan, geometri tangan, telapak tangan, retina,

V. IMPLEMENTASI SISTEM. yang dibutuhkan oleh sistem dari media penyimpan program ke dalam media

PERANCANGAN DAN PEMBUATAN APLIKASI UNTUK MENDETEKSI UANG LOGAM DENGAN METODE EUCLIDEAN

BAB IV PEMBAHASAN. Bab IV berisi pembahasan yang meliputi proses penelitian yakni hasil

SISTEM PENGENALAN WAJAH BERBASIS METODA FISHERFACE TUGAS AKHIR. Febrian Ardiyanto NIM :

DEKOMPOSISI NILAI SINGULAR PADA SISTEM PENGENALAN WAJAH

BAB III METODOLOGI PENELITIAN

BAB II TINJAUAN PUSTAKA

Transkripsi:

PROGRAM MATLAB

PERCOBAAN 1 FACE CLUSTERING MENGGUNAKAN ALGORITMA LOCAL SUBSPACE AFFINITY SPECTRAL CLUSTERING Program Utama 'Pengelompokan Citra Wajah dengan Menerapkan Algoritma LSA - SC (LOCAL SUBSPACE AFFINITY - SPECTRAL CLUSTERING)' PERCOBAAN 1 Tutup semua jela, hapus semua variabel, dan bersihkan command windows close all; clear all; clc; DETEKSI WAJAH jum_gbr = input('total Gambar dalam database = '); for m=1:jum_gbr Proses membaca input indeks=num2str(m); ind=[indeks,'.jpg']; x=imread(ind);figure;imshow(x);title('gambar masukan (RGB)'); gbr_input{m}=x; Proses face detection y=deteksi_face(x); gbr_det{m}=y; Proses samakan ukuran z=samakan_ukuran(y); gbr_sama{m}=z; ; A - 1

KONSTRUKSI EIGENFACE Konstruksi Eigenface [eigenface lamda vektor A rata]=konstruksi_eigenface(gbr_sama); ProjectedImage = []; Train_Number = jum_gbr; for i = 1 : Train_Number temp = eigenface'*a(:,i); Projection of centered images into facespace temp=temp./max(temp); normalisasi nilai projection image ProjectedImage = [ProjectedImage temp]; ; Function : konstruksi_eigenface function [keluar1 keluar2 keluar3 keluar4 keluar5]=konstruksi_eigenface(masuk) Fungsi ini melakukan konstruksi eigenface variabel masukan : masuk = citra wajah yang sama ukurannya variabel keluaran : keluar1 = eigenface keluar2 = nilai eigen keluar3 = vektor eigen matriks kovarians keluar4 = matriks A keluar5 = vektor_rata Proses ubah citra menjadi vektor for m=1:length(masuk) temp=masuk{m}; temp=double(temp); temp=reshape(temp,size(temp,1)*size(temp,2),1); vektor_citra(:,m)=temp; A - 2

Proses mencari rata-rata citra vektor_rata=mean(vektor_citra,2); for m=1:size(vektor_citra,2) citra_selisih(:,m)=vektor_citra(:,m)-vektor_rata; A=citra_selisih; mat_kov=a'*a; [vektor lamda]=eig(mat_kov); Eigenfaces = A * vektor; keluar1=eigenfaces; keluar2=lamda; keluar3=vektor; keluar4=a; keluar5=vektor_rata; ALGORITMA LOCAL SUBSPACE AFFINITY SPECTRAL CLUSTERING Algoritma Local Subspace Affinity (LSA) n=size(projectedimage,2)./3; kneigh=6; d=4; [group,ranks]=lsa(projectedimage,n,kneigh,d); Function : local_subspace_affinity function [group,ranks]=local_subspace_affinity(x,n,k,d) Fungsi ini akan mencari local normal subspace dan affinity matrix untuk proses clustering Local Subspace Affinity (LSA) Input : x = data points n = jumlah subspace (jumlah identitas citra wajah) d = dimensi subspace (default, atau dimensi dari x - 1) A - 3

k = neighbour yang digunakan (default, atau if k==0, k=d) Output : group = cluster yang terbentuk ranks = rank dari vektor distance (dimensi subspace) Mengetahui ukuran dari data points [K,N]=size(x); if(exist('d','var')==0) d=k-1; if(exist('k','var')==0 k==0) k=d; Melakukan Normalisasi terhadap data points x = cnormalize(x); Menemukan neighbors angles=acos(min(max(x'*x,-1),1)); [sorted,neighbours]=sort(angles); Memperkirakan local normal subspace bases=zeros(size(x,1),d,n); ranks=zeros(n,1); for i=1:n [U,S,V]=svd(x(:,neighbours(1:k+1,i))); bases(:,:,i)=u(:,1:d); ranks(i)=d; Menghitung sudut (angle) antara dua subspace => similarity matrix for j=1:n for i=j:n distance(j,i) = subspaceaffinity(bases(:,:,j),bases(:,:,i)); distance(i,j) = distance(j,i); Melakukan spectral clustering untuk proses clustering A - 4

[diagmat,lmat,x,y,group,errorsum]=spectralcluster(distanc e,n,n); Function : cnormalize function [xn,normx] = cnormalize(x) Fungsi ini digunakan untuk melakukan normalisasi terhadap input (dalam Tugas Akhir ini input = Projected Image hasil konstruksi eigenface) NORMALIZATION Input : x = data points (projected image) Output : xn = vektor normal normx = panjang vektor Menentukan ukuran dari data points [K,N] = size(x); Mencari panjang vektor normx = sqrt(sum(conj(x).*x,1)); Normalisasi xn = x./ (ones(k,1)*normx); Function : subspaceaffinity function d=subspaceaffinity(base1, base2) Fungsi ini akan menghitung pengukuran affinity (affinity matrix) antara dua subspace yang direpresentasikan dengan basis ORTHONORMAL (base1 dan base2) Subspace Affinity Input : base1 = vektor normal subspace pertama base2 = vektor normal subspace kedua Output : d = jarak antara dua subspace ("distance") A - 5

Menghitung sudut (angle) dari dua subspace theta=subspaceangle(base1,base2); Menghitung jarak ("distance") d=exp(-sum((sin(theta).^2))); Function : subspaceangle function [theta]=subspaceangle(base1, base2) Fungsi ini akan menghitung sudut (angle) principal antara dua subspace SUBSPACE ANGLE Input : base1 = basis ORTHONORMAL subspace pertama base2 = basis ORTHONORMAL subspace kedua Output : theta = sudut (angle) dari kedua subspace Contoh : subspaceangle([1 0 0 0; 0 1 0 0]',orth([0 1 1 0; 0 0 0 1]')) ans = 1.5708 ----->(90 degrees) 0.7854 ----->(45 degrees) Mencari SVD dari kedua basis ORTHONORMAL [U,S,V]=svd(base1'*base2,'econ'); Mencari cosinus sudut (angle) kedua basis ORTHONORMAL costheta=flipud(svd(base2'*base1)); Mencari sudut (angle) theta=acos(min(1,costheta)); Function : spectralcluster function [diagmat,lmat,x,y,idx,errorsum]= spectralcluster(affmat,k,num_class) A - 6

Fungsi ini akan melakukan proses clustering dengan menggunakan algoritma spectral clustering SPECTRAL CLUSTERING Input : affmat = affinity matrix k = jumlah eigenvektor terbesar (pemotongan eigenvektor) num_class = jumlah kelas yang terbentuk Output : diagmat = matrix diagonal Lmat = matrix L X & Y = matrix yang terbentuk dari eigenvektor matrix L IDX = hasil clustering (group) errorsum = jarak dari k - means Menentukan ukuran dari affinity matrix numdt=size(affmat,2); Menghitung matrix diagonal dengan mencari vektor normal diagmat= diag((sum(affmat,2)).^(-1./2)); Mencari matrix L LMat=diagMat*affMat*diagMat; Mencari eigenvektor dari matrix L [v,d]=eigs(lmat,k); Normalisasi eigenvektor X=v(:,1:k); normx=(sum(x.^2,2)).^(1./2); Y=zeros(size(X)); for index=1:numdt Y(index,:)=X(index,:)./normX(index,1); Proses clustering menggunakan algoritma k - means [IDX,C,sumd] = kmeans(y,num_class,'emptyaction','drop','replicates',10); errorsum=1; A - 7

PERCOBAAN 2 FACE CLUSTERING MENGGUNAKAN ALGORITMA LOCAL SUBSPACE AFFINITY SPECTRAL CLUSTERING Program Utama 'Pengelompokan Citra Wajah dengan Menerapkan Algoritma LSA - SC (LOCAL SUBSPACE AFFINITY - SPECTRAL CLUSTERING)' PERCOBAAN 2 Tutup semua jela, hapus semua variabel, dan bersihkan command windows close all; clear all; clc; DETEKSI WAJAH jum_gbr = input('total Gambar dalam database = '); for m=1:jum_gbr Proses membaca input indeks=num2str(m); ind=[indeks,'.jpg']; x=imread(ind);figure;imshow(x);title('gambar masukan (RGB)'); gbr_input{m}=x; Proses face detection y=deteksi_face(x); gbr_det{m}=y; Proses samakan ukuran z=samakan_ukuran(y); gbr_sama{m}=z; ; A - 8

KONSTRUKSI EIGENFACE Konstruksi Eigenface [eigenface lamda vektor A rata]=konstruksi_eigenface(gbr_sama); ProjectedImage = []; Train_Number = jum_gbr; for i = 1 : Train_Number temp = eigenface'*a(:,i); Projection of centered images into facespace temp=temp./max(temp); normalisasi nilai projection image ProjectedImage = [ProjectedImage temp]; ; Function : konstruksi_eigenface function [keluar1 keluar2 keluar3 keluar4 keluar5]=konstruksi_eigenface(masuk) Fungsi ini melakukan konstruksi eigenface variabel masukan : masuk = citra wajah yang sama ukurannya variabel keluaran : keluar1 = eigenface keluar2 = nilai eigen keluar3 = vektor eigen matriks kovarians keluar4 = matriks A keluar5 = vektor_rata Proses ubah citra menjadi vektor for m=1:length(masuk) temp=masuk{m}; temp=double(temp); temp=reshape(temp,size(temp,1)*size(temp,2),1); vektor_citra(:,m)=temp; A - 9

Proses mencari rata-rata citra vektor_rata=mean(vektor_citra,2); for m=1:size(vektor_citra,2) citra_selisih(:,m)=vektor_citra(:,m)-vektor_rata; A=citra_selisih; mat_kov=a'*a; [vektor lamda]=eig(mat_kov); Eigenfaces = A * vektor; keluar1=eigenfaces; keluar2=lamda; keluar3=vektor; keluar4=a; keluar5=vektor_rata; ALGORITMA LOCAL SUBSPACE AFFINITY SPECTRAL CLUSTERING Algoritma Local Subspace Affinity (LSA) jum_identitas=input('jumlah identitas wajah = '); switch(jum_identitas) case 3 n=3; kneigh=6; d=4; [group,ranks]=local_subspace_affinity(projectedimage,n,kn eigh,d); case 4 n=4; kneigh=6; d=4; [group,ranks]=local_subspace_affinity(projectedimage,n,kn eigh,d); case 5 n=5; kneigh=6; d=4; A - 10

[group,ranks]=local_subspace_affinity(projectedimage,n,kn eigh,d); Function : local_subspace_affinity function [group,ranks]=local_subspace_affinity(x,n,k,d) Fungsi ini akan mencari local normal subspace dan affinity matrix untuk proses clustering Local Subspace Affinity (LSA) Input : x = data points n = jumlah subspace (jumlah identitas citra wajah) d = dimensi subspace (default, atau dimensi dari x - 1) k = neighbour yang digunakan (default, atau if k==0, k=d) Output : group = cluster yang terbentuk ranks = rank dari vektor distance (dimensi subspace) Mengetahui ukuran dari data points [K,N]=size(x); if(exist('d','var')==0) d=k-1; if(exist('k','var')==0 k==0) k=d; Melakukan Normalisasi terhadap data points x = cnormalize(x); Menemukan neighbors angles=acos(min(max(x'*x,-1),1)); [sorted,neighbours]=sort(angles); Memperkirakan local normal subspace A - 11

bases=zeros(size(x,1),d,n); ranks=zeros(n,1); for i=1:n [U,S,V]=svd(x(:,neighbours(1:k+1,i))); bases(:,:,i)=u(:,1:d); ranks(i)=d; Menghitung sudut (angle) antara dua subspace => similarity matrix for j=1:n for i=j:n distance(j,i) = subspaceaffinity(bases(:,:,j),bases(:,:,i)); distance(i,j) = distance(j,i); Melakukan spectral clustering untuk proses clustering [diagmat,lmat,x,y,group,errorsum]=spectralcluster(distanc e,n,n); Function : cnormalize function [xn,normx] = cnormalize(x) Fungsi ini digunakan untuk melakukan normalisasi terhadap input (dalam Tugas Akhir ini input = Projected Image hasil konstruksi eigenface) NORMALIZATION Input : x = data points (projected image) Output : xn = vektor normal normx = panjang vektor Menentukan ukuran dari data points [K,N] = size(x); Mencari panjang vektor normx = sqrt(sum(conj(x).*x,1)); Normalisasi xn = x./ (ones(k,1)*normx); A - 12

Function : subspaceaffinity function d=subspaceaffinity(base1, base2) Fungsi ini akan menghitung pengukuran affinity (affinity matrix) antara dua subspace yang direpresentasikan dengan basis ORTHONORMAL (base1 dan base2) Subspace Affinity Input : base1 = vektor normal subspace pertama base2 = vektor normal subspace kedua Output : d = jarak antara dua subspace ("distance") Menghitung sudut (angle) dari dua subspace theta=subspaceangle(base1,base2); Menghitung jarak ("distance") d=exp(-sum((sin(theta).^2))); Function : subspaceangle function [theta]=subspaceangle(base1, base2) Fungsi ini akan menghitung sudut (angle) principal antara dua subspace SUBSPACE ANGLE Input : base1 = basis ORTHONORMAL subspace pertama base2 = basis ORTHONORMAL subspace kedua Output : theta = sudut (angle) dari kedua subspace Contoh : subspaceangle([1 0 0 0; 0 1 0 0]',orth([0 1 1 0; 0 0 0 1]')) ans = 1.5708 ----->(90 degrees) 0.7854 ----->(45 degrees) A - 13

Mencari SVD dari kedua basis ORTHONORMAL [U,S,V]=svd(base1'*base2,'econ'); Mencari cosinus sudut (angle) kedua basis ORTHONORMAL costheta=flipud(svd(base2'*base1)); Mencari sudut (angle) theta=acos(min(1,costheta)); Function : spectralcluster function [diagmat,lmat,x,y,idx,errorsum]= spectralcluster(affmat,k,num_class) Fungsi ini akan melakukan proses clustering dengan menggunakan algoritma spectral clustering SPECTRAL CLUSTERING Input : affmat = affinity matrix k = jumlah eigenvektor terbesar (pemotongan eigenvektor) num_class = jumlah kelas yang terbentuk Output : diagmat = matrix diagonal Lmat = matrix L X & Y = matrix yang terbentuk dari eigenvektor matrix L IDX = hasil clustering (group) errorsum = jarak dari k - means Menentukan ukuran dari affinity matrix numdt=size(affmat,2); Menghitung matrix diagonal dengan mencari vektor normal diagmat= diag((sum(affmat,2)).^(-1./2)); Mencari matrix L LMat=diagMat*affMat*diagMat; Mencari eigenvektor dari matrix L [v,d]=eigs(lmat,k); Normalisasi eigenvektor A - 14

X=v(:,1:k); normx=(sum(x.^2,2)).^(1./2); Y=zeros(size(X)); for index=1:numdt Y(index,:)=X(index,:)./normX(index,1); Proses clustering menggunakan algoritma k - means [IDX,C,sumd] = kmeans(y,num_class,'emptyaction','drop','replicates',10); errorsum=1; A - 15