IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Softmax分类器及交叉熵损失(通俗易懂) -> 正文阅读

[人工智能]Softmax分类器及交叉熵损失(通俗易懂)

在说分类器前我们先了解一下线性分类

线性函数y = kx + b ,在对于多种类别、多个特征时可将W看做一个矩阵,纵向表示类别,横向表示特征值,现在有3个类别,每个类别只有2个特征

?线性分类函数可定义为:

f(x i, W, b)=W x_{i}+b

我们的目标就是通过训练集数据学习参数W,b。一旦学习完成就可以丢弃训练集,只保留学习到的参数。

1. 损失函数

损失函数是用来告诉我们当前分类器性能好坏的评价函数,是用于指导分类器权重调整的指导性函数,通过该函数可以知道该如何改进权重系数。通俗都来说一组参数(W,b)对应一个损失L,一般的损失越小模型越好,我们目标是通过各种优化,使损失达到最优值(不一定最小是最优的)。

常见的损失函数:

  • 对数似然损失

\small L(y, \hat y)=-y\log\hat y-(1-y)\log(1-\hat y)

  • 百页损失

\small L_i = \sum_{j\neq y_i} \max(0, s_j - s_{y_i} + \Delta)

现在通过百叶损失对前面线性分类求损失:

L_{i}=\sum \max \left(0, s_{j}-s_{y i}+\Delta\right)=\max (0,0.67-0.77+1)+\max (0,2.3-0.67+1) =\max (0,0.9)+\max (0,1.97)=2.87

2. Softmax分类器与交叉熵损失(cross-entropy)

  • Softmax

函数定义

\small y=\frac{e^{f_{i}}}{\sum_{j} e^{f j}}

简单的说,softmax函数会将输出结果缩小到0到1的一个值,并且所有值相加为1

使用softmax函数对前面线性分类求得分

类别1 :? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??y_{0}=\frac{e^{0.77}}{e^{0.77}+ e^{0.67}+e^{0.23}} = 0.21

类别2 :? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??y_{0}=\frac{e^{0.67}}{e^{0.77}+ e^{0.67}+e^{0.23}}=0.18

类别3?:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??y_{0}=\frac{e^{2.3}}{e^{0.77}+ e^{0.67}+e^{2.3}}=0.61

  • 交叉熵损失(cross-entropy)

交叉熵损失衡量分类模型的性能,其输出是介于 0 和 1 之间的概率值。交叉熵损失随着预测概率与实际标签的偏离而增加。因此,当实际观察标签为 1 时预测 0.012 的概率模型不好,并导致高损失值。完美模型的对数损失为 0。cross-entropy一般再softmax函数求得结果后再用

函数定义:

L_{\mathrm{CE}}=-\sum_{i=1}^{n} t_{i} \log \left(p_{i}\right)

t_{i}是真实值,p_{i}是softmax函数求得的结果。

?因为真实值只有属于这个类别或者不属于这个类别,1代表是这个类别,如图所示表示改输入是类别3,

cross-entropy计算

\begin{aligned} L_{C E} &=-\sum_{i=1} t_{i} \log \left(p_{i}\right) \\ &=-\left[0 \log _{2}(0.21)+0 \log _{2}(0.18)+1 \log _{2}(0.61)\right] \\ &=-\log _{2}(0.61) \\ &=0.71 \end{aligned}

为什么要加负号?

log函数图像:

?因为softmax求出结果再(0,1)之间,所以cross-entropy结果为负值,加负号使得损失为正。

假如现在通过优化使得softmax 后结果为0.10、0.08、0.82,再计算cross-entropy结果对比一下

\begin{aligned} L_{C E2} &=-\sum_{i=1} t_{i} \log \left(p_{i}\right) \\ &=-\left[0 \log _{2}(0.10)+0 \log _{2}(0.08)+1 \log _{2}(0.82)\right] \\ &=-\log _{2}(0.82) \\ &=0.28 \end{aligned}

0.28小于之前的损失0.71,暗示模型正在学习。优化过程(调整权重以使输出接近真实值)一直持续到训练结束。

参考? ? https://towardsdatascience.com/cross-entropy-loss-function-f38c4ec8643e

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 18:06:59  更:2022-06-25 18:10:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:35:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码