[吴恩达机器学习笔记]12支持向量机1从逻辑回归到SVM/SVM的损失函数
12.支持向量机
觉得有用的话,欢迎一起讨论相互学习~Follow Me
参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广
12.1 SVM损失函数
从逻辑回归到支持向量机
为了描述支持向量机,事实上,我将会从逻辑回归开始展示我们如何一点一点修改来得到本质上的支持向量机。
逻辑回归公式
- 逻辑回归公式如下图所示,

可以看出逻辑回归公式由两个变量x和\(\theta\)构成,其中x表示输入的数据,而\(\theta\)是可学习的变量,如图中右半部分所示,其图像坐标轴横轴为x.\(h_{\theta}(x)\)是关于x的函数。 - 现将z视为新的变量,表示坐标轴横轴和\(\theta\)的乘积,原\(h_{\theta}(x)\)函数变为g(z)函数,z表示原图像上的水平偏移量。
如果有一个 y=1 的样本这就意味着当 h(x) 趋近于1时,\(z=\theta^{T}x\)应当远大于0,即z到了函数图像坐标轴的右边,你不难发现此时逻辑回归的输出将趋近于1。相反地,如果我们有另一个样本,即y=0。我们希望假设函数的输出值将趋近于0,这对应于\(z=\theta^{T}x\)远小于 0,即z到了函数图像坐标轴的左边。
逻辑回归损失函数到SVM
- 对于逻辑回归中的每个样本都有损失函数,整个逻辑回归模型的总损失函数即为所有样本损失函数的加和的平均,将逻辑回归的公式带入并展开。

- 当y=1时,并将\(z=\theta^{T}x\)带入其中,有如下图公式:

通过这个图像也解释了,当y=1时,为了通过梯度下降得到小的损失函数,总会使\(\theta^{T}x\)非常大的原因。 - 从y=1的损失函数图像进行少量修改就能得到SVM损失函数图像,取z=1的点作为分界点画一条和逻辑回归很接近的 线性图像 得到下图,即 图中玫红色的直线 :

- 当y=0时,并将\(z=\theta^{T}x\)带入其中,有如下图公式:

- 从y=0的损失函数图像进行少量修改就能得到SVM损失函数图像,取z=-1的点作为分界点画一条和逻辑回归很接近的 线性图像 得到下图,即 图中玫红色的直线 :

对于从逻辑回归中y=1修改而得到的SVM损失函数图像,称其为\(Cost_1(z)\),对于从逻辑回归中y=0修改而得到的SVM损失函数图像,称其为\(Cost_0(z)\).这里的下标是指在代价函数中,对应的 y=1 和 y=0 的情况,拥有了这些定义后,现在,我们就开始构建支持向量机.
构建SVM损失函数公式
- 即对于 逻辑回归 的损失函数分成y=1和y=0两个部分,并将y=1的部分替换为\(Cost_1(z)\),将y=0的部分替换为\(Cost_0(z)\)

- 但是SVM的损失函数还是和逻辑回归的略有不同,首先从 逻辑回归 处修改后得到的基本公式为:

- 因为人们在使用逻辑回归和支持向量机时遵循的规则不同,有些地方还需要修改 ,在上述式子中的损失部分和正则化部分都去掉 \(\frac{1}{m}\) 项
- 在逻辑回归中使用\(\lambda\)来平衡样本的损失函数项和正则化项,而在SVM中,使用C来平衡
- 最终的SVM的表达式:

- Note 最后有别于逻辑回归输出的概率。在这里,当最小化代价函数,获得参数 θ 时,支持向量机所做的是它来直接预测 y 的值等于 1,还是等于 0。所以学习参数 θ 就是支持向量机假设函数的形式。
\[\begin{cases}
1\ \ \ if\ \theta^{T}x\ge0 \\
0\ \ \ otherwise\\
\end{cases}
\]
[吴恩达机器学习笔记]12支持向量机1从逻辑回归到SVM/SVM的损失函数的更多相关文章
- [吴恩达机器学习笔记]12支持向量机5SVM参数细节
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.5 SVM参数细节 标记点选取 标记点(landma ...
- [吴恩达机器学习笔记]12支持向量机3SVM大间距分类的数学解释
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.3 大间距分类背后的数学原理- Mathematic ...
- [吴恩达机器学习笔记]12支持向量机2 SVM的正则化参数和决策间距
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.2 大间距的直观理解- Large Margin I ...
- [吴恩达机器学习笔记]12支持向量机6SVM总结
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 12.6SVM总结 推荐使用成熟的软件包 用以解决 SVM 最优化问题的软件很复杂,且已经有研究者做了很多年数值优化.因此强烈 ...
- [吴恩达机器学习笔记]12支持向量机4核函数和标记点kernels and landmark
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 12.4 核函数与标记点- Kernels and landmarks 问题引入 如果你有以下的训练集,然后想去拟合其能够分开 ...
- 吴恩达机器学习笔记(六) —— 支持向量机SVM
主要内容: 一.损失函数 二.决策边界 三.Kernel 四.使用SVM (有关SVM数学解释:机器学习笔记(八)震惊!支持向量机(SVM)居然是这种机) 一.损失函数 二.决策边界 对于: 当C非常 ...
- Coursera-AndrewNg(吴恩达)机器学习笔记——第三周
一.逻辑回归问题(分类问题) 生活中存在着许多分类问题,如判断邮件是否为垃圾邮件:判断肿瘤是恶性还是良性等.机器学习中逻辑回归便是解决分类问题的一种方法.二分类:通常表示为yϵ{0,1},0:&quo ...
- 吴恩达机器学习笔记61-应用实例:图片文字识别(Application Example: Photo OCR)【完结】
最后一章内容,主要是OCR的实例,很多都是和经验或者实际应用有关:看完了,总之,善始善终,继续加油!! 一.图像识别(店名识别)的步骤: 图像文字识别应用所作的事是,从一张给定的图片中识别文字.这比从 ...
- 吴恩达机器学习笔记19-过拟合的问题(The Problem of Overfitting)
到现在为止,我们已经学习了几种不同的学习算法,包括线性回归和逻辑回归,它们能够有效地解决许多问题,但是当将它们应用到某些特定的机器学习应用时,会遇到过拟合(over-fitting)的问题,可能会导致 ...
随机推荐
- 浅谈TSM概念、系统架构及技术发展
NFC作为一种近距离的无线通信技术,提供了一种更直接.更安全的现场交互解决方案.它能够允许电子设备之间进行非接触式点对点数据传输,实现数据交换.访问内容与服务.有了它,手机不再只是打电话.发短信以及上 ...
- 吴恩达机器学习笔记——正规方程(Normal Equation)
问题描述:m examples : (x(1),y(1)), (x(2),y(2)),..., (x(m),y(m)) and n features; 计算方法:θ = (XTX)-1XTy; 计算过 ...
- KMP的原理和代码实现(详细注释|参考多个博客总结|可作为模板)
KMP算法解决的问题是字符匹配,是由Knuth–Morris–Pratt共同开发出来的,这个算法把字符匹配的时间复杂度缩小到O(m+n),而空间复杂度也只有O(m),n是target的长度,m是pat ...
- UVALive - 6916 Punching Robot Lucas+dp
题目链接: http://acm.hust.edu.cn/vjudge/problem/96344 Punching Robot Time Limit: 1000MS64bit IO Format: ...
- iOS-UICollectionViewController协议及回调
一.UICollectionViewDataSource 1.返回Section数量的方法 - (NSInteger)numberOfSectionsInCollectionView: (UIColl ...
- CCF——门禁系统201412-1
问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况.每位读者有一个编号,每条记录用读者的编号来表示.给出读者的来访记录,请问每一条记录中的读者是第几次出现. 输入格式 输入的第一行 ...
- 【week9】psp
本周psp 项目 内容 开始时间 结束时间 中断时间 净时间 2016/11/14 看论文 蛋白质甲基化位点预测 9:30 13:00 15 195 讨论班 组内讨论班 13:30 17:00 0 2 ...
- mysql中(存储)函数
(存储)函数: 函数,也说成“存储函数”,其实就是js或php中所说的函数! 唯一的区别: 这里的函数必须返回一个数据(值): 定义形式: 注意事项: 1, 在函数内部,可以有各种变量和流程控制的使用 ...
- 九度-题目1203:IP地址
http://ac.jobdu.com/problem.php?pid=1203 题目描述: 输入一个ip地址串,判断是否合法. 输入: 输入的第一行包括一个整数n(1<=n<=500), ...
- Oracle schema 的含义
方案(Schema)为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,sc ...