机器学习之&&Andrew Ng课程复习--- 学习笔记(一、二课)

                                              回归分析之我见

1.概述

    本文主要是介绍回归方面的知识,属于监督性学习。方法的核心思想:从离散的统计数据中得到模型,然后将模型用于预测或者分类(数据可以是多维)。

2.问题的引入

   假设我们收集到了一组房屋销售数据如下:


根据上表,我们可以构建一个二维视图:X轴是房屋面积,Y轴是房屋售价,如下:



问题:如果有个人想买一个在已知数据中没有的房子?我们怎么得到房子的售价呢?

我们可以用一条曲线去尽量准的拟合已知数据,然后对于新的输入,我们可以在曲线上将中找到对应的值返回。如果用一条直线去拟合,可能如下图:


(绿色点就是我们要预测的点)

首先给出一些概念和常用的符号:

训练集:X,我们需要输入的数据,也是已知的数据,如上表中数据。

输出数据:Y,回归或者分类等结果。

拟合函数(假设H或者模型):一般写做y=h(x)。

训练数据的条目数:一条训练数据是由一对输入数据和输出数据组成的输入。

数据维度:n (数据的特征数目,Features)

注:回归模型能够解决特征多维的数据。


3学习过程

如下图:


4线性回归

    线性回归假设特征和结果满足线性关系,线性关系的表达能力非常强大,每个特征对结果的影响强弱可以由其前面

的参数体现,而且每个特征变量可以先映射到一个函数,然后再参与线性计算。这样就可以表达特征与结果之间的非线性关系。

Example:

我们用x1,x2,x3.....xn描述feature里面的分量,比如x1 = 房屋面积,x2 = 卧室个数等等,我们可以做出一个估计函数:



θ用来调整feature中每个分量的影响力。我们不妨另x0 = 1,我们就可以用向量乘积的形式表示上式了:




接下来我们需要对θ进行评价,因此我们需要对h函数进行评估,这个函数称为Loss Function or error Function,描述h函数好不好的程度,我们称之为J函数,我们可以写一个如下的LF:



J(θ):用对x(i)的估计值与真实值y(i)差的平方和作为LF,1/2是为了后面求导计算方便。

如何调整θ以使得J(θ)取得最小值?最小二乘(min square)和梯度下降。

5梯度下降

在选定线性回归模型后,只需要确定参数θ,就可以将模型用来预测。然而θ需要在J(θ)最小情况下才能确定。因此问题归结为求极小值问题,使用梯度下降法。梯度下降法最大的问题是求得有可能是局部极小值或全局极小值,这与初始点的选取有关。

梯度下降法是如下流程:

1)首先对θ赋值,这个值可以是随机的,也可以让θ是一个全零的向量。

2)改变θ的值,使得j(θ)按梯度下降的方向进行减少。

3)当快达到局部最小值的时候,梯度会越来越小,最后趋近于0。

4)当J(θ)不在改变的时候,我们就可以说算法收敛了,迭代结束。

梯度方向由j(θ)对θ的偏导数确定,由于求的是极小值,因此梯度方向是偏导数的方向。

结果为:


迭代跟新的方式:

1批梯度下降:也就是对全部的训练数据求得误差后再对θ进行更新

缺点:每次需要扫描全部数据集进行求和,当训练集特别大,比如m = 200000效率很低。

2增量(随机)梯度下降:每扫描一步都要对θ进行更新。(更适合训练集特别大的时候)


前一种方法能够不断收敛,后一种方法结果可能不断在收敛处徘徊,但结果都是学习到每个feature的参数

一般来说,梯度下降法收敛速度还是比较慢的。

6Normal Equations (正规方程组)
前面说了如何用梯度下降来解线性回归问题 
其实对于线性回归,也可以不用这种迭代最优的方式来求解 
因为其实可以通过normal equations直接算出θ,即具有解析解

首先对于训练集,可以写成下面的向量形式

image image

由于image ,所以 
image 

并且image ,故有 
image

可以看到经过一系列的推导,J(θ)有了新的表达形式 
那么J(θ)的梯度,即求导,可以得到 
image  
而J(θ)最小时,一定是梯度为0时,即可以推出normal equations 
image 
所以使J(θ)最小的θ的值可以直接求出, 
image

可以参考Normal Equations 的由来



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值