简单易懂的线性回归基础和从极大似然估计推导最小二乘法
首先假设有这样一组数据
X1 | X2 | … | Y |
---|---|---|---|
a1 | b1 | … | c1 |
a2 | b2 | … | c2 |
… | … | … | … |
目标是找到一条合适的线来拟合数据点,可以根据给的X预测Y值
设置权重参数
假设每个X都有一个对应的θ为它的权重参数,可得:
为设置的偏置项,可以对这一项乘以一列X0,其中X0全部为1即可将式子化为:
接着误差用表示,误差一定存在,且经验可知误差是独立且一般为(0,)的高斯分布,如图:
下面用小标r表示真实值,即表示真实的误差值
- 由于误差服从高斯分布所以可得::
- 1带入2式子可得:
手写比较方便,下面上图
这里引入似然函数,
似然函数简单来讲,就是根据样本来估计权重参数的值,即假假设权重参数使之与数据组合之后能接近真实值),因为每一次产生误差都是相互独立的事件,所以应该概率相乘
对数似然
之所以取log运算由于累乘不好算,对似然函数取对数,将累乘化成累加,再化简可得:
误差一定产生了,既然产生,我们就根据极大似然估计断定一定发生在概率最大的地方。换句话说Log(L(θ))越大,预测值接近真实值的可能性就越大,为了尽可能接近真实值,所以Log(L(θ))要尽可能大, 而前一项可知是恒正的,因此需要后一项尽可能小,再去掉σ这个常数项之后最终可得:
是不是很眼熟,这里就是最小二乘法。
要注意的是,这里的X,θ,Y都是矩阵,A矩阵的平方=A的转置×A,可得
再使偏导等于0
为什么偏导等于0就能取到极小值点?因为机器学习中的凸优化,默认函数为凸函数(这个以后再说)。
现在就得到了一个可求的权重参数,但是这个θ一般是无法直接进行求解的,需要进行优化(例如梯度下降等),通常不直接求解。
评估方法
最常用评估项
分子表示预测值减去真实值,可以推出分子越小越好,即R²越接近1模型拟合的越好
学习笔记