regression初识

regression

知识点

regression基本3步骤
  • 定义一系列模型
  • 定义loss function,将模型和training data带入模型中。此时loss function仅有我们要求的参数是未知数。
  • 用gradient descent等方法找到我们要求的最佳参数。
错误来源

以上三步骤得到的最佳模型,错误来源主要有两个。一个是bias,一个是variance。

bias度量了学习算法的期望输出与真实结果的偏离程度, 刻画了算法的拟合能力,Bias 偏高表示预测函数与真实结果差异很大。

Variance:则代表“同样大小的不同的训练数据集训练出的模型”与“这些模型的期望输出值”之间的差异。训练集变化导致性能变化, Variance 偏高表示模型很不稳定。

当模型定义得过于复杂的时候,常常会出现bias小,varience过大,overfitting;当模型定义得过于简单的时候,常常出现varience小,bias过大,underfitting。

  • 逻辑上分析
    直观上,模型简单时,我们考虑的因素比较少。比如我们要预测一个人未来10年的收入,我们只考虑了他的学历。
f( educational background)=income

但是实际上,income和他本人的性格,家庭,外貌都有很大关系,但是我们并没有把这些因素考虑进去,导致在预测小A,小B,小C时,出现预测结果很不准确,即bias过大的情况。

模型复杂时,我们考虑的的因素多。比较极端的情况是我们考虑的因素过多,除了性格,学历,家庭,外貌,我们甚至把脚底有一颗痣考虑进去。

f(educational background;personality;family;...;Mole under foot)=income

这时,我们的模型和training data的选择关系很大,如果我们的training data中,脚下面有痣的人比较多,这就会导致得出的模型里面,脚下面有痣的人更容易成功;反之,如果training data中,脚下面有痣的人比较少,得出的模型里面,脚下面有痣的人更不易成功;训练集变化导致性能变化大,即varience大。

  • 从数学概率论分析

    E[f*^(x)–f(x)] 为 Bias,即期望;E[f(x)−E(f^(x))]2 为 Variance,即方差。

    当模型复杂时,在寻找最合适的参数时,已经包含简单模型的最佳参数,所以复杂模型和data之间的偏差更小,即bias更小。另一方面,因为复杂模型和training data过于拟合,得出的模型和training data的相关性太大,导致可能和testing data之间的差异过大,即varience过大。

简单模型已经包含复杂模型

  • 从图形上分析
    简单模型对属性(图中的Xcp)影响更小,做出的模型中,数据点不会散落太开,varience小。
    在这里插入图片描述
减少error

从上面的分析中可以看出,减少error的要从减少bias和variance入手,即在模型的简单和复杂之间找到一个平衡点。这里提出了两个方法:更多的数据和regularization。

更多的数据

在估计income的时候,每个样本只有10个人,偶然样本里面的high income人士脚下面6个都有痣,那么对模型影响必然很大。但是如果我们增加样本数量,每一个样本里面都有1000个人,这样得出来的模型,“脚下面有痣”的权重一定很小。

增加training data是万能的,一定可以优化模型

regularization

一般来说,最基本的loss function被定义为
在这里插入图片描述
而 regularization的loss function使参数(wi)更小,如下图证明.可以使模型更加自然地变化,而不会出现突然一下子变得特别大或者特别小的情况。
但是可能理想模型变化本来就很剧烈的,所以regularization并不万能。
在这里插入图片描述

基本三步骤之 找到最佳参数

使用gradient descent,我们可以在模型中找到local minima。这里是三个tip。
仅仅是局部最小值,并不是全局最小值!

tip1: learning rate的选择

learning rate是我们在寻找最佳参数时,迈的脚步的大小。
我们期望在寻找minima的过程中,离理想值远时,我们大跨步,迅速接近理想值;在离minima比较近了之后,就细细走,不要错过最佳值。即随时间变化,步子先小后大。由此定义和时间相关的learinng rate。
在这里插入图片描述
在这里插入图片描述
进一步,升级成Adagrad。Adagrad可以给每个参数分配一个和以前的该参数变化速率有关的learning rate。
在这里插入图片描述

tip2:Stochastic Gradient Descent

Stochastic Gradient Descent可以使训练更快。

原loss function
Stochastic Gradient Descent loss function
原loss function是把所有的样本的偏离值一起计算,现在的Stochastic Gradient Descent loss function是一个样本一个样本地计算。有多少个样本,Stochastic Gradient Descent就比原来快多少倍。

tip3:feature scaling

在我们估计一个人的income的时候,考虑他身高和外貌两个因素。
定义1:身高单位是cm,相貌评分是10分制。
定义2:身高单位是cm,相貌评分是200分制

定义1定义2
外貌(w1)身高(w2)外貌(w1)身高(w2)
1709170180
1806180160
1608160170
156215650

作图可得:
在这里插入图片描述
在进行gradient Descent的时候,第二种样本定义,是一直朝着local minima前进,因此可以做优化,对training data消除量纲的影响。
在这里插入图片描述
其中,m i为均值,σ i是标准差。
消除量纲影响后,xri的均值为0;标准差为1。





博客中所有图都来自于台大李宏毅老师ppt。
刚刚开始学习,路漫漫其修远;请大家多多指正。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值