ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

初识 softmax函数

2021-12-22 23:05:45  阅读:181  来源: 互联网

标签:frac 函数 模型 损失 初识 softmax theta Sigma


交叉熵损失函数(Cross Entropy Loss function )

我们从一道面试题目中引入相关概念。

定义两个模型。

1.1分类错误率(Classification Error)作为损失函数


第一种损失函数:分类错误率。就只是简单将错误的个数比上所有的个数,这样就会损失掉一些比较深层次的信息,就好比如在这个例子中两个模型的损失函数的值都相同,但是模型Ⅱ要优于模型Ⅰ

1.2均方误差(Mean Sqared Error)作为损失函数


如上有明显区分模型Ⅰ和模型Ⅱ的能力,但是我们暂时不会使用MSE作为分类的损失函数,这点我们下面会有讲。

1.3交叉熵损失函数(Cross Entropy Loss Function)作为损失函数

(一)   二分类的情况,也就是我们只要区分“是”或者“不是”:

(二)   多分类的情况,我们要区分是“哪一类”,但是其实本质上和二分类没区别,可以理解为二分类的拓展:

我们再来看下上述的两个模型在交叉熵损失函数上的表现如何:

由此,交叉熵损失函数也有甄别模型相对好坏的能力

由之前的知识和二三题做个小总结:

为了解决第四题,我们还需回顾下线性回归的实现。

step1.定义线性模型: \(\hat{y} = w^Tx\)
step2.定义loss function:

\[loss = l^{(i)}(w,b) = \frac{1}{2}(\hat{y}^{(i)} - y^{(i)})^2 \]

则有:

\[L(w,b) = \frac{1}{m} \Sigma_{i=1}^{m}loss = \frac{1}{m} \Sigma_{i=1}^{m}(\hat{y}^{(i)} - y^{(i)})^2 = \frac{1}{m} \Sigma_{i=1}^{m}(w^Tx^{(i)}+b - y^{(i)})^2 \]

step3.使用SGD(mini-batch gradient descent)使我们的损失函数\(L(w,b)\)最小化,并且得到此时的\(w*,b* = \arg max_{w,b}L(w,b)\)

\[(w,b)←(w,b)−\frac{η}{|B|}∑_{i∈B}∂_{(w,b)}l_{(i)}(w,b). \]

其中\(|B|\)指的是批量的大小,学习率\(η\),直到\(∂_{(w,b)}\)收敛得到我们的超参数\(w,b\)

第四题 为什么我们使用交叉熵而不用MSE呢?

在吴恩达老师的机器学习的 逻辑回归 的一课中有讲到:

在我们将Hypothesis Function \(h_\theta (x) = \theta^{T}x + b\) 替换成\(h_\theta (x) = \frac{1}{1+\exp{\theta^{T}x}}\)之后,我们得到的损失函数的图像极有可能是长成这个样子的:

这个时候就要改变我们策略,稍稍修改下\(J(\theta)\),\(J(\theta) = \frac{1}{m}\Sigma_{i=1}^{m}Cost(h_\theta (x^{(i)}) , x^{(i)})\)

文章还在编辑,如果有遗漏或者错,劳烦指正,谢谢

标签:frac,函数,模型,损失,初识,softmax,theta,Sigma
来源: https://www.cnblogs.com/yangshusen/p/15721523.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有