线性回归
线性回归目前是一种被广泛应用的回归技术,也是一个最简单的模型,它有很多种推广形式,究其本质就是一系列特征的线性组合。在二维空间,线性回归模型就是一条直线,在三维空间,线性回归模型就是一个平面。
简单点描述。线性回归最简单的例子就是f(x) = ax + b
其中x向量代表一条样本{x1,x2,…,xn},其中x1,x2…代表的就是样本特征,a就是一条向量代表的每个特征所占的权重,b是一个标量,代表特征为0时的预测值`。
import numpy as np
a_t,b = np.array([1,2,3,4,5]),1
x = np.array([[1,1,1,1,1],[1,2,5,3,4],[5,5,5,5,5]]).T
y_hat = np.dot(a,x) + b
损失函数
线性回归模型困难的地方在于如何获得a和b这两个向量,李航老师的统计学习方法把一个学习过程分为:策略,模型和算法三个部分,为了获得a和b我们需要一定的策略,这个策略在机器学习领域中描述为偏差,即我们常说的loss
loss = (f(x) - y)^2
梯度下降
梯度下降是一种优化loss的方法,它一步步让loss往变到最小值的方向走,直到走到那个点。梯度的方向就是变化最快的方向。如果我们想让loss的值减小,只需要沿着负梯度的方向走就行。其实grad的值就是对loss连续求偏导,就可以得到最终得权重向量a