Coursera机器学习笔记2

2018-01-07  本文已影响0人  los_pollos

Week 3

3.1 logistic回归模型

分类问题

为什么分类不用回归来做?


image1.png

超过0和1的部分没法解释;受个别数据的影响较大。

logistic函数
image2.png
决定边界

对于logistic回归:
y取到1或0


image3.png

决定边界即为=0.5的值

Cost function

为了求theta的值我们定义cost function,当函数取得最小值我们就得到了最优的参数值。logistic回归的cost function不能跟线性回归的一样定义,因为这样定义的cost function不是convex的,很容易取到local optima。
定义的cost function如下:


image4.png
简化的cost function

可以把前面的cost function化简到一个式子里:


image5.png

它的向量化表示为:


image6.png
梯度下降应用

梯度下降算法:


image7.png

问题:这里的微分怎么求???


image8.png
参数更新的向量表示: image9.png
进阶优化算法

为了优化theta,除了梯度下降算法以外,还有其他的算法是"Conjugate gradient", "BFGS", 和 "L-BFGS" 。它们通常更复杂,也更快。

编写代码的思路是,先完成下面这个函数


image10.png

再利用自带的 "fminunc()" optimization algorithm 和 "optimset()" function求解


image11.png

3.2 多分类

多分类问题

当分类问题中类别超过两个时,分类问题可以这样描述:


image12.png

我们需要分成三类时,就做三次logistic分类:


image13.png
hθ(x)对于每个i是:当输入为x,取到的y为第i类的概率
x的类别为取到最大概率的y

3.3 解决过拟合问题

过拟合

下面三个图分别代表了underfiting,just right,overfitting:


image14.png

通常解决方法有下面两种:


image15.png
cost function
image16.png

我们希望取到左图的theta而不是右图,想法是把后两个参数的系数变得很大
最后的cost function形式如下:


image17.png
正则化线性回归

正则方法既可以用于线性回归,也可以用于logistic回归。
正则化后的线性回归cost function变成了:


image18.png

再用梯度下降算法求它的最小值:


image19.png
而用normal equation来求值,我们得到:
image20.png
正则化logistic回归

同线性回归一样,对logistic回归进行正则化以后梯度下降算法变成了:


image21.png

在matlab中,我们用进阶的优化算法来代替梯度下降算法:


image22.png
上一篇下一篇

猜你喜欢

热点阅读