[CS231n-CNN] Linear classification II, Higher-level representations, image features, Optimization, stochastic gradient descent
课程主页:http://cs231n.stanford.edu/
loss function:
-Multiclass SVM loss:
表示实际应该属于的类别的score。因此,可以发现,如果实际所属的类别score越小,那么loss function算出来的就会越大,这样才符合常理。
最后取平均:
*问题:
1⃣️:
因为include j=y_i其实就是最后加上常数1,对结果没有任何影响。
2⃣️:
因为mean和sum成正比,因此对最后的结果都没影响,所以为了方便计算,无需求mean。
这两种loss function结果会有所区别,但两者都可以。第一种更常见。
min:0(最完美的)
max:正无穷(最不完美的)
和都很小,所以结果会是number_of_classes - 1.
如果每个的都分队的话,w无论乘以多少倍(w不唯一),结果都是一样的。
在w不唯一的情况下,我们如何得到我们最想要的一组w的值呢?因此,我们需要一种方法可以measure niceness of w.
正则化的目的是防止过拟合。
-引出:Weight Regularisation
我们不仅仅想要w能够很好的拟合数据,而且还想得到更好的w。
motivation:
w1只与一个feature有关,忽略了其他的feature。虽然w1和w2的值相同。(详细的介绍参考cs229)
__________________________________________________________________________________________________________
-Softmax function(a different form loss function:)
(之前用的是svm,即:)
计算方法:
*问题:
min:0 (全部分对)
max:无穷大 (严重分错)
所以,最大值和最小值是一样的,也符合常理。
比较:
问题:
10是正确的score。
如果把第三个数据[10,-100,100]稍微变一下,两种loss function会有什么样的变化?
svm:会保持不变,因为根据公式里,只要(-x)-(100)+1<0,它都会被认为是0.所以,对结果不会产生任何影响。
softmax:会产生better loss。
有学生提问:为什么是svm中是+1,可以改为0吗?
回答:必须要一个正数(详细解释请看cs229,margin)
demo : http://vision.stanford.edu/teaching/cs231n/linear-classify-demo/
_________________________________________________________________________________________________________________________________
-Optimization
因为参数有成千上万个,如果改变一个参数计算一次loss的话,会非常耗时。
引出微积分(莱布尼茨和牛顿发现的):
通过直接计算导数就可以了。
总结:
更有效的方法:不把所有的训练数据拿来训练,而是每次随机抽取部分数据拿来训练。虽然每次的结果会有波动,但是总的趋势是下降的。
下面的那种不需要feature extraction,直接training出10numbers。
[CS231n-CNN] Linear classification II, Higher-level representations, image features, Optimization, stochastic gradient descent的更多相关文章
- 线性回归、梯度下降(Linear Regression、Gradient Descent)
转载请注明出自BYRans博客:http://www.cnblogs.com/BYRans/ 实例 首先举个例子,假设我们有一个二手房交易记录的数据集,已知房屋面积.卧室数量和房屋的交易价格,如下表: ...
- Linear Regression and Gradient Descent (English version)
1.Problem and Loss Function Linear Regression is a Supervised Learning Algorithm with input matrix ...
- [CS231n-CNN] Image classification and the data-driven approach, k-nearest neighbor, Linear classification I
课程主页:http://cs231n.stanford.edu/ Task: Challenges: _________________________________________________ ...
- Higher level thinking
「Higher level thinking」-- 出自 Ray Dalio 的<Principles>(PDF 原文:Principles by Ray Dalio) Higher le ...
- 从损失函数优化角度:讨论“线性回归(linear regression)”与”线性分类(linear classification)“的联系与区别
1. 主要观点 线性模型是线性回归和线性分类的基础 线性回归和线性分类模型的差异主要在于损失函数形式上,我们可以将其看做是线性模型在多维空间中“不同方向”和“不同位置”的两种表现形式 损失函数是一种优 ...
- 斯坦福机器学习视频笔记 Week1 Linear Regression and Gradient Descent
最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更 ...
- 斯坦福机器学习视频笔记 Week1 线性回归和梯度下降 Linear Regression and Gradient Descent
最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更 ...
- machine learning (7)---normal equation相对于gradient descent而言求解linear regression问题的另一种方式
Normal equation: 一种用来linear regression问题的求解Θ的方法,另一种可以是gradient descent 仅适用于linear regression问题的求解,对其 ...
- Logistic Regression Using Gradient Descent -- Binary Classification 代码实现
1. 原理 Cost function Theta 2. Python # -*- coding:utf8 -*- import numpy as np import matplotlib.pyplo ...
随机推荐
- gcc5.1.0升级指南
请使用root权限用控制台安装gcc5.1.0(重要) 1.首先把旧的gcc相关的编译工具安装好(没有安装会导致后面的错误) yum upgrade gcc //升级gcc库 yum -y insta ...
- (二)关于ajax那些事
哈哈,今天突然兴起,想了想自己对ajax的了解,来这里叙述下.心情好,嘿嘿嘿 ajax是一种创建交互式网页应用的网页开发技术.就是在不重新加载页面的情况下,更新部分网页. ajax原理:ajax就是相 ...
- struts2 iterator排序
因为存入数据库的数据可能不是按照我们想要的方式存进去的.这就导致取出来的时候,不是按照我们想要的方式排序.这时候就要利用struts2的iterator排序功能,按照我们想要的顺序排列. 首先.一个付 ...
- ucos操作系统的内核有哪些调度方法
1)时间片轮番调度法 假设系统中有5个任务,T1,T2,T3,T4,T5,这个时候,操作系统为每一个任务分配时间,比如说我们为T1任务分配10毫秒,为T2任务分配20毫秒,为T3任务分配5毫秒,为T4 ...
- android: SharedPreferences实现记住密码功能
既然是实现记住密码的功能,那么我们就不需要从头去写了,因为在上一章中的最佳实 践部分已经编写过一个登录界面了,有可以重用的代码为什么不用呢?那就首先打开 BroadcastBestPractice 项 ...
- 解决VS2010中在项目上右键鼠标,无“添加STS引用”菜单的问题
解决方法:将Windows Identity Foundation SDK文件夹C:\Program Files (x86)\Windows Identity Foundation SDK\v3.5\ ...
- [转] 配置Log4j
Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...
- js 去掉字符串前面的0
<script>var a='00123';alert(a.replace(/\b(0+)/gi,""));</script>
- hive中grouping sets的使用
hive中grouping sets 数量较多时如何处理? 可以使用如下设置来 set hive.new.job.grouping.set.cardinality = 30; 这条设置的意义在于 ...
- oracle中查询某张表都被哪些表参照了
起因: 系统测试的时候发现如果某条记录已经被引用了,这个时候删除这条记录会引起数据不一致,系统会报错.比如警员信息,在考勤记录表里会引用警员ID,如果考勤记录表中已经存在这个警员ID了,这时从警员表中 ...