机器学习神经网络代价函数解释
首先回忆一下逻辑回归的代价函数
J(θ)=−m1i=1∑m[y(i)loghθ(xi)+(1−y(i))log(1−hθ(x(i)))]+2mλj=1∑mθj2
根据之前的6-4小节(小节为吴恩达ML课程的章节号),定义的逻辑回归代价函数为:
J(θ)=m1i=1∑mCost(hθ(x(i)),y(i))
其中:
Cost(hθ(x),y)=−log(1−hθ(x)) if y=0−log(hθ(x)) if y=1
将Cost函数简化为:
Cost(hθ(x),y)=−y×log(hθ(x))−(1−y)×log(1−hθ(x))
然后根据7-2小节,还需要将代价函数正则化。
正则获得主要方法是在代价函数之后加上,一个修正项,使θ减小。
最终就得到了逻辑回归的代价函数。
再来看神经网络的代价函数:
J(Θ)=−m1i=1∑m{k=1∑K[yk(i)log(hΘ(x(i)))k+(1−yk(i))log(1−hΘ(x(i)))k]}+2mλl=1∑Li=1∑slj=1∑sl+1(Θji(l))2
换了大括号和中括号大家是不是一目了然。
大括号中就是一项代价函数,只不过这一项是由K阶向量组成,因此需要将K阶向量的每一阶的代价相加这样就得到一项。
后面的正则化项大家可以看看8-4小节中公式的表达:
g⎝⎜⎜⎛⎣⎢⎡θ10(1)θ20(1)θ30(1)θ11(1)θ21(1)θ31(1)θ12(1)θ22(1)θ32(1) θ13(1)θ23(1)θ33(1)⎦⎥⎤×⎣⎢⎢⎡x0x1x2x3⎦⎥⎥⎤⎠⎟⎟⎞
代价函数中的正则项:其中第一个求和符号中得字母’L’代表第几层的θ参数,第二个求和符号中得字母’i’代表第几列,第二个求和符号中得字母’j’代表第几行。公式中只不过是将字母"j"改为从1计数罢了。
转载:
https://blog.csdn.net/qq_34816007/article/details/102467257