机器学习 Week7 - Coursera Machine Learning

支持向量机 (Support Vector Machine)

SVM 是非常强大且流行的算法。 在一些情况下, 能面向一些复杂的非线性问题提供更加简洁的解决方案

Large Margin Classification

优化目标 (Optimization Objective)

在logistic regression中

分两种情况:

  1. y = 1 时, 希望h θ (x)预测的值尽可能接近 1,即希望 z=θ T X 尽可能地大
  2. y= 0 时,希望假设 h θ (x)预测的值尽可能接近 0,即希望 z=θ T X 尽可能地小

代价函数中, 把原来的曲线变成2段折线:

  1. 当 y=1 时, 我们希望构建新的代价函数如 cost 1 (z)所示,当 z>=1 时,cost 1 (z)=0
  2. 当 y=0 时,我们希望构建新的代价函数如 cost 0 (z)所示,当 z<=-1 时,cost 0 (z)=0

###SVM的代价函数

注意到,我们给出的支持向量机假设在预测时是以 z 与 0 的大小关系作为依据的,然而在训练函数时,我们是以正负 1 为依据的,这是支持向量机与逻辑回归的一个关键区别,且导致了下面要介绍的支持向量机的特性。

最大间隔分解

支持向量机有的时候也被称为最大间隔分类器(Large Margin Classifier),其原因是:支持向量机可以尝试发现一个与样本数据集之间有着最大间隔的判定边界。

下图是一个可以用直线来区分的分类问题示例,图中绿色和洋红色的两条线代表着两条逻辑回归的判定边界,而黑色的线代表的则是支持向量机的判定边界,从图上看出黑色的线似乎是更合理的,蓝色的两条线代表的是支持向量机的判定边界与样本数据之间的间隔。

判定边界与样本数据之间间隔最大并不总是好事。 C值越大,就会变成粉红色,对outlier敏感,overfittting,反之亦然。