机器学习算法(一)线性回归
本文主要梳理一下线性回归和逻辑斯蒂回归这两大算法。这两个算法的关系是什么呢?答案是并没有什么关系。
这样说其实也不对,逻辑斯蒂回归里有线性回归的重要组成部分。但是二者又一个本质区别,就是线性回归是一个“回归”算法,而逻辑斯蒂回归是一个“分类”算法。这就导致两个算法永远像牛郎织女一样隔着银河。本文主要介绍线性回归,下篇文章会在本文的基础上介绍逻辑斯蒂回归。本文思路主要来自邹博的机器学习课程。本文为作者自己学习整理的笔记,转载请注明出处。
线性回归
1、输入描述:
有训练数据集D,其中共有m条数据,n个特征,如下表所示。
数据id | 数学 | 语文 | 英语 | 物理 |
---|---|---|---|---|
学生1 | 98 | 92 | 96 | 83 |
学生2 | 95 | 79 | 86 | 23 |
… | 34 | 35 | 92 | 92 |
学生m | 67 | 68 | 94 | 72 |
上表是一个数据表的简单示例,其中包含m条数据,每条数据代表了一名学生;4个特征,分别是数学成绩、语文成绩、英语成绩、物理成绩。
以上是一个具体的表格,我们可以抽象表格如下:
数据id | 属性1 | 属性2 | … | 属性n | 预测值 |
---|---|---|---|---|---|
1 | x11 | x12 | … | x1n | y1 |
2 | x21 | x22 | … | x2n | y2 |
… | … | … | … | … | … |
m | xm1 | xm2 | … | xmn | ym |
对于其中的某一条数据,可以认为如下:
属性1 | 属性2 | … | 属性n | 预测值 |
---|---|---|---|---|
x1 | x2 | … | xn | y |
2、问题描述
线性回归就是要解决以下问题:
要建立一如下公式1:
我们的目标就是在已知一些数据后,求出该方程的系数,即 θ0 , θ1 ,…, θn .
3、算法推导
上面公式1可做如下变形(公式2)
对于数据标签的真实值,我们可以设为
y
,而对于数据用公式1和所有
因此有公式3
其中,这个 ε 可以认为是噪声。
根据中心极限定理,我们可以认为这个 ε 服从正态分布,即
因此,有公式4
因为
带入公式4,将 ε 和 x 视为常数,则可将
根据最大似然定理,可得关于 θ 的似然函数为公式5
其中, i 表示第
对于公式5,可以对其取 log 求出其对数似然函数。对其对数似然函数可以进一步化简,最终,我们可得到如下的目标函数(公式6):求出一组 θ 使
此处略去求解过程,该式的解决方式是令 J(θ) 对 θ 求导并令其等于0。最后可求得公式7:
当以公式6为目标函数时,并没有考虑过拟合的问题。若想减少过拟合风险,可以对该目标函数加入正则项,常用的方法有以下两种:
1、L1正则(又称LASSO回归)
其目标函数是公式8:
2、L2正则(又称岭回归)
其目标函数是公式9:
实际上,一般用公式7直接求出 θ 是很难的。一般我们会采用梯度下降的方法来求出一个局部最优的 θ 。
综上,线性回归的目标函数为:公式6、公式8或公式9。即