読者です 読者をやめる 読者になる 読者になる

RでDeep Learning(4)

環境はWindows10 & R-3.3.3

非常に良い本である。
ただし、自分はPythonに精通していないのでRでDeep Learningを試してみた。

この記事は上記の本に記載されているPythonのコードのほんの一部をRに書き換えただけです。
詳しく知りたい人はぜひ本を読んでみることをお勧めします。
非常に詳しくわかりやすく書かれています。

勾配降下法を実装。

gradient_descent <- function(f,init_x,lr=0.01,step_num=100){
	x <- init_x

	for(i in 1:step_num){
		grad <- numerical_gradient(f,x)
		x <- x-(lr*grad)
	}
	return(x)
}

勾配法による更新のプロセスを図示する。

gradient_descent_plot <- function(f,init_x,lr=0.01,step_num=100){
	x <- init_x
	y <- x

	for(i in 1:step_num){
		grad <- numerical_gradient(f,x)
		x <- x-(lr*grad)
		y <- cbind(y,x)
	}
	return(y)
}
plot_data <- gradient_descent_plot(function_2,c(-3,4),lr=0.1)
plot(plot_data[1,],plot_data[2,],xlim=c(-3,3),ylim=c(-4,4))

f:id:touch-sp:20170420184500p:plain:w350