小言_互联网的博客

神经网络的代价函数解释

301人阅读  评论(0)

机器学习神经网络代价函数解释

首先回忆一下逻辑回归的代价函数
J ( θ ) = 1 m i = 1 m [ y ( i ) log h θ ( x i ) + ( 1 y ( i ) ) log ( 1 h θ ( x ( i ) ) ) ] + λ 2 m j = 1 m θ j 2 J\left(\theta\right)=-\frac{1}{m}\sum_{i=1}^{m}\left[y^{\left(i\right)}\log{h_\theta\left(x^i\right)}+\left(1-y^{\left(i\right)}\right)\log{\left(1-h_\theta\left(x^{\left(i\right)}\right)\right)}\right]+\frac{\lambda}{2m}\sum_{j=1}^{m}\theta_j^2
根据之前的6-4小节(小节为吴恩达ML课程的章节号),定义的逻辑回归代价函数为:
J ( θ ) = 1 m i = 1 m C o s t ( h θ ( x ( i ) ) , y ( i ) ) J\left(\theta\right)=\frac{1}{m}\sum_{i=1}^{m}Cost\left(h_\theta\left(x^{\left(i\right)}\right),y^{\left(i\right)}\right)

其中:

C o s t ( h θ ( x ) , y ) = log ( h θ ( x ) )             i f   y = 1 log ( 1 h θ ( x ) )     i f   y = 0 Cost\left(h_\theta\left(x\right),y\right)={-\log{\left(h_\theta\left(x\right)\right)}\ \ \ \ \ \ \ \ \ \ \ if\ y=1\atop-\log{\left(1-h_\theta\left(x\right)\right)}\ \ \ if\ y=0}
将Cost函数简化为:
C o s t ( h θ ( x ) , y ) = y × log ( h θ ( x ) ) ( 1 y ) × log ( 1 h θ ( x ) ) Cost\left(h_\theta\left(x\right),y\right)=-y\times\log{\left(h_\theta\left(x\right)\right)}-\left(1-y\right)\times\log{\left(1-h_\theta\left(x\right)\right)}
然后根据7-2小节,还需要将代价函数正则化。
正则获得主要方法是在代价函数之后加上,一个修正项,使θ减小。
最终就得到了逻辑回归的代价函数。
再来看神经网络的代价函数:
J ( Θ ) = 1 m i = 1 m { k = 1 K [ y k ( i ) log ( h Θ ( x ( i ) ) ) k + ( 1 y k ( i ) ) log ( 1 h Θ ( x ( i ) ) ) k ] } + λ 2 m l = 1 L i = 1 s l j = 1 s l + 1 ( Θ j i ( l ) ) 2 J\left(\Theta\right)=-\frac{1}{m}\sum_{i=1}^{m}\left\{\sum_{k=1}^{K}\left[y_k^{\left(i\right)}\log{\left(h_\Theta\left(x^{\left(i\right)}\right)\right)_k}+\left(1-y_k^{\left(i\right)}\right)\log{\left(1-h_\Theta\left(x^{\left(i\right)}\right)\right)_k}\right]\right\}+\frac{\lambda}{2m}\sum_{l=1}^{L}\sum_{i=1}^{s_l}\sum_{j=1}^{s_l+1}\left(\Theta_{ji}^{\left(l\right)}\right)^2
换了大括号和中括号大家是不是一目了然。
大括号中就是一项代价函数,只不过这一项是由K阶向量组成,因此需要将K阶向量的每一阶的代价相加这样就得到一项。
后面的正则化项大家可以看看8-4小节中公式的表达:
g ( [ θ 10 ( 1 ) θ 11 ( 1 ) θ 12 ( 1 ) θ 20 ( 1 ) θ 21 ( 1 ) θ 22 ( 1 ) θ 30 ( 1 ) θ 31 ( 1 ) θ 32 ( 1 )      θ 13 ( 1 ) θ 23 ( 1 ) θ 33 ( 1 ) ] × [ x 0 x 1 x 2 x 3 ] ) g\left(\left[\begin{matrix}\theta_{10}^{\left(1\right)}&\theta_{11}^{\left(1\right)}&\theta_{12}^{\left(1\right)}\\\theta_{20}^{\left(1\right)}&\theta_{21}^{\left(1\right)}&\theta_{22}^{\left(1\right)}\\\theta_{30}^{\left(1\right)}&\theta_{31}^{\left(1\right)}&\theta_{32}^{\left(1\right)}\\\end{matrix}\ \ \ \ \begin{matrix}\theta_{13}^{\left(1\right)}\\\theta_{23}^{\left(1\right)}\\\theta_{33}^{\left(1\right)}\\\end{matrix}\right]\times\left[\begin{matrix}x_0\\x_1\\x_2\\x_3\\\end{matrix}\right]\right)
代价函数中的正则项:其中第一个求和符号中得字母’L’代表第几层的θ参数,第二个求和符号中得字母’i’代表第几列,第二个求和符号中得字母’j’代表第几行。公式中只不过是将字母"j"改为从1计数罢了。


转载:https://blog.csdn.net/qq_34816007/article/details/102467257
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场