二分类交叉熵损失函数python_【深度学习基础】第二课:softmax分类器和交叉熵损失函数...
【深度学习基础】系列博客为学习Coursera上吴恩达深度学习课程所做的课程笔记。
本文为原创文章,未经本人允许,禁止转载。转载请注明出处。
1.线性分类
如果我们使用一个线性分类器去进行图像分类该怎么做呢?假设现在我们有一张$2\times2\times1$的图像(即图像大小为$2\times 2$,通道数为1),像素值见下:
\[\begin{bmatrix} 56 & 231 \\ 24 & 2 \\ \end{bmatrix}\]
此时我们构建一个线性分类器去判断该幅图像属于哪一种类别:
用一张图表示就是:
此时增加一下难度,如果我们的训练数据是$64\times 64 \times 3$的RGB图像呢?同理,这时我们的$\mathbf x$就是一个$12288\times 1$的向量($64\times 64 \times 3=12288$):
那么模型的参数是怎么来的呢?可以通过最小化损失\代价函数(线性模型通常选择“均方误差”作为损失\代价函数,详见【机器学习基础】第六课)来估计$\mathbf w,\mathbf b$的值。
2.softmax分类器
如果使用线性模型进行分类的话,得到的是一个具体的数值,并不直观。我们更希望可以直接得到某一样本属于各个类别的概率。
对于二分类任务来说,我们可以采用对数几率回归来输出样本属于正类的概率。
那么对于多分类该怎么办呢?答案就是softmax分类器。
在对数几率回归中,我们使用sigmoid函数使得输出限制在0~1之间,即样本属于正类的概率。类似的,在多分类任务中,我们使用softmax函数使得输出限制在0~1之间,并且每个样本属于各个类别的概率相加刚好为1(❗️sigmoid就是极端情况(类别数为2)下的softmax)。
softmax函数又称归一化指数函数,它能将一个含任意实数的K维向量$\mathbf z$“压缩”到另一个K维实向量$\sigma (\mathbf z)$中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。该函数的形式通常按下面的式子给出:
\[\sigma (\mathbf z)_j=\frac{e^{z_j}}{\sum^K_{k=1}e^{z_k}}\]
在多分类任务中,softmax函数的输入是从K个不同的线性函数得到的结果(即$\mathbf x^T \mathbf w$),而样本向量$\mathbf x$属于第j个类别的概率为:
\[P(y=j \mid \mathbf x)=\frac{e^{\mathbf x^T \mathbf w_j}}{\sum^K_{k=1}e^{\mathbf x^T \mathbf w_k}}\]
例如:
2.1.hardmax分类器
与softmax相对应的是hardmax,hardmax会将最大的值置为1,其他置为0。
例如有:
\[\begin{bmatrix} 5 \\ 2 \\ -1 \\ 3 \end{bmatrix}\]
softmax将其转换为:
\[\begin{bmatrix} 0.842 \\ 0.042 \\ 0.002 \\ 0.114 \end{bmatrix}\]
而hardmax会将其转换为:
\[\begin{bmatrix} 1 \\ 0 \\ 0 \\ 0 \end{bmatrix}\]
显然,softmax的转换更为温和。
3.交叉熵损失函数
在对数几率回归一文中,我们采用最大似然法进行参数估计,其中式(3.8)其实就是交叉熵损失函数的应用。
以softmax分类器为例,利用交叉熵损失函数,对softmax求得概率取-ln,最后相加即可得到最后的总损失:
对于单个样本来说,其交叉熵损失值为:
二分类情况下:
$loss=-[y\cdot \log(p)+(1-y)\cdot \log(1-p)]$
y为样本的标记,正类为1,负类为0
p表示样本预测为正的概率
多分类情况下:
$loss=-\sum_{c=1}^M y_c \log(p_c)$
M为类别的数量
$y_c$等于0或1,如果预测出的类别和样本标记相同就是1,否则是0
$p_c$为样本属于类别c的概率
将训练集中所有样本的loss值加起来便可得到最终的总loss。
例如一个三分类问题,假设训练集中共有3个样本,通过softmax分类器我们得到了3个样本分别属于三个类别的概率:
采用交叉熵损失函数,求得该参数下的softmax分类器的总loss:
\[\begin{align} total\_loss & = -[0\times \log 0.3+0\times \log 0.3 +1\times \log 0.4] \\ & -[0\times \log 0.3 +1\times \log 0.4 +0\times \log 0.3] \\ & -[1\times \log 0.1 + 0\times \log 0.2 +0\times \log 0.7] \\ & = 0.397+0.397+1 \\ & =1.8 \end{align}\]
然后可以通过优化分类器参数来降低总loss(例如可通过梯度下降法或牛顿法求得loss最小时所对应的模型参数)。
4.参考资料
二分类交叉熵损失函数python_【深度学习基础】第二课:softmax分类器和交叉熵损失函数...相关推荐
- 深度学习基础14(softmax回归数据集的选择以及读取)
图像分类数据集 MNIST数据集是图像分类中广泛使用的数据集之一,是对手写数字的识别,大概86年提出的 但作为基准数据集过于简单. 我们将使用类似但更复杂的Fashion-MNIST数据集 %matp ...
- 【深度学习基础】超参数介绍
深度学习基础: 性能评估指标 超参数介绍 损失函数 在深度神经网络中,超参数的调整是一项必备技能,通过观察在训练过程中的监测指标如损失loss和准确率来判断当前模型处于什么样的训练状态,及时调整超参数 ...
- 第二次作业:“深度学习基础”
第二次作业:"深度学习基础" 完成一篇博客,题目为 " 第二次作业:深度学习基础 " 第二次软工作业 第二次作业:"深度学习基础" 一.视频 ...
- 日月光华深度学习(一、二)深度学习基础和tf.keras
日月光华深度学习(一.二)深度学习基础和tf.keras [2.2]--tf.keras实现线性回归 [2.5]--多层感知器(神经网络)的代码实现 [2.6]--逻辑回归与交叉熵 [2.7]--逻辑 ...
- 2021-07-14 深度学习基础与实践(二)
深度学习基础与实践(二) 一.分类及其性能度量 1.分类问题 2.分类性能度量 (1)准确率 (2)精确率和召回率 (3)P-R曲线 (4)F值 (5)ROC曲线 3.分类性能可视化 (1)混淆矩阵的 ...
- 【点云路标提取】一个用于点云道路标志提取,分类和完善的的深度学习框架
A deep learning framework for road marking extraction, classification and completion from mobile las ...
- 机器学习,深度学习基础算法原理详解(图的搜索、交叉验证、PAC框架、VC-维(持续更新))
机器学习,深度学习基础算法原理详解(图的搜索.交叉验证.PAC框架.VC-维.支持向量机.核方法(持续更新)) 机器学习,深度学习基础算法原理详解(数据结构部分(持续更新)) 文章目录 1. 图的搜索 ...
- 深度学习基础笔记——激活函数
相关申明及相关参考: 体系学习地址 主要学习笔记地址 激活函数,你真的懂了吗? - 知乎 (zhihu.com) 聊一聊深度学习的activation function - 知乎 (zhihu.com ...
- 深度学习基础之卷积神经网络
摘要 受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),Yann Lecun 最早将CNN用于手写数字识别并一直保持了其在该问题的霸主地位.近年来卷积神经网络在多个 ...
最新文章
- 【ZooKeeper Notes 3】ZooKeeper Java API 使用样例
- TX Text Control文字处理教程(13)实现拖放操作
- php non numeric,PHP 7.1 的 A non-numeric value encountered 错误和解决方法
- 工具使用 - Quartus II 管脚分配方法
- sqlserver 安装共享功能什么意思_科普:网格屏是什么意思?LED网格屏怎么安装...
- Framework 1.0/1.1中NotifyIcon的不足
- 返回路径平面上的间隙_裁切机的上刀下刀如何调整?
- Management reporter 2012 与AX 2012
- 图像相似度对比分析软件,简单图像相似度对比图
- 调用远程摄像头进行人脸识别_【论文精选】基于人脸识别技术的燃气远程开户系统...
- 格式工厂kux格式怎么转换成mp4
- obsidian标题自动添加序号
- 【opencv人脸识别1】从图片中检测人脸
- 怎样存钱力最大c语言,C语言问题 、//14.怎样存钱利最大 //假设银行整存整取存款不同期限的 月息利率 分别为: 0.63% 期限=1年 0....
- 英雄杀11月光棍节活动
- 爱彼迎招募“周末玩家”,住遍“匠心”民宿系列
- Mobile-Former来了!微软提出:MobileNet+Transformer轻量化并行网络
- android极光推送no bit-32,iOS极光推送详解以及碰到问题和解决方式
- 计算机考office2010,由于我们计算机考windows7和office2010,我可以不改原本的WIndows 10系统直...
- Android 获取应用的安装时间及更新时间