2.1 基本线性回归

一.线性回归问题

线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。线性回归包括一元线性回归和多元线性回归,一元是只有一个自变量x,多元是指有多个自变量x1,x2.....如y=a0+a1x1+a2x2。
首先我们来看一个例子:

假定我们有一个数据集,数据集中给出了来自俄勒冈波特兰的47所房子的居住面积,卧室数和价格。现在要根据卧室数和面积来得出价格。很明显,这是一个监督学习中的回归问题。

我们不妨先假设一个线性函数关系:函数h表示房价,x1表示面积,x2表示卧室数目。
为了简化我们的符号,我们也引入x0=1,那么上述函数可以写成:

现在,我们想要根据训练集数据拟合一个函数,这就需要我们求出参数值。大家可以想象,我们肯定希望找到的那个函数,距离每个点都很近,最好所有的点上都在这个函数上,但是这肯定不现实,所以我们希望这些点尽量离函数近一点,也就是所有训练样本到函数的距离之和最小。用数学的方式形式化,我们得到代价函数J

这里为了便于计算,将距离做了平方并且乘以一个1/2,xi,yi表示训练集第i行的属性和标记。现在问题就转化成了求出所有参数值,使得代价函数J的值最小。解决这个问题可以选择梯度下降法,也可以使用最小二乘法

二.梯度下降法

(一)前提

在介绍梯度下降法之前,我们先回顾一下几个基础的数学概念。

  1. 导数
    一个点的导数不仅仅表示该点切线的斜率,还反应了函数在该点的变化率。


  2. 偏导数
    在二元函数中,偏导数仅仅是表示某点在x方向的导数和在y轴方向的导数。这反应了偏导数的局限性,仅仅是多元函数沿着坐标轴的变化率,但是如下图,在M0点处存在很多方向的偏导数(并不仅仅x和y方向),这就引出了方向导数。


  3. 方向导数
    我们不仅仅要知道函数在坐标轴方向上的变化率(即偏导数),还需要设法求得函数在其他方向上的变化率。而方向导数就是函数在其他特定方向上的变化率。
    从二元函数上某点P点向某个方向发出一条射线,通过p0(x+△x,y+△y)且P0在领域内。

    两点间距离

    若极限存在则方向导数为:
  1. 梯度
    由上面的方向导数可知,方向导数是在各个方向上都有,而且每个方向上的变化一般是不一样的,那到底沿哪个方向最大呢?沿哪个方向最小呢?为了研究方便,就有了梯度的定义。


  • 梯度是一个向量,由函数f关于它的n个变量的偏导数构成,比如三元函数f的梯度为(fx,fy,fz),二元函数f的梯度为(fx,fy),一元函数f的梯度为f(x)
  • 梯度的方向是函数增长最快的方向,梯度的反方向是函数降低最快的方向。
(二)梯度下降法(BGD)

梯度下降法的基本思想:
我们的目的是寻找J最小时的参数,开始时我们随机选择一个参数的组合(θ_0,θ_1,......,θ_n ),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。

前文线性回归的代价公式

目标函数J关于参数θ的梯度是目标函数上升最快的方向,那么让函数从任意一点开始,沿着梯度反方向移动一个步长α(α是学习率,它决定了我们沿着梯度方向向下迈出的步子有多大,α的值是根据情况自行设定的),就可以使得函数J下降的最快,形式化如下。(注意,这里所有的参数θ都要同时更新)
那么进行多次迭代,每次迭代都更新所有的θ(j=0,1,2,3.....),直到J收敛停止迭代:

我们发现在迭代过程中,每更新一个参数θ,都会计算一遍全部训练集,如果训练集很大,那么将很耗时间。
随机梯度下降(SGD):去掉求和公式,用样本中的一个例子来近似我所有的样本,来调整。
批量梯度下降(MBGD):其实批量的梯度下降就是一种折中的方法,他用了一些小样本来近似全部的,其本质就是1个样本近似全部不太准,那我多取几个样本会比随机的要准不少了吧,而且批量的话还是非常可以反映样本的一个分布情况的。

注意(以一元函数举例说明)

  1. 梯度下降法是收敛到局部最小值,不一定可以收敛到全局最小值,这与我们选择的初始参数有关。


    image

我们初始值选择了如图的x0,由于f在点x0的导数大于0,梯度方向向右,负梯度方向向左,从而x0向左移动,逐渐收敛到了局部最小值,而不能收敛到全局最小值。

  1. α的大小要适中
    学习率α太小,每次移动步长太小,收敛太慢,这个比较容易理解。
    学习率α太大,每次移动步长大,可能导致不收敛,这里用一个图来表示一下:



    由于距离最小值点越远,导数越大,从而导致步长越来越大,不会收敛。通常可以考虑尝试这些学习率:
    α=0.01,0.03,0.1,0.3,1,3,10

三. 最小二乘法

最小二乘法的本质就是利用向量表示代价方程J,然后对参数向量进行求导,令导数为0求极值,从而解出参数向量。

假设多元线性模型是:

那么将样本属性X带入方程可以得到:

用向量表示出来:



也就是:

同样,为了保证点到函数的距离和的平方最小,得到代价公式(Y是样本目标向量):

令J对参数向量求导:

最后如果
是可逆的,也就是说X是满秩的,那么解得:

如果不可逆,那就是有很多解了,取哪个解由归纳偏好决定。
至此,我们得到了所有的参数,模型建立完成。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352

推荐阅读更多精彩内容