经常在网上搜索学习资料的童鞋会发现CSDN是个很不错的网站(IT领域),里面有很多大牛共享的技术类博客,本人虽然是初学小白,但还是想共享下自己的学习心得与经验,权当交流。好了,废话不多说让我们进入正题吧!
这里主要讨论下广义回归中的经典算法~局部加权线性回归和岭回归以及如何用Python代码实现算法。内容上虽然不是学术论文,但同样遵循学术的严谨性,因此可能会有部分数理知识。本人也很讨厌成篇的理论推导,不过在这里我们只使用结论部分,并注重如何使用Python一步一步实现算法。提到回归,只要是学过统计学或者概率论的同学估计不会太陌生,“回归”一词最早是由达尔文的表兄弟在19世纪提出的,最初的目的是为了研究人的身高,通过回归分析,他发现了子代的身高会向着平均身高回退,这正是“回归”一词的来源。
最经典最简单的回归是线性回归。回归的目的是根据因变量预测数值型目标变量,最直接的办法是依据输入值写出一个目标计算公式,就像函数映射一样,没错,回归本质上就是函数映射。比如你要预测男友汽车功率的大小,可能会这么计算:HorsePower=0.0015*annualSalary-0.99*hoursListeningToPublicRadio,这里的关键是你如何求出该方程的系数(0.0015,-0.99)。求解该系数要用到统计上所谓的最小二乘法,该方法的思想很简单,就是要找到一条最“恰当”的直线去拟合因变量与自变量之间的散点(二维情况下),这里的恰当指的是能够使得拟合的误差最小,即如下公式取得最小值:
其中
这里y一尖表示多个自变量对应的因变量的估计值,β一尖为权重或者系数的估计值。对于最小值的求解可以采用求导的方法,即对每个参数求偏导并令导数为零,得到所谓的正规方程组,解出所有的参数或者说是系数