前言:线性回归问题以及如何进行参数计算,演示Python进行回归分析。
回归
什么是回归?
回归和分类的区别和联系
线性模型
线性模型中的x可以表示矩阵,theta代表是参数,T是转置。广义线性模型,如逻辑回归将线性回归带入联结函数,将数值进行进行规范,取值范围落在[0,1]。
非线性模型
线性回归模型及其求解
线性回归
选用误差平方和作为损失函数的概率解释
最大似然估计是使得对某一参数(误差项)的估计的概率取得最大值。对于Lθ取对数得lθ,为取得最大似然估计值,等式右边的第二项最小。
求解参数
参数的矩阵解法(最小二乘法)
Q损失函数:误差平方和;当误差平方和最小,那么函数的极值点在偏导数为0的点,为求得参数β0和β1,分别将其看做为一个变量,求导得出线性方程,联立解出β0和β1; 对于非线性的模型,β0和β1的等式右边还会包含其他的参数,无法直接解出,运用到迭代的思想逼近目标,可采用梯度下降法。
参数的梯度下降求解法
梯度下降就像是在一个山坡上往下走,走到谷底。对于模型,需要设定一个步长,方向是使得Cost(θ)变小的方向。θj表示第j个参数,θj'为一下梯度时的参数值,L为学习速率也就是步长,设置过大则越过波谷,设置过小学习的速率很慢,运行时间长。
计算偏导数时的倒数第二行的偏导数中,当k等于j时,偏导数求导得xj(i);θ是包含所有参数的一维向量,而θj是第j个参数。
Sklaern的一元线性回归
多元线性回归
线性回归的效果的评估:判别系数 R方
多项式回归
多项式回归 Polynomial Regression
二次回归(Quadratic Regression)
更高次的多项式回归
代码演示-二次回归与线性回归的比较
公众号回复:“二次回归” 获取代码