线性回归笔记
这是笔者第一次学博客,有什么不好的欢迎指出来哈!
线性回归:假设x1和x2是我门的两个特征(变量),找到最合适的一条线来最好的拟合我们的数据点:
假设是x1的参数,是x2的参数,则有一个拟合平面:(x)=+x1+x2(是偏置项)
整合:(x)==(表示一个矩阵,X也表示一个矩阵)
注:当i=0时有,这个是要我们自己填充的,让等于1那样就跟假设的式子一样了
线性回归的核心问题:
- 误差:
(1) 真实值和预测值之间肯定是要存在差异的(用来表示误差)
(2) 对于每个样本则有:
(3) 重要概念:误差是独立并且具有相同的分布,并且服从均值为0方差为的高斯分布。
解释:
独立:张三和李四一起来贷款,他们两个没有关系
同分布:他两都来得是我们假定的这家银行
高斯分布:银行可能会多给,也可能会少给,但是绝大多数情况下这个浮动不会太大,极小情况下浮动会比较大,符合正常情况。
推导:
(1) 预测值与误差:
(2) 由于误差服从高斯分布:
(3) 将(1)式带入(2)式:
求最合适的参数:
似然函数(值应该越大越好):L()=
解释:什么样的参数跟我们的数据组合后恰好是真实值(求最合适的参数)
由于似然函数是连乘,不论是人算还是计算机算耗时都很长,而加法则容易许多,所以为了提高效率,就引进了对数似然:
对数似然:logL()=
解释:乘法难解,加法就容易了,对数里面乘法可以转换成加法
进行简化:转换成对数之后则有:
=(mlog
注:这里log的底数没有标明,所以我也有点不理解,不过后面的logexp都省略了,所以我觉得应该底数是exp,如果有不同意见欢迎提出来帮我解决这个疑惑,谢谢。
到了这里我们可以看出(mlog是个常数,所以要让然似然函数越大越好越改越小越好。
目标:让似然函数(对数变换后也一样)越大越好
J()=(最小二乘法)
接下来就是目标函数的求解过程了:
目标函数:J()==
矩阵的平方等于矩阵的转置乘以自身。
求偏导过程省略最终为:
令偏导函数为零化简得:
这样我们就可以求出啦。
评估方法:
最常用的评估项
R方的取值越接近1我们认为模型拟合的越好。
这是在学习python数据分析学习线性回归的一点笔记,有错误还希望指出,谢谢哈