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机器学习(基础篇---监督学习(线性分类器))
监督学习经典模型 机器学习中的监督学习模型的任务重点在于,根据已有的经验知识对未知样本的目标/标记进行预测.根据目标预测变量的类型不同,我们把监督学习任务大体分为分类学习与回归预测两类.监督学习任务的 ...
随机推荐
- 构造函数与 new 命令
虽然不同于传统的面向对象编程语言,但是JavaScript具有很强的面向对象编程能力.本章介绍JavaScript如何进行“面向对象编程”. 对象的概念 “面向对象编程”(Object Oriente ...
- zookeeper 学习 客户端Acl操作笔记
Acl = Access control list create /node2 node2data [zk: localhost:2181(CONNECTED) 14] addauth digest ...
- ubuntu安装php+mysql+apche
步骤一,安装apache2 ? sudo apt-get install apache2 安装完成. 运行如下命令重启下: ? sudo /etc/init.d/apache2 restart 在浏览 ...
- 【Android】ContentValues的用法
ContentValues 和HashTable类似都是一种存储的机制 但是两者最大的区别就在于,contenvalues只能存储基本类型的数据,像string,int之类的,不能存储对象这种东西,而 ...
- ELK 使用4-Kafka + zookpeer
一.zookpeer操作 1.登录 /application/elk/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181 2.查看结构 ls / 上面的显示结果 ...
- BZOJ3052/UOJ#58 [wc2013]糖果公园 莫队 带修莫队 树上莫队
原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ3052.html 题目传送门 - BZOJ3052 题目传送门 - UOJ#58 题意 给定一棵树,有 ...
- Python编程基础[函数和面向对象](三)
Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...
- 初窥Java之三
一.基本数据类型之浮点型 每个数据它自身都有一个默认的类型,如果直接打印小数,默认类型就为double类型: float和double表示小数的精度不是特别的高,如果对于精确度要求非常的高,我们 都使 ...
- Kafka生产者案例报警告SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
一.SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 这个报警告的原因简单来说时因为slf4j的版本 ...
- linux的文件打包与压缩
简介 Linux 上常用的压缩/解压工具,介绍了zip.rar.tar的使用. 文件打包和压缩 Linux 上的压缩包文件格式,除了 Windows 最常见的*.zip.*.rar..7z 后缀的压缩 ...