Cs231n课堂内容记录-Lecture2-Part2 线性分类
Lecture 3
课程内容记录:(上)https://zhuanlan.zhihu.com/p/20918580?refer=intelligentunit
(中)https://zhuanlan.zhihu.com/p/20945670?refer=intelligentunit
(下)https://zhuanlan.zhihu.com/p/21102293?refer=intelligentunit
1.线性分类器(linear classifer):
我们总是希望得到一个函数f(x,w),即评分函数(score function),x代表输入数据,往往是图像的numpy矩阵,w是权重或者一些参数,而整个函数的结果对应预测值的一维Numpy矩阵,矩阵中数值最大的预测值代表概率最高的预测对象。我们可以去利用充分地想象力改变f,已得到尽可能高效准确的预测结果,最简单的f就是乘积的形式,也就是线性分类器。
通常我们会添加一个偏置项,他是对应预测结果数的一维向量,它对预测得到的数据进行偏置,以获得更具有取向性的结果(如果你的分类结果中猫的数量大于狗,而测试集中猫狗的数量一致,很可能你的偏置更倾向于猫)。
2.NN和线性分类器的区别:
NN的训练过程只是将训练集图片及标签提取出来,预测过程中找到与预测对象L1距离最小的训练集图像,它对应的标签类别就是预测类别。KNN多了一步是找到K个最小图像进行二次投票。
线性分类器需要得到权重值W和偏置值b,然后相当于利用测试图像去匹配不同类别对应的(W,b)组成的模板图像,最为匹配的则属于该类别。这样极大地节省了测试集测试所需的时间。这时我们所要做的“匹配”过程,是使预测图像得到的评分结果尽可能与训练集中图像的真实类别一致,即评分函数在正确的分类位置应当得到最高的评分。(也就是说通过W,b划分出分类的特定空间)
3.关于支持向量机(SVM:Support Vector Machine):
支持向量机的基本模型是在特征空间上找到最佳的分离超平面使得训练集上正负样本间隔最大,原用来解决二分类问题的有监督学习算法,在引入了核方法之后SVM也可以用来解决非线性问题。离分离超平面最近的两个数据点被称为支持向量(Support Vector)。
参见吴恩达机器学习课程以及李航《统计学习方法》
4.关于正则化(regularization):
通过在损失函数中加入后一项,正则化项,我们对W的值进行了制约,希望模型选择更简单的W值。这里的“简单”具体取决于你的模型种类和任务的规模。它同样体现了奥卡姆剃刀的观点:如果你找到了多个可以解释结果的假设,一般来说我们应该选择最简约的假设。因为这样的假设鲁棒性更好,更适用于全新的测试集。基于这一思想,我们希望W的值尽量小。这样我们的损失函数就具有两个项,数据丢失项(data loss)和正则化项(Regularization)。这里我们用到了一种超参数λ用以平衡这两项,称为正则化参数。
关于正则化参数部分,可以参见吴恩达课程。

一些正则化方法如下图:

对模型进行正则化(regulairzation),也就是在损失函数中加入正则项的主要目的是为了减轻模型的复杂度,在一定程度上减缓过拟合的速度。
5.关于范数(norm):
参见:https://blog.csdn.net/a493823882/article/details/80569888
6.支持向量机(SVM)和Softmax分类器的对比:
SVM和Softmax是最常用的两个分类器,Softmax的损失函数和SVM不同,SVM输出f(x,W),我们得到每个分类的对应的评分大小。而Softmax的输出更加直观,是各分类归一化后的分类概率。在Softmax分类器中,函数f(x,W)=Wx的形式保持不变,但分类器将这些评分值视为每个分类的未归一化的对数概率,并且将折叶损失(hinge loss)替换成了交叉熵损失(cross-entropy loss)。
关于交叉熵的解释以及两者区别的具体例子,以及关于两者区别的一些解释,课程笔记中讲得很好。
注:
关于softmax对数取负的原因:我们将对数概率指数化,归一化之后再取对数,这时如果结果越好当然概率越高,但我们期望loss应该越低才对,所以对结果取负。
Softmax Classifier,又称Multinomial Logistic Regression,多项式逻辑回归。
7.loss function总结:

Cs231n课堂内容记录-Lecture2-Part2 线性分类的更多相关文章
- Cs231n课堂内容记录-Lecture 4-Part1 反向传播及神经网络
反向传播 课程内容记录:https://zhuanlan.zhihu.com/p/21407711?refer=intelligentunit 雅克比矩阵(Jacobian matrix) 参见ht ...
- Cs231n课堂内容记录-Lecture 3 最优化
Lecture 4 最优化 课程内容记录: (上)https://zhuanlan.zhihu.com/p/21360434?refer=intelligentunit (下)https://zhua ...
- Cs231n课堂内容记录-Lecture2-Part1 图像分类
Lecture 2 课程内容记录:(上)https://zhuanlan.zhihu.com/p/20894041?refer=intelligentunit (下)https://zhuanlan. ...
- Cs231n课堂内容记录-Lecture 4-Part2 神经网络
Lecture 7 神经网络二 课程内容记录:https://zhuanlan.zhihu.com/p/21560667?refer=intelligentunit 1.协方差矩阵: 协方差(Cova ...
- Cs231n课堂内容记录-Lecture 6 神经网络训练
Lecture 6 Training Neural Networks 课堂笔记参见:https://zhuanlan.zhihu.com/p/22038289?refer=intelligentun ...
- Cs231n课堂内容记录-Lecture1 导论
Lecture 1 视频网址:https://www.bilibili.com/video/av17204303/?p=2 https://zhuanlan.zhihu.com/p/21930884? ...
- Cs231n课堂内容记录-Lecture 7 神经网络训练2
Lecture 7 Training Neural Networks 2 课堂笔记参见:https://zhuanlan.zhihu.com/p/21560667?refer=intelligent ...
- Cs231n课堂内容记录-Lecture 5 卷积神经网络介绍
Lecture 5 CNN 课堂笔记参见:https://zhuanlan.zhihu.com/p/22038289?refer=intelligentunit 不错的总结笔记:https://blo ...
- Cs231n课堂内容记录-Lecture 9 深度学习模型
Lecture 9 CNN Architectures 参见:https://blog.csdn.net/qq_29176963/article/details/82882080#GoogleNet_ ...
随机推荐
- transform:scale()妙用——当下拉列表,图片无缝拉升 动画效果
遇到问题 昨天在做音乐播放器的时候,遇到了一个这样的界面: 当下拉scroll区域列表的时候,图片会按照比例无缝连接放大,就想下面的效果图一样 分析问题 从上图可一看到,页面主要由两个div组成, ...
- MySQL系列详解三:MySQL中各类日志详解-技术流ken
前言 日志文件记录了MySQL数据库的各种类型的活动,MySQL数据库中常见的日志文件有 查询日志,慢查询日志,错误日志,二进制日志,中继日志 .下面分别对他们进行介绍. 查询日志 1.查看查询日志变 ...
- python抓取电影<海王>影评词云生成
海王是前段时间大热的影片,个人对这种动漫题材的电影并不是很感兴趣.然鹅,最近这部电影实在太热了,正好最近看自然语言处理的时候,无意间发现了word cloud这个生成词云的库,还蛮好玩的,那就抓抓这部 ...
- NSOperation讲解
本篇博客转自https://www.jianshu.com/p/4b1d77054b35 1. NSOperation.NSOperationQueue 简介 NSOperation.NSOperat ...
- html5入门:教你用canvas写一个时钟
今天的时间比较充裕,心血来潮,为大家分享一个html5的小例子,希望对刚学html5或者是没学html5正准备学的“童鞋们”展示一个小案例,希望对你们的学习有帮助!高手嘛!请跳过吧! 好了,闲话少数, ...
- 《C#并发编程经典实例》学习笔记-进程(process)和线程(thread)
本文主要参考自孙钟秀主编的<操作系统教程>一书中关于进程和线程的部分. 进程 为什么引入进程? 一,刻画系统动态性,发挥系统并发性,提高资源利用率. 以C#为例,在编辑器Visual St ...
- [心得] 如何利用liquibase進行資料庫版本控制 - 基礎觀念
前言 - 會寫這篇除了是要記錄一下使用的過程之外,也是發現到網路上找來的教學幾乎都是跟其它環境做結合 比較沒有單純利用command進行的流程.也沒有整體觀念的介紹,所以將我所理解的整理分享給大家. ...
- axios 用法简介(转载)
axios 来源:https://www.jianshu.com/p/df464b26ae58 一.安装 1. 利用npm安装npm install axios --save2. 利用bower安 ...
- [android] 隐式意图激活另外一个activity
随着api的升级,系统的很多应用包名和类名都改掉了,所以很多时候,打开系统应用的时候会报错,隐式意图就是解决组件之间松耦合,描述动作行为 获取Intent对象,通过new出来 调用Intent对象的s ...
- C语言异常处理之 setjmp()和longjmp()
异常处理之除0情况 相信大家处理除0时,都会通过函数,然后判断除数是否为0,代码如下所示: double divide(doublea,double b) { const double delta = ...