吴恩达老师机器学习课程chapter06——支持向量机与核函数
吴恩达老师机器学习课程chapter06——支持向量机与核函数
本文是非计算机专业新手的自学笔记,高手勿喷。
本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第十二章。
支持向量机(support vector machine)是一种二类分类模型,其基本模型是在特征空间上的间隔最大的线性分类器,SVM的学习策略就是间隔最大化,又叫做大间距分类器。
和前面的内容一样,本章缺少更多数学推导,可做入门了解。
支持向量机
想要间隔最大化,我们希望有以下关系:
- 当y=1时,希望$h_{\theta}(x) \approx 1, \theta^Tx\gg 0 $
- 当y=0时,希望\(h_{\theta}(x) \approx 0, \theta^Tx\ll 0\)
可以用这种近似关系构建新的Cost函数得到新的J(θ):
支持向量机的假设模型与J(θ):
1 & \text { if } \theta^{T} x \geqslant 0 \\
0 & \text { otherwise }
\end{array}\right.
\]
\]
- 当y=1时,希望 $\theta^Tx > 1 $
- 当y=0时,希望 \(\theta^Tx< -1\)
C很大时,对于判断错误的惩罚就很大,以至于:
\]
向量内积的几何意义:
这里暂时没有给出严格证明。
但通过几何意义,可以直观感受SVM为什么能够使得间距最大。举例如下,考虑情况:\(θ_0\)=0,n=2,:
本例当中,坐标轴中,向量 \(\theta\) (图中蓝线)与 直线 \(θ^Tx=0\)(图中绿线)垂直。
各样本\(x^{(i)}\)在向量 \(θ\) 上的投影为 \(p^{(i)}\)(图中红线)。
化使得\(\|\theta\|\)很小,那么\(p^{(i)}\)就变大,从而形成大间隔。
核函数(kernels)
对于非线性分类,其边界可能比较复杂,那么特征就比较多,假设模型就会比较复杂。
可以通过核函数,将输入空间映射到高维特征空间,不用计算复杂的非线性边界,使用线性平面就能获得完成分类。
选择一些标记点(landmark),记作\(l^{(i)}\);并选择如下的函数作为核函数,记作\(f_i=similarity(x,l^{(i)})\),也被称为高斯核函数(gaussian kernel):
可以很清楚的看到,该核函数将二维平面中的点映射到了三维空间中。其中 $ \sigma ^{2} $ 越大,similarity函数越平整;反之越尖锐。在新的三维空间中,可以通过三维平面\(\theta_{0}+\theta_{1} f_{1}+\theta_{2} f_{2}+\theta_{3} f_{3}=0\)进行分类。
举例如下:
SVM与核函数的结合
已知有样本m个,特征n个,选择这m个样本\(x^{(i)}\)作为标记点\(l^{(i)}\)。
将1样本\(x^{(i)}\)和n个标记点\(l^{(i)}\)依次比较相似度,即计算\(f_i=similarity(x^{(i)},l^{(i)})\),并每一次比较结果作为一个新特征,将其组成一个新的向量 f。和x向量中添加\(x_0\)对应的,在f中添加\(f_0 =1(1与1的相似度为1)\)。
其本质,是从原本的n+1维的特征的向量 x 转化为了 m+1维的新特征的向量 f。
这时候,最优问题也转变为了 f 的最优问题:
\left(1-y^{(i)}\right) \operatorname{cost}_{0}\left(\theta^{T} f^{(i)}\right)
+\frac{1}{2} \sum_{j=1}^{m} \theta_{j}^{2}
\]
同样的,\(theta_0\)不参与正则化。(吴老师ppt上的公式正则项求和符号上方有误)
接下来再用支持向量机的思路解决这个分类问题即可。
吴恩达老师机器学习课程chapter06——支持向量机与核函数的更多相关文章
- 机器学习爱好者 -- 翻译吴恩达老师的机器学习课程字幕 http://www.ai-start.com/
机器学习爱好者 -- 翻译吴恩达老师的机器学习课程字幕 GNU Octave 开源 MatLab http://www.ai-start.com/ https://zhuanlan.zhihu ...
- 吴恩达《机器学习》课程笔记——第六章:Matlab/Octave教程
上一篇 ※※※※※※※※ [回到目录] ※※※※※※※※ 下一篇 这一章的内容比较简单,主要是MATLAB的一些基础教程,如果之前没有学过matlab建议直接找一本相关书籍,边做边学,matl ...
- 吴恩达《机器学习》课程总结(5)_logistic回归
Q1分类问题 回归问题的输出可能是很大的数,而在分类问题中,比如二分类,希望输出的值是0或1,如何将回归输出的值转换成分类的输出0,1成为关键.注意logistics回归又称 逻辑回归,但他是分类问题 ...
- 深度学习 吴恩达深度学习课程2第三周 tensorflow实践 参数初始化的影响
博主 撸的 该节 代码 地址 :https://github.com/LemonTree1994/machine-learning/blob/master/%E5%90%B4%E6%81%A9%E8 ...
- 吴恩达《机器学习》课程总结(18)_照片OCR
18.1问题描述和流程图 (1)图像文字识别是从给定的一张图片中识别文字. (2)流程包括: 1.文字侦测 2.字符切分(现在不需要切分了) 3.字符分类 18.2滑动窗口 在行人检测中,滑动窗口是首 ...
- 吴恩达《机器学习》课程笔记——第七章:Logistic回归
上一篇 ※※※※※※※※ [回到目录] ※※※※※※※※ 下一篇 7.1 分类问题 本节内容:什么是分类 之前的章节介绍的都是回归问题,接下来是分类问题.所谓的分类问题是指输出变量为有限个离散 ...
- 吴恩达《机器学习》编程作业——machine-learning-ex1:线性回归
❄❄❄❄❄❄❄❄[回到目录]❄❄❄❄❄❄❄❄ 本次编程作业中,需要完成的代码有如下几部分: [⋆] warmUpExercise.m - Simple example function in Octa ...
- 跟我学算法-吴恩达老师(超参数调试, batch归一化, softmax使用,tensorflow框架举例)
1. 在我们学习中,调试超参数是非常重要的. 超参数的调试可以是a学习率,(β1和β2,ε)在Adam梯度下降中使用, layers层数, hidden units 隐藏层的数目, learning_ ...
- 跟我学算法-吴恩达老师(mini-batchsize,指数加权平均,Momentum 梯度下降法,RMS prop, Adam 优化算法, Learning rate decay)
1.mini-batch size 表示每次都只筛选一部分作为训练的样本,进行训练,遍历一次样本的次数为(样本数/单次样本数目) 当mini-batch size 的数量通常介于1,m 之间 当 ...
- 跟我学算法-吴恩达老师的logsitic回归
logistics回归是一种二分类问题,采用的激活函数是sigmoid函数,使得输出值转换为(0,1)之间的概率 A = sigmoid(np.dot(w.T, X) + b ) 表示预测函数 dz ...
随机推荐
- spring boot 跨域
spring boot提供了两种跨域配置方式 1.全局跨域 2.局部跨域 全局跨域 package com.tons.config; import org.springframework.contex ...
- 网络储存服务ip-san搭建
简单的介绍一下SAN(存储区域网络存储区域网络和SAN协议,简称SAN),它是一种高速网络实现计算机与存储系统之间的数据传输.常见的分类是FC-SAN和IP-SAN两种.FC-SAN通过光纤通道协议转 ...
- js通过hook拿fetch返回数据
前言 很多情况下咱们在做浏览器插件的时候需要拿fetch的返回数据而不影响功能正常操作. 原理 hook原理咱就不讲了,跟其他hook差不多.具体来看看如何实现返回的. 用过fetch的朋友应该都知道 ...
- 访问第三方接口带Authorization认证
第一种方式 HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.add("Authorization", " ...
- vue中的Swiper使用slideTo提示no function
参考官网资料解决:
- Docker之Redis保姆级别安装
Docker之Redis保姆级别安装: 如果觉得样式不好:跳转即可 http://www.lifengying.site/(md文件复制过来有些样式会不一样) 学英语网站项目:自己先保证Redis.N ...
- 自定义Ribbon负载均衡
需要在基包的上一级定义,不然会被扫到如:com.cn.me,要和me同级 然后自定义两个类 DshzsRandomRule类写自己定义的算法,DshzsRule写注入的bean import com. ...
- HTML网址集合
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 【SQL Server】中的日期函数和日期数据类型
SQL Server Date 函数 SQL Server的重要日期函数包括: 函数 描述 参数含义 GETDATE() 返回当前的日期和时间 DATEPART(datepart,date) 返 ...
- storcli64简述
一.查询raid卡.raid组.物理硬盘信息 Controller_id:硬盘所在的raid卡的id,可以将该参数设置为all,表示查询该工具可管理的所有控制器的id Enclosure_id:硬盘所 ...