목차
1. K-NN 분류기를 사용하여 분류를 수행하되, K의 값과 거리함수에 대하여 다양한 변형을 시도해 보시오. 그 결과를 결정경계와 분류률의 측면에서 분석하시오.
2.퍼셉트론을 사용한 분류를 수행하되, 학습률(η)과 초기치를 변화시키면서 수행하여 학습횟수에 따른 오차값의 변화를 분석하시오. 또한 결정경계와 분류률의 측면에서 분석하시오.
2.퍼셉트론을 사용한 분류를 수행하되, 학습률(η)과 초기치를 변화시키면서 수행하여 학습횟수에 따른 오차값의 변화를 분석하시오. 또한 결정경계와 분류률의 측면에서 분석하시오.
본문내용
*소스코드
NumD=50;
train_c1 = randn(NumD,2);
train_c2 = randn(NumD,2)+repmat([2.5,2.5],NumD,1);
train=[train_c1; train_c2];
train_out(1:NumD,1)=zeros(NumD,1);
train_out(1+NumD:2*NumD,1)=zeros(NumD,1)+1;
plot(train(1:NumD,1), train(1:NumD,2),'r*'); hold on
plot(train(1+NumD:2*NumD,1), train(1+NumD:NumD*2,2),'o');
Mstep=6;
INP=2; OUT=1;
w=rand(INP,1)*0.4-0.2; wo=rand(1)*0.4-0.2;
a=[-3:0.1:6];
plot(a, (-w(1,1)*a-wo)/w(2,1));
eta=3.0;
for j = 2:Mstep
for i=1:NumD*2
x=train(i,:);
ry=train_out(i,1);
if (x*w+wo>0)
y=1; else y=0; end
e=ry-y;
E(i,1)=e;
dw= eta*e*x';
dwo= eta*e*1;
w=w+dw;
wo=wo+dwo;
end
plot(a, (-w(1,1)*a-wo)/w(2,1),'r');
end
Mstep=2
Mstep=5
Mstep=6
Eta=1.0
Eta=2.0
Eta=3.0
->학습률의 변화는 값이 커져도 그차이가 미미하다. 경계 출력을 위한 식에서 학습률이 모든 데이터를 계산할 때 각각 계속 더해지고 분자와 분모에 각각 들어가기 때문이다.
NumD=50;
train_c1 = randn(NumD,2);
train_c2 = randn(NumD,2)+repmat([2.5,2.5],NumD,1);
train=[train_c1; train_c2];
train_out(1:NumD,1)=zeros(NumD,1);
train_out(1+NumD:2*NumD,1)=zeros(NumD,1)+1;
plot(train(1:NumD,1), train(1:NumD,2),'r*'); hold on
plot(train(1+NumD:2*NumD,1), train(1+NumD:NumD*2,2),'o');
Mstep=6;
INP=2; OUT=1;
w=rand(INP,1)*0.4-0.2; wo=rand(1)*0.4-0.2;
a=[-3:0.1:6];
plot(a, (-w(1,1)*a-wo)/w(2,1));
eta=3.0;
for j = 2:Mstep
for i=1:NumD*2
x=train(i,:);
ry=train_out(i,1);
if (x*w+wo>0)
y=1; else y=0; end
e=ry-y;
E(i,1)=e;
dw= eta*e*x';
dwo= eta*e*1;
w=w+dw;
wo=wo+dwo;
end
plot(a, (-w(1,1)*a-wo)/w(2,1),'r');
end
Mstep=2
Mstep=5
Mstep=6
Eta=1.0
Eta=2.0
Eta=3.0
->학습률의 변화는 값이 커져도 그차이가 미미하다. 경계 출력을 위한 식에서 학습률이 모든 데이터를 계산할 때 각각 계속 더해지고 분자와 분모에 각각 들어가기 때문이다.
소개글