机器学习笔记4:SVM支持向量积的推导过程
2024-09-06 03:47:25
内容来自:https://github.com/GreedyAIAcademy/Machine-Learning
最初
支持向量机的目的:找到一条好的分割线
什么杨的分割线最好?
有最大间隔的分割线最好。
推导过程
Support Vector是被选中用于计算的点,也就是距离分界线最近的几个点。
显然d1+d2=“向量(x1-x2)的模”*cosθ。
根据向量内机的算法:向量w*向量(x1-x2)=|w|*|x1-x2|cosθ
因此,d1+d2=向量w*向量(x1-x2)/|w|,又根据上面的两个方程式相加就可以知道d1+d2=2/|w|
又因为向量w向量w的转置矩阵=|w|的平方
所以为了让(d1+d2)最大,也就是让"向量w向量w的转置矩阵"最小,然后再加上一个松弛变量就有了这样的方程:
实际生活中如果考虑全部的点很有可能画不出分割线,松弛变量的意思就是舍弃一些点画出分割线:
最终的向量内积方程的形式是:
扩展SVM到支持多个类别
两种方法:
- OVR (one versus rest): 对于K个类别的情况, 训练K个SVM, 第 j 个SVM用于判读任意条数据是属于类别 j 还是属于类别非 j. 预测的时候, 具有最大值的
最新文章
- 说说focus /focusin /focusout /blur 事件
- Django和Flask对于URL尾斜杠(back slash)的处理
- [转]Linux 的多线程编程的高效开发经验
- Java学习笔记 03 数组
- winform简单打印
- spring boot实战(第十三篇)自动配置原理分析
- 获取最外层View
- 20169210《Linux内核原理与分析》第四周作业
- RabbitMQ-优先级(priority)队列/消息
- Android短信的发送和接收监听
- IT资源专业搜索-www.easysoo.cn
- Nuxt.js笔记
- 文件类型解析漏洞防御与攻击(PHP)
- Linux 学习 (三) 文件搜索命令
- struts2_struts2线程安全吗?
- 04.Python网络爬虫之requests模块(1)
- c#devexpres TreeList 最简单显示动态值的应用
- poj 1611 求0号结点所在集合的元素个数
- Swift 扩展
- learning scala 变量
热门文章