【机器学习】-Week5.1 Cost Function (神经网络)

Cost Function

Let's first define a few variables that we will need to use:

\bullet L = total number of layers in the network

\bullet s_l = number of units (not counting bias unit) in layer l

\bullet K = number of output units/classes

Recall that in neural networks, we may have many output nodes. We denote h_{\theta } (x)_{k}  as being a hypothesis that results in the  k^{th} output. Our cost function for neural networks is going to be a generalization of the one we used for logistic regression. Recall that the cost function for regularized logistic regression was:

For neural networks, it is going to be slightly more complicated:

We have added a few nested summations to account for our multiple output nodes. In the first part of the equation, before the square brackets, we have an additional nested summation that loops through the number of output nodes.

In the regularization part, after the square brackets, we must account for multiple theta matrices. The number of columns in our current theta matrix is equal to the number of nodes in our current layer (including the bias unit). The number of rows in our current theta matrix is equal to the number of nodes in the next layer (excluding the bias unit). As before with logistic regression, we square every term.

Note:

 \bullet the double sum simply adds up the logistic regression costs calculated for each cell in the output layer

 \bullet the triple sum simply adds up the squares of all the individual \theta  in the entire network.

\bullet  the i in the triple sum does not refer to training example i

来源:coursera 斯坦福 吴恩达 机器学习

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容