监督学习 - 线性回归

本文介绍linear regression的相关知识,作为监督学习中的一个重要的方法和手段,其重要性不言而喻。其实线性回归的应用十分简单,就是在一组数样本(x,y)中发现一定规律,用来对新的xi预测新的yi。

就比如下图有这样一组数据:



然后我们根据已知的这些数据,通过线性回归进行学习,得到这样的一条直线就可以根据新的房屋面积预测价格了。当然实际要复杂很多,也可能不是一条直线,甚至不在二维空间,这里只是简单介绍。下面进行详细说明。



1.我们做出如下假设:

m:训练样本数量

x:输入变量(feature)

y:输出变量(target)

(x,y)一个样本

(x(i), y(i)) 第i个样本


2.算法的执行结构图



h是hypothesis函数,是学习算法得出的函数,可以根据x得出y(目标值)。


3.计算

这里需要说明,x是特征值,可能不止一个。比如影响房子价格的因素可能不止面积,还有装修,卧室数量等。

我们这里假设有两个特征即x1和x2。

    (1)

h(x)代表hypothesis函数,有两个特征值(x1,x2)我们这里假设了x0=1。

一般的假设有n个特征值(x1,...,xn),则上式可以写成:

      (2)

这里说明一下,θ是学习算法的参数,需要利用训练集和学习得到合适的值,下面介绍如何得到θ


4.学习算法参数

(3)


我们只需要让θ满足使得J最小即可,这样就代表我们的学习算法得出的目标值和样本的y之间的误差最小,算法也就最合理。前面的1/2是一个参数,暂时不必理会他。即minimize θ  J(θ):不断的找出使得J(θ)最小的θ。

那么如何才能找到这个θ呢?有很多种方法:比如批梯度下降法(Gradient Descent)、增量梯度下降法(Stochastic Gradient Descent)、公式法(Normal Equations)。


声明:本文是在学习完Andrew Ng教授的MachineLearning课程后,写的一些笔记由于时间原因可能会有些错误,如果想详细了解请去coursera学习这门课程。

linear regression

猜你喜欢

转载自blog.csdn.net/h9f3d3/article/details/78867176