首页 > 代码库 > 【cs229-Lecture7】支持向量机(SVM)
【cs229-Lecture7】支持向量机(SVM)
SVM不错的学习资料:
百度网盘链接: http://pan.baidu.com/s/1hqw0Rnm 密码: asec
blog:http://www.blogjava.net/zhenandaci/category/31868.html
以上的资料,已经对svm解释(包括各个概念)的比较详细了。因此,就不在一一记录每个知识要点,而更多的是理清算法的思路。
对于分类的数据,我们首先把它分为线性可分和线性不可分两类。如下图所示:
总体思路:
线性可分
以二维为例:
低维线性不可分
——>
映射到高维,利用核函数避开直接在高维空间中进行计算
——>
高维线性可分
直观了解核函数:计算两个向量在隐式映射过后的空间中的内积的函数叫做核函数 (Kernel Function)
一维线性不可分:
映射成二维线性可分:
=======>
核函数目的:把原坐标系里线性不可分的数据用Kernel投影到另一个空间,尽量使得数据在新的空间里线性可分。
核函数的特点:
1)核函数的引入避免了“维数灾难”,大大减小了计算量。而输入空间的维数n对核函数矩阵无影响,因此,核函数方法可以有效处理高维输入。
2)无需知道非线性变换函数Φ的形式和参数.
3)核函数的形式和参数的变化会隐式地改变从输入空间到特征空间的映射,进而对特征空间的性质产生影响,最终改变各种核函数方法的性能。
4)核函数方法可以和不同的算法相结合,形成多种不同的基于核函数技术的方法,且这两部分的设计可以单独进行,并可以为不同的应用选择不同的核函数和算法。
概念:松弛变量——用于处理离群点
损失函数——预测错误的程度
【cs229-Lecture7】支持向量机(SVM)