机器学习 吴恩达 第七周 笔记

机器学习 吴恩达 第七周 笔记

上图为逻辑回归,当机器学习 吴恩达 第七周 笔记,y = 1 由此引入了一种alternative view of logistic regression(不懂怎么翻译)

就是另一种表达方式,也由此引入了SVM。如下图

机器学习 吴恩达 第七周 笔记

原本logstic regression的costFunction 化为两部分然后分别作曲线图,然后根据曲线生成一段段直线,作为SVM的新costFunction。

机器学习 吴恩达 第七周 笔记

就底下这个,这里后面一项的i=1写错了,应该是j=1 。这里我们去掉λ,改用C代替,(C=1/λ),然后m去掉,(左边哪里的min为我们解释了为什么能去掉m而不影响函数)

Large Margin intuition

机器学习 吴恩达 第七周 笔记

如果C很大,我们希望第一项≈0,即 costFunction =  机器学习 吴恩达 第七周 笔记

SVM Decision Boundary

机器学习 吴恩达 第七周 笔记

机器学习 吴恩达 第七周 笔记 如上图,decision boundary有很多种,如何选合适的?这里可以这么想,C大,那么λ自然小,在旧的costfunction中,机器学习 吴恩达 第七周 笔记

正则化的影响自然变小,决策边界受到training set的影响自然会大(这里的costFunction只不过用C代替了原来的λ)

The mathematics behind large margin classification (optional)

这里不多说,上图

机器学习 吴恩达 第七周 笔记

向量的内积可以用这玩意表示 机器学习 吴恩达 第七周 笔记

机器学习 吴恩达 第七周 笔记p是v在u上的投影,所以机器学习 吴恩达 第七周 笔记

机器学习 吴恩达 第七周 笔记

然后这里 机器学习 吴恩达 第七周 笔记再根据第一张图,可以得出机器学习 吴恩达 第七周 笔记用来替换原本的θ转置乘x

机器学习 吴恩达 第七周 笔记 机器学习 吴恩达 第七周 笔记上面一切推倒都是基于large C的情况。然后我们的目标是minθ,根据机器学习 吴恩达 第七周 笔记我们知道,>=1的情况下,p越大,θ越小,同理<=-1下,p越大,θ越小。SVM就根据这个来决定决策边界的方向,位置。

Kernel Function

机器学习 吴恩达 第七周 笔记

我们用f1,f2。。。。来代替多项式里面的项 ,多项式那么多,那么如何找到最合适的多项式呢?这里引入核函数。

机器学习 吴恩达 第七周 笔记先讲原理,假设坐标系里有三个landmark,给定一个x求这个x与这三个L的相似度(就是距离)机器学习 吴恩达 第七周 笔记,这个也叫高斯核函数(RBF Kernel Function)(更清晰的公式在后面。)

机器学习 吴恩达 第七周 笔记

对于 机器学习 吴恩达 第七周 笔记如果x与landmark约近,那么这整个公式约等于1(exp(0)=1),否则约等于0,这里用了一个x得出了f1,f2,f3三个新的feature。

机器学习 吴恩达 第七周 笔记

再来看看σ对高斯核函数的影响 ,σ越大越平缓(下降速度越慢),反之则越快

机器学习 吴恩达 第七周 笔记

一个例子

好了, 知道了怎么选f,那么接下来就是如何选landmark了。

机器学习 吴恩达 第七周 笔记

在这里,我们用training example直接一对一转化为landmark 。 

机器学习 吴恩达 第七周 笔记

每个x与每个landmark对比,如上图中,碰到sim(x,l)==1,就是与自身作对比了(这个是similarity的简写)

机器学习 吴恩达 第七周 笔记

再替代原先的costFunction就等于这货 

下面是C和σ对costfunction的影响

机器学习 吴恩达 第七周 笔记

SVM咋用

机器学习 吴恩达 第七周 笔记

首先咱的目的是用SVM来求得θ。

那么就需要选择C和kernel函数。比方说 机器学习 吴恩达 第七周 笔记linear kernel就是没有用kernel的意思,看上图,对于feature n很大,而样本量m很小的情况下有用。

另一种就是高斯函数,就上面提到的。不过这个需要选择σ。

机器学习 吴恩达 第七周 笔记

这里要考虑一个问题,就是范围的问题,如图,第一个feature是尺寸,e.g 1000 feat ,而第二个是房间数,很明显,代表尺寸一项的影响肯定比房间数的影响要大,那么这里就需要feature scaling来平衡。

介绍其他kernel

机器学习 吴恩达 第七周 笔记

很多SVM包里都已经建好了multi-class function,当然也可以用one to all来算

机器学习 吴恩达 第七周 笔记 

机器学习 吴恩达 第七周 笔记 啥时选用logstic regression, SVM, neural network

 

代码:

dataset3param.m

这里只贴这个

机器学习 吴恩达 第七周 笔记