| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 人工智能 -> 2.2.线性分类器——softmax -> 正文阅读 |
|
|
[人工智能]2.2.线性分类器——softmax |
1.Softmax损失函数和梯度求导1.1.理论推导参考:CS231n课程学习笔记(三)——Softmax分类器的实现 ? 对于某张图片Xi来说,损失函数的定义:
? 对于求导来说,需要用到链式法则,即
? 对于某张图片数据Xi,由于Scores = W * x,所以对W求导比较简单,结果就是x.T,注意这里最好严谨一点写成x.T,而不是x。 ? 而loss对score的求导,由于fj或者fyi分别在分母或者分子上,也就是并不同在分子或者分母上,所以需要分开求导。
? 最后的结果如下:
1.2.编程实现1.2.1.循环模式
1.2.2.向量化模式
2.Inline questionsInline Question 1
Why do we expect our loss to be close to -log(0.1)? Explain briefly. Y𝑜𝑢𝑟𝐴𝑛𝑠𝑤𝑒𝑟:YourAnswer: 因为选择的权重是符合正态分布的,最后log里面是exp(fyi)/sum(exp(fj)),由于是正态分布此时计算出来的各个类别的得分都是近似的,所以log里面的概率就接近0.1 Inline Question 2 提问:Suppose the overall training loss is defined as the sum of the per-datapoint loss over all training examples. It is possible to add a new datapoint to a training set that would leave the SVM loss unchanged, but this is not the case with the Softmax classifier loss.(判断) 翻译:假设总训练损失定义为所有训练示例中每个数据点损失的总和。 可以将新的数据点添加到训练集,这将使SVM损失保持不变,但是对于Softmax分类器损失而言,情况并非如此。 回答:有可能加的数据点对svm来讲比较好辨识,所以取max之后都是0,但是对于softmax而言,总会得到一个概率分布,然后算出交叉熵,换言之,softmax的loss总会加上一个量,即使是一个很小的量。 |
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/26 19:03:44- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |