公开课机器学习笔记(1)回归分析

来源:互联网 发布:黑名单软件 编辑:程序博客网 时间:2024/05/23 13:36
 1148人阅读 评论(0) 收藏 举报

                                              回归分析之我见

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 0
原创粉丝点击