tiny_cnn代码阅读(2)

上一篇讲了mse函数 , 这次gradient_descent_levenberg_marquardt

@see ${root}/tiny_cnn/optimizer/optimizer.h

这个函数现在也是没有用到, 但是可以先看看一下:

通过注释可以了解到:

float_t alpha; 是学习率 , 和反馈阶段有关

image

 

float_t mu 是一个常数防止步长过大时H很小

image

 

此函数的理论基础可以在下图的论文找到:

tiny_cnn代码阅读(2)_第1张图片

 

 

好了 , 聪明的你和亲爱会发现:gradient_descent_levenberg_marquardt  这个结构体还继承自optimizer

顺便把optimizer 也看看:

 

optimizer 是优化器, 这个就是所有优化器的基类

usesHessian :这个是一个成员变量用来标识似乎否使用黑塞矩阵  ,

这个是用来修改权值的时候起作用的, 现在可以不考虑

 

 

 

<<<<好了, 现在返回到main函数中

 

tiny_cnn代码阅读(2)_第2张图片

 

将来会在C3的时候用到 ,现在先忽略

 

 

image

看到第74行之后 , 可以看他的构造函数:

tiny_cnn代码阅读(2)_第3张图片

这个接受5个参数的构造函数是调用了init()方法 . 该方法的内容如下:

 

tiny_cnn代码阅读(2)_第4张图片

你可能感兴趣的:(tiny_cnn代码阅读(2))