stanford ml note 1(线性回归)


一、监督学习概念
supervised learning 监督学习
input feature  例如 xi = (a,b,c,d) 例如(房屋面积,房间个数,房屋年代)
target  variable 例如yi  例如 yi=房屋价格
training example 例如 (xi,yi)
training set    training example的集合
hypothesis   一个函数 h(x)

supervised learning的目的(什么是supervised learning)
 given a training set, to learn a function h : X → Y,(xi 属于X,yi属于Y) so that h(x) is a“good” predictor for the corresponding value of y.

下图就是一个 监督学习的过程图:

stanford <wbr>ml <wbr>note <wbr>1(线性回归)

监督学习 读入一个 training set(每一个元素是(xi,yi)),通过一个学习算法,得到一个hypothesis(函数) 。这个hypothesis能够对新的 input feature进行预测得到 新的output  variable ---- y。

两类监督学习:
当target value 是一小搓离散的值就,这就叫做分类问题 --- classification
要预测的目标变量是连续的,就叫做回归问题。---regression

二、线性回归 linear regression
线性回归顾名思义 就知道 回归得到的hypothesis是一个线性函数
例如 我们的 training example是 (xi,yi) xi 是二维的,例如房屋的xi=(面积, 房间数目)。yi代表房屋的总价
那么线性回归就是需要得到一个线性拟合函数 h(xi) = θ1x1 + θ2y1+θ3 = A*X 
其中A=(θ1,θ2,θ3),X=(x1,y1,1) ,它们都是向量。
为了定义h(Xi)与yi有多接近我们定义一个cost function:
J(A) = (1/2)*(h(Xi) - yi)**2 (平方)
 这就是我们熟悉的最小二乘法则。

为什么 J(A)最小的时候就是最佳拟合呢?下面是从概率的角度来分析
最小二乘的概率论解释
stanford <wbr>ml <wbr>note <wbr>1(线性回归)

从上面可以看出 J(A)最小与最大似然函数最大 是等价的。

三、最小均方算法
怎么求一个A=(θ1,θ2,θ3)使得 J(A) 最小呢?
下面就是 一个算法 LMS  (least mean square 最小均方算法)
J(A) = (1/2)*(h(Xi) - yi)**2 
            = (1/2)*(θ1*x1 +θ2*y1+θ3 - yi)**2 
J(A)对θ1求偏导,得到偏导数:j1=  (θ1*x1 +θ2*y1+θ3 - yi) *x1
J(A)对 θ 2求偏导,得到偏导数:j2 = (θ1*x1 +θ2*y1+θ3 -  yi) *y1
J(A)对 θ 3求偏导,得到偏导数:j3 = (θ1*x1 +θ2*y1+θ3 - yi)

(j1,j2,j3)就是 J(A)在A=(θ1,θ2,θ3)点的梯度(gradient)。梯度就是最陡的方向,也就是 J(A)变小最快的方向。我们可以想像,在(j1,j2,j3)方向走一小步,得 到一个新的点 A’=(θ1' , θ2' , θ3'), J(A')就会比J(A)小,重复这个过程就可以得到J(A)的最小值。从而得到一个 Ai = ( θ1 i, θ2 i, θ3 i)使得J(Ai)取得局部(全局 )最小值。
这个过程叫做:递归下降
   例如每一个小步的长度是step。每一次迭代的过程就是 
    θ1= θ1 + step *  (θ1*x1 +θ2*y1+θ3 - yi) *x1
    θ2= θ2 + step *  (θ1*x1 +θ2*y1+θ3 - yi) *y1
    θ3= θ3 + step *  (θ1*x1 +θ2*y1+θ3 - yi) 
   这样就得到一个新的点了。J(A)在这个点比上一次迭代跟小

  这是在一个点的情况下:当有n个点的情况下也是相同滴, 只不过是对n个J(A)的和进行求偏导数。
stanford <wbr>ml <wbr>note <wbr>1(线性回归)

LMS 每一次都必须遍历整个training set,非常耗时,一般不采用这种方法,但是要理解它的思想

下面一种方法叫 随机递归下降(stochastic gradient descent)它之遍历一遍training set。例如下面所示:有m个training exapmle的training set.


stanford <wbr>ml <wbr>note <wbr>1(线性回归)

四、局部加权回归 locally weight regression。
    有些training set 的线性相关性,不是很好,如果使用 线性回归的话就可能参数 underfitting (欠拟合)。如果我们使用更为复杂的回归方程,例如引入 x**2 x**3.那么可能造成overfitting(过度拟合)。
    对于这种情况我们就可以使用 LWR,尽管在整个training set 线性相关性不是很好,但是给定一个trainning example,在离这个training example 不远的局部,线性相关性应该还是很好滴。
如下图所示 整个 训练集的线性相关性不好,但是局部的线性相关性还是不错的。
stanford <wbr>ml <wbr>note <wbr>1(线性回归)
在 linear regression中我们要解决的问题是
stanford <wbr>ml <wbr>note <wbr>1(线性回归)
在LWR中我们解决的问题变成了。给定一个 training example。(Xi,yi)
stanford <wbr>ml <wbr>note <wbr>1(线性回归)
其中wi是一个函数,对于给定的 x, 离x越近的training example 权值越大,反之越小。这也就是说忽略那些离x较远的 training example只关注离他较近的example。也就是 上面大图中所要表达的意思。
这个公式中的τ 叫做bandwith。可以控制 wi的下降速度。

stanford <wbr>ml <wbr>note <wbr>1(线性回归)

五、(unweighted)Linear regression 和 locally weighted Regression 的区别
    (unweighted)Linear regression是一种叫做 non-parametric algorithm的算法,非参数算法,它一旦使用LMS算法得到参数 向量  θ = (θ1,θ2,...,θn)后,就不需要保持training set了。
      而LWR需要一直保存training set。因为每来一个新的待regress的x=(x1,y1,z1....)就需要从新使用LWR来计算跟这个x相关的 参数 θ = (θ1,θ2,...,θn)。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值