深度学习1-线性回归,逻辑回归

这些天在写前几个月学习的三维重建方面的知识的同时,也开始学习着目前比较火的深度学习。学习这个不是跟着潮流,总是在想读研到底学到了什么。

我想也就是个自学能力吧。其实感觉自己反而有点不自信了,本科毕业什么都不担心,可是现在担心的越来越多,人也慢慢变得浮躁起来,嗨,不多说了,写一写这两天学到的东西,唯有写点东西才感觉心里上的踏实。

主要参考吴恩达cs229课程

作者给出问题的引入是房价的问题,房价跟面积有关

clip_image002

然后将这些数据在下面坐标系中列出所有的点。

clip_image004

然后给出问题,就是如果我们来了一个新的面积,而面前已有的数据中没有,那我们该怎么办。

首先我们想到的我们用一个曲线去拟合这些点,得到了曲线的方程,这样自然就可以解出来。

下面之前我们先给出一些概念。

clip_image006

则我们给出一个学习过程

clip_image008

好,下面言归正传,给个说明就是

如果y的值是连续的,这就是一个回归问题,如果y的值是离散的,这就是一个分类问题。那下面开始学习线性回归。

对于上述问题,房价不仅仅跟面积有关还跟很多其他的因素有关,比如卧室的个数。如下图:

clip_image010

可能房价还与朝向等等其他特征有关

我们用X1,X2..Xn 去描述特征里面的分量,比如x1=房间的面积,x2=卧室的个数等等,我们可以给出y的一个估计函数:

clip_image012

θ这系数也就是权限,就是这个特征的份量。

我们令X0=0,则我们就可以把上述公式写成

clip_image014

也就是转换到向量中处理

clip_image016

clip_image018

那我们的目标也就是求出这些θ。

我们采用假设法,先假设θ已经得出,那我们就要考虑给出的θ到底好不好呢,怎么衡量呢

我们采用下面的式子:

clip_image020

这个函数一般称为损失函数或者错误函数,主要来描述我们估计的函数h到底好不好。

对于上述式子中的1/2主要是为了求导用,假设有m个训练数据,y为真实值,h为估计值

那我们的目标就是求:

clip_image022

在上述最小的情况下θ的值。最好的情况也就是clip_image022[1]为0,也就是每个y跟h一样,但一般达不到。那这个怎么解呢?

首先作者给出的是梯度下降法。

我们对于上述问题可以换个思路,求在clip_image022[2]情况下的θ,也就是要选择一个θ是J(θ)最小,那怎么处理呢。

我们先给出θ的一个初始值,然后改变θ的值,使J(θ)沿梯度下降方向进行减小,即:

clip_image024(α称为学习率,j为所有值0,…,n)

为什么可以写成单独一个,因为标量y对列向量X求导:

对N×1向量求导后还是N×1向量 y = f(x1,x2,..,xn) --> dy/dX = (Dy/Dx1,Dy/Dx2,..,Dy/Dxn)'

对于上式我们要求的也就是J(θ)的偏导数,下面我们假设训练数据只有一个,则可以得到:

clip_image026

则对于单一的训练数据有:

clip_image028

对于上述的迭代更新的方式有两种,批梯度下降,增量梯度下降。

批量梯度下降,就是对所有的训练数据都计算完之后在对θ更新,即

clip_image030

i是训练数据,j是维度,不要搞混了。

另外一种是增量梯度下降,就是每训练一个数据就对θ进行更新,如下:

clip_image032

然后看clip_image034判断是否继续还是结束

posted @ 2013-05-15 00:24  越影&逐日而行  阅读(1260)  评论(0编辑  收藏  举报