cs331n 线性分类器损失函数与最优化
tip:老师语速超快。。。痛苦= =
线性分类器损失函数与最优化
\(Multiclass SVM loss: L_{i} = \sum_{j \neq y_{i}} max(0,s_{i}-s_{y_{i}}+1)\)
\(Loss = \frac{1}{N} \sum_{i=1}^{N} L_{i}\)
Q1: what if the sum was instead over all classes(j = yi)?
A1:在计算中,我们可以知道这个没有意义,在公式中相当于加上了1,因为yi-yi=0
Q2:我们用平均值来替代求和会怎么样?
A2:没有任何意义,只是相当于使得最后损失的计算成倍地缩小。
Q3:如果公式变成了 $ L_{i} = \sum_{j \neq y_{i}} max(0,s_{i}-s_{y_{i}}+1)^{2} $ 会怎么样?
A3:这个公式实际上是square hinge loss。第一个公式我们通常叫做 hinge loss。
Q4:最大的损失值和最小值是多少?
A4:显然最小就是0,最大是无穷
Q5:当W很小的时候,s都等于0的时候,我们的loss会是多少?
A5:loss将会是种类数-1
code:
def L_i_vectorized(x,y,W):
scores = W.dot(x)
margins = np.maximum(0,scores - scores[y] + 1)
margins[y] = 0 # margins[y] = 1
loss_i = np.sum(margins)
return loss_i
\(f(x,W) = Wx\)
\(L = \frac{1}{N} \sum_{i=1}^{N} \sum_{j!=y_{i}} max(0,f(x_{i};W)_{j} - f(x_{i};W)_{y-{i}} +1)\)
这个loss function实际上是有bug,这个可能得到我们不想得到的结果。
比如我们想找到损失函数为0的W,是否W是独一无二?
显然不是,只要score[y]>1即可……
Weight Regularization
\(L = \frac{1}{N} \sum_{i=1}^{N} \sum_{j!=y_{i}} max(0,f(x_{i};W)_{j} - f(x_{i};W)_{y-{i}} +1) + \lambda R(W)\)
L2 regularzation \(R(W) = \sum_{k}\sum{l}W_{k,l}^2\)
L1 regularzation \(R(W) = \sum\sum \left | W_{k,l} \right |\)
Elastic net(L1+L2),Max norm regularization,Dropout
加入正则化,使得泛化能力增强。
L2正则化实际上是想让你尽可能展开你的W,使得充分的考虑更多的元素。
L1会使得W变得稀疏。
Softmax Classifier(Multinomial Logistic Regression)
scores = unnormalized log probabilities of the classes
\(L_{i} = -logP(Y = y_{i} | X = x_{i})\)
最大化正确的概率(最小化负的对数概率)
Q1:最大最小的loss是多少?
A1:最小为0,最大为无穷,显然。
Q2:当w非常小,都接近0的时候,loss会是什么值?
A2:-log(1/n) 显然
cs331n 线性分类器损失函数与最优化的更多相关文章
- 『cs231n』线性分类器损失函数
代码部分 SVM损失函数 & SoftMax损失函数: 注意一下softmax损失的用法: SVM损失函数: import numpy as np def L_i(x, y, W): ''' ...
- cs231n笔记 (一) 线性分类器
Liner classifier 线性分类器用作图像分类主要有两部分组成:一个是假设函数, 它是原始图像数据到类别的映射.另一个是损失函数,该方法可转化为一个最优化问题,在最优化过程中,将通过更新假设 ...
- cs231n线性分类器作业 svm代码 softmax
CS231n之线性分类器 斯坦福CS231n项目实战(二):线性支持向量机SVM CS231n 2016 通关 第三章-SVM与Softmax cs231n:assignment1——Q3: Impl ...
- cs231n笔记:线性分类器
cs231n线性分类器学习笔记,非完全翻译,根据自己的学习情况总结出的内容: 线性分类 本节介绍线性分类器,该方法可以自然延伸到神经网络和卷积神经网络中,这类方法主要有两部分组成,一个是评分函数(sc ...
- 1. cs231n k近邻和线性分类器 Image Classification
第一节课大部分都是废话.第二节课的前面也都是废话. First classifier: Nearest Neighbor Classifier 在一定时间,我记住了输入的所有的图片.在再次输入一个图片 ...
- [基础]斯坦福cs231n课程视频笔记(一) 图片分类之使用线性分类器
线性分类器的基本模型: f = Wx Loss Function and Optimization 1. LossFunction 衡量在当前的模型(参数矩阵W)的效果好坏 Multiclass SV ...
- SVM – 线性分类器
感知机 要理解svm,首先要先讲一下感知机(Perceptron),感知机是线性分类器,他的目标就是通过寻找超平面实现对样本的分类:对于二维世界,就是找到一条线,三维世界就是找到一个面,多维世界就是要 ...
- 2. SVM线性分类器
在一个线性分类器中,可以看到SVM形成的思路,并接触很多SVM的核心概念.用一个二维空间里仅有两类样本的分类问题来举个小例子.如图所示 和是要区分的两个类别,在二维平面中它们的样本如上图所示.中间的直 ...
- Python机器学习(基础篇---监督学习(线性分类器))
监督学习经典模型 机器学习中的监督学习模型的任务重点在于,根据已有的经验知识对未知样本的目标/标记进行预测.根据目标预测变量的类型不同,我们把监督学习任务大体分为分类学习与回归预测两类.监督学习任务的 ...
随机推荐
- WPF应用程序内存泄漏的一些原因
原文:Finding Memory Leaks in WPF-based applications There are numbers of blogs that folks wrote about ...
- rabbitmq3.7.5 centos7 安装笔记
先安装各种依赖文件: yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget vim 1. ra ...
- C# 5.0 CallerMemberName CallerFilePath CallerLineNumber获取调用方法名称,路径,行号
class Program { static void Main(string[] args) { Log("测试"); Console.Read(); } public stat ...
- php函数xml转化数组
/** * xml转数组 * @param $xml * @return array */ function xml_to_array( $xml ) { $reg = "/<(\\w ...
- input标签checkbox选中触发事件的方法
1.方法一 <input type="checkbox" onclick="checkboxOnclick(this)" /> <script ...
- Windows 系统判断MD5 值的办法
Linux 系统的文件要传到Windows系统里面,传输过程中网络不稳定,为了判断文件是否完整传输,所以就用md5的方式判断是否同一个文件 Linux系统 [root@augusite ~]# md5 ...
- mariadb-主主
互为主从:两个节点各自都要开启binlog和relay log: 这样可能会产生以下问题: 1.数据不一致: 2.自动增长id:(能不用最好不用) 定义一个节点使用奇数id auto_incremen ...
- K线图
1.程序 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...
- CentOS7 中文man(cman)配置方法
1. 下载中文man包 http://pkgs.fedoraproject.org/repo/pkgs/man-pages-zh-CN/manpages-zh-1.5.1.tar.gz/13275fd ...
- MySql与python交互
No1: 引入MySql:python2是Mysqldb,python3是pymysql No2: Connection对象 用于建立与数据库的连接 创建对象:调用connect()方法 conn=c ...