机器学习-线性回归

来源:互联网 发布:易语言端口转发源码 编辑:程序博客网 时间:2024/05/20 21:26

机器学习中的算法分监督学习,非监督学习,半监督学习,强化学习。

监督学习的任务是根据给定训练样本集学习一个模型,使该模型能够对任意给定的输入,对其相应的输出做出一个很好的预测。用图形表示就是

例如,给定房屋价格和面积数据集(此数据集来自斯坦福大学-机器学习课程讲义)

                    

根据给定的数据,我们可以预测其他房子的价格。

 在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。通俗来讲,就是给定几组自变量和因变量,对其进行建模,构建自变量和因变量之间的模型,如果关系是线性的,就成为线性回归;因变量是多元的就是多元线性回归模型。

在机器学习中,线性回归就是指给定几组训练样本(training examples), 学习一个线性模型,

其中, 是参数,为了简化表达方式,设,所以线性模型可以表示为

      

等式右边的x和都是向量,n是输入的特征维数不包括。要得到此线性模型,就是学习和确定参数。学习的策略就是用训练样集使尽可能接近,即,使

  

尽可能小。为了计算的方便,定义损失函数

i为training example

可能大部分人对此式子都比较熟悉,不错,它就是咱们经常见到的最小二乘法。到此步,已经把求线性模型转化为求使最小时对应的的值。

最小化有几种方法,有梯度下降法,牛顿法等。此文只列举梯度下降法和牛顿法两种方法。

1.梯度下降法:

对一个训练集,

                                            

                                                         

首先初始化,更新使算法收敛或者迭代次数达到指定要求。



对于一个训练集(training example i),更新规则:

1.1 批梯度下降法:

Repeat until convergence {

     (for every j)

}


1.2 随机梯度下降法:

Loop{

for i=1 to m{

 (for every j)

}

}

两种梯度下降法的优缺点:批梯度下降法每执行一步,都要遍历整个训练集,而且每执行一次,只优化一次,而随机梯度下降法每Loop一次,都要优化  m(训练样本个数)次。所以相对于大循环来说,随机梯度下降法比批梯度下降法能更快的达到收敛。当训练样本很大时,随机梯度下降法的性能往往优于批梯度下降法。

2.牛顿法

首先,让我们先考虑牛顿法找使函数等于0的点,即求得使

         


其中,斜率

代入可求得


因为此处使求得的最小值,即求得它的倒数为零的点。所以


线性回归模型的附带代码仿真模型稍些时间会补加上

0 0
原创粉丝点击