Coursera机器学习笔记2

Week 3

3.1 logistic回归模型

分类问题

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


Coursera机器学习笔记2_第1张图片
image1.png

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

logistic函数
Coursera机器学习笔记2_第2张图片
image2.png
决定边界

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


Coursera机器学习笔记2_第3张图片
image3.png

决定边界即为=0.5的值

Cost function

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


Coursera机器学习笔记2_第4张图片
image4.png
简化的cost function

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


image5.png

它的向量化表示为:


Coursera机器学习笔记2_第5张图片
image6.png
梯度下降应用

梯度下降算法:


Coursera机器学习笔记2_第6张图片
image7.png

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


Coursera机器学习笔记2_第7张图片
image8.png

参数更新的向量表示:
Coursera机器学习笔记2_第8张图片
image9.png
进阶优化算法

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

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


image10.png

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


image11.png

3.2 多分类

多分类问题

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


Coursera机器学习笔记2_第9张图片
image12.png

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


Coursera机器学习笔记2_第10张图片
image13.png

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

3.3 解决过拟合问题

过拟合

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


Coursera机器学习笔记2_第11张图片
image14.png

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


Coursera机器学习笔记2_第12张图片
image15.png
cost function
Coursera机器学习笔记2_第13张图片
image16.png

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


Coursera机器学习笔记2_第14张图片
image17.png
正则化线性回归

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


Coursera机器学习笔记2_第15张图片
image18.png

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


Coursera机器学习笔记2_第16张图片
image19.png

而用normal equation来求值,我们得到:
Coursera机器学习笔记2_第17张图片
image20.png
正则化logistic回归

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


Coursera机器学习笔记2_第18张图片
image21.png

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


Coursera机器学习笔记2_第19张图片
image22.png

你可能感兴趣的:(Coursera机器学习笔记2)