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 线性分类器损失函数与最优化的更多相关文章

  1. 『cs231n』线性分类器损失函数

    代码部分 SVM损失函数 & SoftMax损失函数: 注意一下softmax损失的用法: SVM损失函数: import numpy as np def L_i(x, y, W): ''' ...

  2. cs231n笔记 (一) 线性分类器

    Liner classifier 线性分类器用作图像分类主要有两部分组成:一个是假设函数, 它是原始图像数据到类别的映射.另一个是损失函数,该方法可转化为一个最优化问题,在最优化过程中,将通过更新假设 ...

  3. cs231n线性分类器作业 svm代码 softmax

    CS231n之线性分类器 斯坦福CS231n项目实战(二):线性支持向量机SVM CS231n 2016 通关 第三章-SVM与Softmax cs231n:assignment1——Q3: Impl ...

  4. cs231n笔记:线性分类器

    cs231n线性分类器学习笔记,非完全翻译,根据自己的学习情况总结出的内容: 线性分类 本节介绍线性分类器,该方法可以自然延伸到神经网络和卷积神经网络中,这类方法主要有两部分组成,一个是评分函数(sc ...

  5. 1. cs231n k近邻和线性分类器 Image Classification

    第一节课大部分都是废话.第二节课的前面也都是废话. First classifier: Nearest Neighbor Classifier 在一定时间,我记住了输入的所有的图片.在再次输入一个图片 ...

  6. [基础]斯坦福cs231n课程视频笔记(一) 图片分类之使用线性分类器

    线性分类器的基本模型: f = Wx Loss Function and Optimization 1. LossFunction 衡量在当前的模型(参数矩阵W)的效果好坏 Multiclass SV ...

  7. SVM – 线性分类器

    感知机 要理解svm,首先要先讲一下感知机(Perceptron),感知机是线性分类器,他的目标就是通过寻找超平面实现对样本的分类:对于二维世界,就是找到一条线,三维世界就是找到一个面,多维世界就是要 ...

  8. 2. SVM线性分类器

    在一个线性分类器中,可以看到SVM形成的思路,并接触很多SVM的核心概念.用一个二维空间里仅有两类样本的分类问题来举个小例子.如图所示 和是要区分的两个类别,在二维平面中它们的样本如上图所示.中间的直 ...

  9. Python机器学习(基础篇---监督学习(线性分类器))

    监督学习经典模型 机器学习中的监督学习模型的任务重点在于,根据已有的经验知识对未知样本的目标/标记进行预测.根据目标预测变量的类型不同,我们把监督学习任务大体分为分类学习与回归预测两类.监督学习任务的 ...

随机推荐

  1. virtualenv and virtualenvwrapper

    virtualenv 1.下载virtualenv工具 通过物理环境的pip工具安装  清华 国内 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/ ...

  2. COOKIE和SESSION有什么区别?

    1,位置--session 在服务器端,cookie 在客户端(浏览器)2,形式--session 默认被存在在服务器的一个文件里(session 可以放在 文件.数据库.或内存中都可以),cooki ...

  3. 51Nod1601 完全图的最小生成树计数 Trie Prufer编码

    原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1601.html 题目传送门 - 51Nod1601 题意 题解 首先我们考虑如何求答案. 我们将所有 ...

  4. Machine Learning 神器 - sklearn

    Sklearn 官网提供了一个流程图, 蓝色圆圈内是判断条件,绿色方框内是可以选择的算法: 从 START 开始,首先看数据的样本是否 >50,小于则需要收集更多的数据. 由图中,可以看到算法有 ...

  5. LINQ技术

    转载http://www.cnblogs.com/Dlonghow/p/1413830.html Linq (Language Integrated Query,语言集成查询),是微软公司提供的一项新 ...

  6. JavaEE 之 log4j

    1.log4j a.概念:一个非常优秀的开源日志记录工具 b.配置: ①src同目录下建立log4j.properties文件,书写: log4j.rootLogger=debug,appender1 ...

  7. NN:实现BP神经网络的回归拟合,基于近红外光谱的汽油辛烷值含量预测结果对比—Jason niu

    load spectra_data.mat plot(NIR') title('Near infrared spectrum curve—Jason niu') temp = randperm(siz ...

  8. POJ 3281 Dining (拆点)【最大流】

    <题目链接> 题目大意: 有N头牛,F种食物,D种饮料,每一头牛都有自己喜欢的食物和饮料,且每一种食物和饮料都只有一份,让你分配这些食物和饮料,问最多能使多少头牛同时获得自己喜欢的食物和饮 ...

  9. springcloud(六):配置中心git示例

    随着线上项目变的日益庞大,每个项目都散落着各种配置文件,如果采用分布式的开发模式,需要的配置文件随着服务增加而不断增多.某一个基础服务信息变更,都会引起一系列的更新和重启,运维苦不堪言也容易出错.配置 ...

  10. Ubuntu ssh-keygen 生成公钥并添加到远程服务器上

    1. 在本地生成公钥, ssh-keygen -t RSA -b 800 2. cd /root/.ssh 3. ssh-copy-id -i  id_rsa.pub 远程服务器IP 这一步需要输入远 ...