吴恩达线性回归、逻辑回归、梯度下降笔记
线性回归
有
代价函数
代价函数
目标是要找到合适的参数,去最小化代价函数
假设

假设有3个样本
那么回到最初的两个参数

梯度下降
基础说明
上文已经定义了代价函数梯度下降算法
去最小化
- 设置初始值
- 不停改变
去减少
当然选择不同的初始值,可能会得到不同的结果,得到局部最优解。

对于所有的参数
上面公式中学习率
(learning rate),是指一次迈多大的步子,一次更新的幅度大小。
例如上面的两个参数,对于一次同步更新(梯度下降)
也有异步更新(一般指别的算法)
偏导和学习率
这里先看一个参数的例子,即

当学习率

当已经处于局部最优的时候,导数为0,并不会改变参数的值,如下图

当逐渐靠近局部最优的时候,梯度下降会自动采取小步子到达局部最优点。是因为越接近,导数会越来越小。

在线性回归上使用梯度下降
代价函数
分别对
那么使用梯度下降对
当前代价函数实际上是一个凸函数,如下图所示。它只有全局最优,没有局部最优。

通过不断地改变参数减小代价函数

梯度下降技巧
特征缩放
不同的特征的单位的数值变化范围不一样,比如
所以特征缩放
是把所有的特征缩放到相同的规模上。得到的

特征缩放的数据规模不能太小或者太大,如下面可以的规模是
有一些常见的缩放方法
, ,其中 是均值, 是标准差
学习率的选择
当梯度下降正确运行的时候,每一次迭代

当图像呈现如下的形状,就需要使用更小的学习率。理论上讲,只要使用足够小的学习率,

学习率总结
- 学习率太小,慢收敛
- 学习率太大,
可能不会每次迭代都减小,甚至不会收敛 - 这样去选择学习率调试:
多变量线性回归
数据有
代价函数
梯度下降,更新每个参数
多项式回归
有时候,线性回归并不能很好地拟合数据,所以我们需要曲线来适应我们的数据。比如一个二次方模型

当然可以用
正规方程
对于一些线性回归问题,使用正规方程方法求解参数
正规方程的思想是函数
那么设
正规方程和梯度下降的比较
梯度下降 | 正规方程 |
---|---|
需要特征缩放 | 不需要特征缩放 |
需要选择学习率 | 不虚选择学习率 |
需要多次迭代计算 | 一次运算出结果 |
特征数量 | |
适用于各种模型 | 只适用于线性模型,不适合逻辑回归和其他模型 |
逻辑回归
线性回归有2个不好的问题:直线难以拟合很多数据;数据标签一般是

基本模型
逻辑回归
是一种分类算法,使得输出预测值永远在0和1之间,是使用最广泛的分类算法。模型如下
Sigmoid函数
或者Logistic函数
,是S形函数。

将上面的公式整理后得到逻辑回归的模型
模型的意义是给出分类为1的概率,即
逻辑回归
就是要学到合适的
决策边界
线性边界
假设我们有一个模型

由上可知,分类结果如下
那么直线决策边界
,将预测为1的区域和预测为0的区域分隔开来。gg
非线性边界
先看下面的数据

使用这样的模型去拟合数据
对于更复杂的情况,可以用更复杂的模型去拟合,如
代价函数和梯度下降
我们知道线性回归中的代价函数是非凸函数
,容易达到局部收敛,如下图左边所示。而右边,则是一个凸函数,有全局最小值。

代价函数
逻辑回归的代价函数
当实际上

整理代价函数如下
得到所有的
梯度下降
逻辑回归的假设函数估计
代价函数
对每个参数
逻辑回归虽然梯度下降的式子和线性回归看起来一样,但是实际上