



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Homework solution reference for CPE646
Typology: Assignments
1 / 6
This page cannot be seen from the preview
Don't miss anything!
Stevens Institute of Technology
Department of Electrical and Computer Engineering
CpE 646 Pattern Recognition and Classification
Homework 4
Problem 1: Once again we use the data set s “ hw3_2_1 ” and “ hw3_2_2 ” from
Homework 3. The sample vectors in “ hw3_2_1 ” are from class ω 1 and sample vectors in
“ hw3_2_2 ” are from class ω 2
Use k-nearest neighbor method to estimate the class conditional density functions p ( x | ω 1 )
and p ( x | ω 2 ) for every x in {-4:0.1:8, -4:0.1:8}; use “ mesh ” function in Matlab to plot the
results; and then classify x =[1,-2]
t
based on the estimation. Let k =10.
( Hint: The “sort” function in Matlab can be used to find the closest neighbors.)
clear all
clc
load ('hw3.mat')
label1=ones(1,100);
label2=1+label1;
label=[label1 label2];
data1=hw3_2_1;
data2=hw3_2_2;
[r,c]=size(data1);
train_data=[data1 data2];
P1=zeros(121,121);
P2=zeros(121,121);
w=0;
for i=-4:0.1:
w=w+1;h=0;
for j=-4:0.1:
h=h+1;
ki=0;kj=0;
test_data=[i;j];
% calculate Euclid Distance
distance=zeros(1,200);
for x = 1:
a=i-train_data(1,x);
c=j-train_data(2,x);
distance(x)=sqrt(a.^2+c^2);
end
% fint the closet neighbors and choose K number
[dist,neighbors]=sort(distance);
dist =dist(1:K);
neighbors=neighbors(1:K);
% find the lable(class)
for k=1:K
if label(neighbors(k))==
ki=ki+1;
else kj=kj+1;
end
end
P1(w,h)=ki/K;
P2(w,h)=kj/K;
if i==1&&j==-
p1=P1(w,h)
p2=P2(w,h)
end
end
end
b=[-4:0.1:8];
mesh(b,b,P1)
hold on
mesh(b,b,P2)
2.2 Assume a function, which projects each input vector
1
1
2
2
1 2
to ˆ
x
x
x
x
x x
x x
plot
x ˆ in 3-D use Matlab function “plot3”.
clear all
clc
load ('hw4.mat')
data1=hw4_2_1;
data2=hw4_2_2;
data11=[data1;(data1(1,:)).*data1(2,:)];
data22=[data2;(data2(1,:)).*data2(2,:)];
plot3(data11(1,:),data11(2,:),data11(3,:),'*',data22(1,:),data22(2,:,:),data22(3,:),'o')
title('data set');
2.3 Now define an augmented vector as
1
2
1 2
x
x
x x
y x
. Use the Batch Perceptron
method (page 35 and 39, CPE646-9) to find the weight vector
0
1
2
3
a
a
a
a
a
in the
generalized linear discriminant function (page 22, 23. CPE646-9).
(Hint: let =1, =1, initialize
a y
clear all
clc
load ('hw4.mat')
data1=hw4_2_1;
data2=hw4_2_2;
%normalized
n=ones(1,100);
y1=[n;data1;(data1(1,:)).*data1(2,:)];