【深度学习基础】系列博客为学习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分类器和交叉熵损失函数...相关推荐

  1. 深度学习基础14(softmax回归数据集的选择以及读取)

    图像分类数据集 MNIST数据集是图像分类中广泛使用的数据集之一,是对手写数字的识别,大概86年提出的 但作为基准数据集过于简单. 我们将使用类似但更复杂的Fashion-MNIST数据集 %matp ...

  2. 【深度学习基础】超参数介绍

    深度学习基础: 性能评估指标 超参数介绍 损失函数 在深度神经网络中,超参数的调整是一项必备技能,通过观察在训练过程中的监测指标如损失loss和准确率来判断当前模型处于什么样的训练状态,及时调整超参数 ...

  3. 第二次作业:“深度学习基础”

    第二次作业:"深度学习基础" 完成一篇博客,题目为 " 第二次作业:深度学习基础 " 第二次软工作业 第二次作业:"深度学习基础" 一.视频 ...

  4. 日月光华深度学习(一、二)深度学习基础和tf.keras

    日月光华深度学习(一.二)深度学习基础和tf.keras [2.2]--tf.keras实现线性回归 [2.5]--多层感知器(神经网络)的代码实现 [2.6]--逻辑回归与交叉熵 [2.7]--逻辑 ...

  5. 2021-07-14 深度学习基础与实践(二)

    深度学习基础与实践(二) 一.分类及其性能度量 1.分类问题 2.分类性能度量 (1)准确率 (2)精确率和召回率 (3)P-R曲线 (4)F值 (5)ROC曲线 3.分类性能可视化 (1)混淆矩阵的 ...

  6. 【点云路标提取】一个用于点云道路标志提取,分类和完善的的深度学习框架

    A deep learning framework for road marking extraction, classification and completion from mobile las ...

  7. 机器学习,深度学习基础算法原理详解(图的搜索、交叉验证、PAC框架、VC-维(持续更新))

    机器学习,深度学习基础算法原理详解(图的搜索.交叉验证.PAC框架.VC-维.支持向量机.核方法(持续更新)) 机器学习,深度学习基础算法原理详解(数据结构部分(持续更新)) 文章目录 1. 图的搜索 ...

  8. 深度学习基础笔记——激活函数

    相关申明及相关参考: 体系学习地址 主要学习笔记地址 激活函数,你真的懂了吗? - 知乎 (zhihu.com) 聊一聊深度学习的activation function - 知乎 (zhihu.com ...

  9. 深度学习基础之卷积神经网络

    摘要 受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),Yann Lecun 最早将CNN用于手写数字识别并一直保持了其在该问题的霸主地位.近年来卷积神经网络在多个 ...

最新文章

  1. 【ZooKeeper Notes 3】ZooKeeper Java API 使用样例
  2. TX Text Control文字处理教程(13)实现拖放操作
  3. php non numeric,PHP 7.1 的 A non-numeric value encountered 错误和解决方法
  4. 工具使用 - Quartus II 管脚分配方法
  5. sqlserver 安装共享功能什么意思_科普:网格屏是什么意思?LED网格屏怎么安装...
  6. Framework 1.0/1.1中NotifyIcon的不足
  7. 返回路径平面上的间隙_裁切机的上刀下刀如何调整?
  8. Management reporter 2012 与AX 2012
  9. 图像相似度对比分析软件,简单图像相似度对比图
  10. 调用远程摄像头进行人脸识别_【论文精选】基于人脸识别技术的燃气远程开户系统...
  11. 格式工厂kux格式怎么转换成mp4
  12. obsidian标题自动添加序号
  13. 【opencv人脸识别1】从图片中检测人脸
  14. 怎样存钱力最大c语言,C语言问题 、//14.怎样存钱利最大 //假设银行整存整取存款不同期限的 月息利率 分别为: 0.63% 期限=1年 0....
  15. 英雄杀11月光棍节活动
  16. 爱彼迎招募“周末玩家”,住遍“匠心”民宿系列
  17. Mobile-Former来了!微软提出:MobileNet+Transformer轻量化并行网络
  18. android极光推送no bit-32,iOS极光推送详解以及碰到问题和解决方式
  19. 计算机考office2010,由于我们计算机考windows7和office2010,我可以不改原本的WIndows 10系统直...
  20. Android 获取应用的安装时间及更新时间

热门文章

  1. 数据结构-树和二叉树(六)二叉平衡树
  2. 用C#举例单例模式应用场景有哪些
  3. mos管怎样选型?新人必备MOS管正确选择的过程!
  4. VISIONPRO中使用工业相机采集图像的两种方式分享
  5. (转)为了快 0.00007 秒,有家交易公司花 1400 万美元买了块地
  6. linux的nc命令退出,nc 命令使用详解
  7. 啁啾信号chirp(扫频余弦信号)
  8. flink将数据写入redis
  9. 计算机操作系统期末复习大纲
  10. EDI集成ERP一体化解决方案