R neuralnet

카테고리 없음 2020. 6. 15. 16:26

20200615 1619 

 

2차함수를 Neural Net이 잘 맞추는지 보자

 

 

library(neuralnet)

 

 

(0,1) 사이에 난수를 말들고

set.seed(1)

x<-runif(100)

c<-3*x^0

b<-5*x

a<-x^2

y<-a+b+c

trd<-data.frame(a,b,c,y)

 

frm<-as.formula('y~a+b+c')
nn<-neuralnet(frm,data=trd,hidden=3,threshold=0.01)
plot(nn)

 

 

(0.2)구간에 적용해보면

 

q<-(1:100)/100*2 
tmp<-c(q^
2,5*q,3)
tmp<-t(tmp)
tmp<-data.frame(q^
2,5*q,3)
ans<-compute(nn,tmp)$net.result 
#neurons 
f<-
function(x){x^2+5*x+3}
plot(q,ans,col=
'blue',type='line')
par(new=
T) #plot(q,f(q),col="red",type="l") 
curve(f,add=
T,col='red')

(0,1) 구간은 실제값과 추정치가 잘 맞는데, 1이상 구간에서는 엉망이다.

⇒ 역시 extrapolation은 어렵다.

 

Posted by Weneedu
,


출처: https://privatedevelopnote.tistory.com/81 [개인노트]