二、机器学习基础4(代价函数)

成本函数

参数通过代价函数得到,从而找到最优解的目标函数。

共同平方差成本函数:

假设函数

h\left ( x \right )= \theta _{0}x

平方误差成本函数:实际值与拟合值的差异。

J\left ( \theta _{0},\theta _{1} \right )= \frac{1}{2m}\sum_{i=1}^{m}\left ( h\left (x^{\left ( i \right )} \right )-y^{\left ( i \right )} \right )^{2}

最优解是成本函数的最小值。

为什么成本函数应该是非负的?

只要设计的目标函数有下界,基本都是可以的,而且代价函数非负更方便。

共同成本函数

1.二次代价函数(quadratic cost)

J= \frac{1}{2n}\sum_{x}^{}||y\left (x \right )-a^{L}\left ( x \right )||^{2}

其中J表示代价函数,x表示样本,y表示实际值,a表示输出值,n表示样本的总数。

2.交叉熵代价函数(cross-entropy)

J=-\frac{1}{n}\sum_{x}[ylna+(1-y)ln(1-a)]

其中J表示代价函数,x表示样本,y表示实际值,a表示输出值,n表示样本的总数。

二次代价函数适合输出神经元是线性的情况,交叉熵代价函数适合输出神经元是sigmoid函数的情况。

3. 对数释然代价函数(log-likelihood cost)

对数释然函数常用来作为 softmax 回归的代价函数。深度学习中普遍的做法是将 softmax作为最后一层,此时常用的代价函数是对数释然代价函数。

对数似然代价函数与 softmax 的组合和交叉熵与 sigmoid 函数的组合非常相似。对数释然代价函数在二分类时可以化简为交叉熵代价函数的形式。

在 tensorflow 中:
与 sigmoid 搭配使用的交叉熵函数:tf.nn.sigmoid_cross_entropy_with_logits()。
与 softmax 搭配使用的交叉熵函数:tf.nn.softmax_cross_entropy_with_logits()。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2022年4月15日 下午3:10
下一篇 2022年4月20日 下午4:54

相关推荐