机器学习(线性回归)

在机器学习中,回归、分类和标注共同构成了监督学习技术。监督学习(supervised learning)是机器学习在工业界应用最广的一个领域分支。在学术界中也是研究最多的领域之一。大家都知道的数据挖掘十大经典算法中,监督学习技术占据6席。

方法 自变量(特征) 因变量(结果) 关系
线性回归 连续或离散 连续实数 线性
Logistic回归 连续或离散 (0,1)之间连续值 非线性

线性回归(Linear Regression)基本形式一般用向量形式表示: f ( x ) = w T x + b ,其中 w = ( w 1 ; w 2 ; . . . ; w d ) , w 和b学得之后,模型就得以确定。线性模型形式简单,易于建模,但却蕴涵着机器学习中一些重要的基本思想。许多功能更为强大的非线性模型也可以在线性模型的基础上通过引入层级结构或高纬度映射而得。此外,由于 w 直观表达李各属性在预测中的重要性,因此线性模型有很好的可解释性。例如若在西瓜问题中学得“ f ( x ) = 0.2 x + 0.5 x + 0.3 x + 1 ”,则意味着可以通过综合考虑色泽丶根蒂和敲声来判断瓜好不好,其中根蒂最重要,而敲声比色泽更重要。

回归算法是试图采用对误差的衡量来探索变量之间的关系的一类算法。回归算法是统计机器学习的利器。在机器学习领域,人们说起回归,有时候是指一类问题,有时候是指一类算法,这一点常常会使初学者有所困惑。常见的回归算法包括:最小二乘法(Ordinary Least Square),逻辑回归(Logistic Regression),逐步式回归(Stepwise Regression),多元自适应回归样条(Multivariate Adaptive Regression Splines)以及本地散点平滑估计(Locally Estimated Scatterplot Smoothing)。

前面其实都是随心写的一些东西,下面正式进入我们的主题关于线性回归
如果只有一个 x , y ,那么我们可以这样表示(x,y)之间的关系:

y = w x + b

但是我们知道在机器学习中我们的数据集有很多数据,当推广到一个数据集有n个自变量,可以说是n个属性,这时候的线性模型可以表示为:
y ( x , w ) = w 0 x 0 + w 1 x 1 + w 2 x 2 + . . . + w n x n

x 0 = 1 y ( x , w ) = h w ( x )
h w ( x ) = i = 0 n w i x i = w T x o j e c t i o n f u n c t i o n

如何估计得 w 使得线性模型效果最佳?即 h w ( x ) 与真实值 y 之差越小越好?
这时候我们就需要引入一个函数用来衡量 h w ( x ) 与真实值 y 好坏的程度,这就是我们所称的损失函数(loss function),公式表示为:
J ( w ) = 1 2 m i = 1 m ( h w x ( i ) y ( i ) ) 2 l o s s f u n c t i o n

我们需要 m i n J ( w ) ,如何调整 w 使 J ( w ) 取最小值?经典的方法有最小二乘法和梯度下降法。
最小二乘法:
w ^ = ( X T X ) 1 X T y

梯度下降法:
J ( w ) = 1 2 m i = 1 m ( h w x ( i ) y ( i ) ) 2

梯度下降法求解过程:
1)首先对 w 赋值,这个值可以是随机的,
2)改变 w 的值,使得 J ( w ) 按梯度下降的方向进行减少。
梯度方向由 J ( w ) w 的偏导数确定,由于求的是极小值,所以梯度方向是偏导数的反方向,迭代更新:
w j := w j ( h w x ( i ) y ( i ) ) x j ( i )

猜你喜欢

转载自blog.csdn.net/mrjiale/article/details/81053065