机器学习笔记系列
可以从上至下按顺序看喔
- 回归笔记:机器学习-回归算法笔记
- 分类笔记:机器学习-分类算法笔记
- 神经网络笔记:机器学习-神经网络算法笔记
- 朴素贝叶斯笔记:机器学习-朴素贝叶斯分类算法笔记
有监督学习
含义
-
给算法一个数据集,其中包含了正确的答案,告诉算法啥是对的啥是错的
-
我们想要在监督学习中,对于数据集中的每个样本,我们想要算法预测,并得出正确答案
回归
- 目的是预测一个连续值输出
- 如一件衣服卖多少钱,可以是100,可以是200或300等等
单元线性回归
含义
-
给定的数据集为一一对应的数据集,一个x对应一个y,例:一元一次方程
-
一个算法h(x)给定一个输入值x,能给出一个确定的输出值y,称之为单函数(元)线性回归。
代价函数
- 代价函数被称为平方误差函数
- 将预测值与真实值之间的误差取到最小的函数,且用另一个函数来封装他,这个里面的另一个函数就是代价函数
- 过程如下:
- 假设函数: h θ ( x ) = θ 0 + θ 1 x h_\theta(x)=\theta_0+\theta_1x hθ(x)=θ0+θ1x
- 参数: θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1
- 代价参数: J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_0,\theta_1)=\frac{1}{2m}\sum\limits_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2 J(θ0,θ1)=2m1i=1∑m(hθ(x(i))−y(i))2
- 目标: m i n i m i z e θ 0 , θ 1 J ( θ 0 , θ 1 ) \mathop{minimize}\limits_{\theta_0,\theta_1}\ J(\theta_0,\theta_1) θ0,θ1minimize J(θ0,θ1)
- 如上步骤所示,先创建一个假设函数来构成一个线性函数,目的是通过调整参数来尽可能的减少假设函数所求的值和真实数据之间的差距,从而构成的一个代价函数
- 此处的函数 J J J就是代价函数
- 代价函数的作用就是其最小值点的参数就是假设函数与数据集所拟合的最好的一条线
梯度下降法
- 公式: θ j : = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) \theta_j:=\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta_0,\theta_1) θj:=θj−α∂θj∂J(θ0,θ1),此处j等于0和1(其中的阿尔法为学习速率,阿尔法越大,步子迈的就越大,反之亦然)
- 同步更新 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1的值
- 更新步骤如下:
- t e m p 0 : = θ 0 − α ∂ ∂ θ 0 J ( θ 0 , θ 1 ) temp0:=\theta_0-\alpha\frac{\partial}{\partial\theta_0}J(\theta_0,\theta_1) temp0:=θ0−α∂θ0∂J(θ0,θ1)
- t e m p 1 : = θ 1 − α ∂ ∂ θ 1 J ( θ 0 , θ 1 ) temp1:=\theta_1-\alpha\frac{\partial}{\partial\theta_1}J(\theta_0,\theta_1) temp1:=θ1−α∂θ1∂J(θ0,θ1)
- θ 0 : = t e m p 0 \theta_0:=temp0 θ0:=temp0
- θ 1 : = t e m p 1 \theta_1:=temp1 θ1:=temp1
将梯度下降法与代数函数结合在一起
- 先要知道导数项的值,如上述公式所示,利用求偏导求出 ∂ ∂ θ 0 J ( θ 0 , θ 1 ) \frac{\partial}{\partial\theta_0}J(\theta_0,\theta_1) ∂θ0∂J(θ0,θ1) 和 ∂ ∂ θ 1 J ( θ 0 , θ 1 ) \frac{\partial}{\partial\theta_1}J(\theta_0,\theta_1)