不必时时怀念我,也不要指望我回来,我离开以后,你们就是我,
Vive le peuple!
个人感觉吴恩达讲的SVM好像过于简单了,我看网上的那些都搞得挺复杂的,推荐自己有时间去看看其他的教程
SVM的定义
这是教程给的SVM的损失函数定义,和之前的都差不多,区别就是里面的函数被替换了
并且SVM只会输出结果,并不会输出结果的概率
大间隔分类器
机制
对于一般的分类器,对下图的内容进行分类,很有可能会选择绿线和粉线
而SVM会选择黑线,黑线离两个群体的距离大致相等,这是SVM的大间隔分类器机制
数学原理
吴只讲了低维的,高度应该类似,但是他没讲
首先来搞几个概念:
范数
划红线的就是求一个向量范数的方法,类似于求长度
向量之间的投影
v在u上的投影:
优化函数
如果你还有印象的话,这玩意就是SVM的优化函数
对于两个特征来说
红色的那玩意就是范数
由上面的数学原理我们可以知道theta^t * x(i)的具体意义
就相当于x(i)在theta上面的投影
同时theta^t * x(i)就可以换一种方法来表述
即 p(i) * || theta ||
关于p(i) * || theta ||的意义
绿色的线即为SVM所作出的分界线
由上图得到如果结果为正,则前面的部分大于一,反之则小于一
但因为要求p(i)*||theta||大于等于1,如果p(i)过小的话,||theta||会过大
而我们的优化函数的目的是需要让下图部分变得够小
所以SVM会选择下图的分界线
这样就实现了大间隔分类
核函数
像这种图像,用线性回归分析的话不合适
而核函数就是用来解决这一问题的
理解这玩意
我们在平面上定三个点
同时推出一个新概念:相似度(公式见下图)
如果一个点很接近标记点,那么它的结果为1,反之为0
不同情况下的相似度图像
简单例子:
由这个公式可得,对于这个粉色的点,它的y值为1
对于蓝色的点,它的y值小于1,也就是不接近
当一个点接近两个标记点时,它的值就会为1,它的图像也会变成下面这个样子
是不是很熟悉?我们就可以靠这个玩意来分类了
我们将代价函数改成这个样子(将f改造成为一个向量)
要注意的细节
图中的C和之前的λ很类似,大C高偏差,小C高方差
对于相似度函数(高斯核函数)来说
这个啥(我不知道叫啥)越大,曲线越平滑,欠拟合
反之则过拟合
吴表示这些玩意最好调别人的库,因为自己写这吊玩意确实很麻烦
他只详细讲了高斯核函数这一个玩意,还有其他种类的核函数,
我的看法是:调包,调包QWQ