机器学习之&&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 的由来



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值