[ML]机器学习之线性回归

来源:互联网 发布:adobe xd windows 编辑:程序博客网 时间:2024/05/18 11:26

机器学习算法主要有2类:监督学习、无监督学习。前者是指训练样本是有标记的,需要学习的是模型与参数,使得预测值尽可能地接近真实值,典型代表为回归、分类,其中回归是指标记为连续数值(如考试分数),而分类则是指标记为离散值或类别标号(比如天气是多云还是小雨);后者是指训练样本是无标记的,需要学习出这些样本本身的联系或者逻辑关系、结构关系,典型代表为聚类。

如上所述,线性回归自然属于监督学习。线性回归就是给定输入样本:

(x 1 ,y 1 ),(x 2 ,y 2 ),(x 3 ,y 3 ),...,(x m ,y m ) 
训练出参数 θ,使得预测值 y ^  i =x i θ  尽可能地接近 y i (i=1,2,3,...,m) 。假设:
X=[x 1 ,x 2 ,x 3 ,...,x m ] T ,Y=[y 1 ,y 2 ,y 3 ,...,y m ] T  
则参数θ  应使得 Xθ=Y  尽可能地成立。线性回归的形式为:
x i 0 θ 0 +x i 1 θ 1 +x i 2 θ 2 +...+x i k θ k =y i (i=1,2,3,...,m) 

而我们要训练的就是参数 θ=[θ 0 ,θ 1 ,θ 2 ,,θ k ] 

对于线性回归的参数最优化,一般采用均方误差最小化((Least Mean Square,LMS)的思想,即:

E=12m  i=1 m (y ^  i y i ) 2  

LMS的物理意义很好理解:试图找到一条由 θ=[θ 0 ,θ 1 ,θ 2 ,,θ k ] 确定的直线,使得所有样本到此直线的欧氏距离最小,如下图所示。
这里写图片描述
那么代价函数就可以写成:
J(θ)=12m  i=1 m (y ^  i y i ) 2 =12m  i=1 m (x i θy i ) 2  

优化目标为:
min θ J(θ) 

在求解优化函数时,可以用最小二乘参数估计。线性回归的代价函数是凸函数,可采用梯度下降法(会在以后说明),也可以用求导的方法,对 θ 求导,并使得
J(θ)θ 0  =1m  i=1 m (x i θy i )x i 0 =0 

J(θ)θ 1  =1m  i=1 m (x i θy i )x i 1 =0 

J(θ)θ 2  =1m  i=1 m (x i θy i )x i 2 =0 

 

J(θ)θ n  =1m  i=1 m (x i θy i )x i n =0 

综合上式可得到:
X T (XθY)=0 

经过一些矩阵运算,当X T X  为满秩矩阵时,可得到 θ 最优解的闭式解:
θ ^ =(X T X) 1 X T Y 

而当 X T X  不是满秩矩阵时,则需要对特征进行选择或者进行正则化。

其实在实际应用中,我从没用过线性回归,这是一个很简单的模型。
1)线性回归形式简单,只是属性的线性组合,而训练出的只是各个属性的权重值。
2)线性回归可解释性强,属性前的权重代表了此属性的重要程度,或对结果的影响程度。
但是简单并不意味着不重要。相反地,线性回归在机器学习算法中具备基础地位。
1)线性回归是以后学习其他复杂机器学习算法以及非线性模型的基础。
2)通过对线性回归引入层级结构、联系函数或进行高维映射,可以得到广义线性模型等。

1 0
原创粉丝点击