机器学习—回归与梯度下降(数学基础)
- 本文整理机器学习算法中的线性回归和逻辑回归算法的笔记,其中利用随即梯度下降更新参数。只整理其中的数学原理,不涉及代码实现。
目录
- 线性回归
- 随即梯度下降
- 逻辑回归
线性回归
- 输入数据:x(X);输出数据:y(Y);
- 拟合的函数:可写做 y = h(x);
- 对于每一条数据,用x1,x2,x3…xn来表示其各个特征分量,则可以做出一个估计函数:
,其中可设x0=1,则有θ0 * x0 = θ0 ,θ0可以充当线性方程中的常数项;
- 将上式用向量的方式来表示:
;
- 接下来需要有一个机制去评估函数y = h(x)的好坏,同时也是评估参数θ。因此做出一个J(θ)函数,称为损失函数或者错误函数,用它来描述h函数的误差程度:
,这个错误估计函数是以对x(i)的估计值(即h(x))与真实值y(i)的差的平方之和作为错误估计,前面乘上的1/2是为了在求导(确定梯度时需要求导)的时候,这个系数就不见了。
随即梯度下降
使用随即梯度下降算法调整θ以使得J(θ)取得最小值。
- 首先对θ赋值,这个值无特定要求,一般让θ是一个全为1或0的向量。然后在计算过程中改变θ的值,使得J(θ)按梯度下降的方向进行减少。θ0,θ1,θ2…θn表示θ向量的各个维度(不同点处J(θ)下降的梯度方向不同);
- 梯度下降法的第一步是给定的θ的初值,然后将θ按照梯度下降的方向进行调整,就会使得J(θ)往更低的方向进行变化,每一步的进行都基于上一步的基础,因此可能梯度下降的最终点并非是全局最小点,而是一个局部最小点;
- 通过求导获得梯度:损失函数J(θ)关于θ的偏导数决定了下降的方向,对函数J(θ)中的θ求偏导:
- 依据所得的梯度公式来写出参数θ i的更新公式:
θi表示更新之前的值,“-”后面的部分表示按梯度方向减少的量,α表示步长(学习度),而(hθ(x) - y)其实就是每一次计算得到的errors。
逻辑回归
- 与线性回归的区别:引进Sigmoid函数:
其图像为:
将z代入后可以得到趋近于0或1的值。 - 函数
也就是Z=θ^T * X(等价于上面线性回归中的h(x))需要经过Sigmoid转化才能得到预测值。 - 转化后此时的预测值h(x)为:
- 此步骤之后便是相同的随即梯度下降计算方式。