上一次讲到VC bound适合各种err。以及有noise的情况下,VC Bound理论仍然是成立的。本节课介绍机器学习最常见的一种算法:Linear Regression.

一、回归问题

我们依旧从信用卡的问题来讲,现在的信用卡问题不再是给某人信用卡,而是该给这个多少额度。

学习流程图如下所示:

此刻的学习目标变为了输出实数的函数,即,上面的问题是线性回归(Linear Regression)问题。

我们利用资料来算一个加权的分数,决定给这个人多少额度:

顾客特征: 

加权后的分数:

可视化来讲,在二维平面中,我们希望找到的这条蓝色直线,和资料‘o’越接近越好(红色竖线越短,直线与资料越接近)。

三维空间同理。回归分析要做的事情就是找到最好的直线/超平面来描述资料。红色竖线被叫做残差residuals。

如何衡量这些残差呢,我们使用平方误差来衡量。

在已知样本上:

在未知样本上:

之前我们知道err不影响VCbound,所以现在主要考虑如何让极小化。

二、线性回归算法

我们把写成矩阵的形式。

然后我们作出的图像,同时也可以看出是连续的、可微的、凸的。

我们可以求最小值点,通过找到权重w。

要注意的是这里的w是每个方向的导数都是0:

接下来我们看看什么时候梯度会等于0 ,先将展开:

在一维上:

对于向量来说

无论是哪种情况,我们像之前说的一样,通过求解得到w,其中

我们推导得到了权重向量

其中,又称为伪逆矩阵pseudo-inverse,记为。事实上实际问题没有逆矩阵(除非一般满足样本数量N大于样本特征维度d+1才会有逆矩阵)。

但大部分的计算逆矩阵的软件程序,都可以处理这个问题,也会计算出一个逆矩阵。在这种情况下我们可以直接使用软件中自带的解。所以上述问题还是可以解决的。

线性回归算法的过程为:

三、泛化问题

可能有这样一个疑问,为什么线性回归问题有直接可以得到的闭式解,这样不需要迭代的问题还是机器学习问题吗?

答:它有好的,而且并不是“一步登天”的算法,也是要迭代的。在计算矩阵与逆矩阵的过程中会用到高斯迭代。

总结:如果很好,我们就说‘学习’这件事发生了。

之前的VC可能会帮我们说明很小,但是现在我们用另一种更简便的发方法说明,我们可以看的平均值

对于什么的平均呢?每次我们会从资料库中抽一笔资料,把这么多笔资料做平均,可以写为:

其中noise level表示资料有多少噪音。其中为:

叫做帽子矩阵,用H表示。因为,相当于给y加了一个帽子。

下面从几何图形的角度来介绍帽子矩阵H的物理意义。

1.,所以与X在同一个空间span

2.我们希望越小越好,由于垂线最短,说明在span上的投影,即

3.H:其实H就是在做投影这件事,将投影在span上。

4.I-H:也是一个线性变换,作用在上,主要是求

我们说以下式子是成立的,并不做太多的数学说明,只做结论性的物理解释。

物理意义:我们原本知道有N个自由度的向量,它投影在某个d维空间上取残差后,那么残差的最大自由度为N - (d + 1)。

接着,我们回到带噪声noise的情况。

由图可知,

y = noise+f(x)

显然noise经过I-H也能转换为,因为y和noise顶点都在point 1,他们做I-H变换得到的都是顶点到span的垂线距离,也就是

再加上之前说的自由度问题,从而有:

下面这张图,因为是我们看得见的样本平均误差,所以为了让他看起来小一点,我们让他往noise的方向偏一点。同理,可以得到如下所示。

当N足够大时,逐渐接近,数值保持在noise level,我们发现这种方法满足我们之前推导VC Bound,泛化能力强

四、线性回归vs线性分类

线性分类:输出、h、误差度量、求解通常是NP-hard

线性回归:输出、h、误差度量、通常容易求解

两种方法看起来很不一样,但是转念一想,{+1,-1}也属于实数空间R,那么线性回归可以求解分类问题吗?

是否可以通过线性回归求出权重w,然后

结果的正负就是分类问题的正负。

但是这不是数学上的道理,我们希望从稍微数学的角度来看看这个问题

举例,

两种不同的误差,分别是线性分类(蓝色)和线性回归(红色)的。

在不同标签下,他们的图像如下(红色蓝色与上面对应)

红色的曲线总是在蓝色的线的上方,所以

这告诉我们

以数学中上限的观点来看,我们把红色的做好,也就把蓝色的做好了。这解释了我们为什么可以用线性回归来做分类(VC bound还成立,或者用我们上一章说的err的角度看也是相同结论)。

所以,我们用线性回归算出一个权重w可以将其用于二分类(得到一个差不多好的结果),二元分类问题得到了一个更宽松的上界,这也是一种更有效率的求解方式。

进一步地,我们可以将上述w当场PLA/pocket的初始值(再做修正)。

总结:

林轩田《机器学习基石》(九)—— Linear regression相关推荐

  1. 台湾大学林轩田机器学习基石课程学习笔记13 -- Hazard of Overfitting

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了非线性分类模型,通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行分类,分析了非线性变换可能会使计算复杂度 ...

  2. 台大林轩田·机器学习基石记要

    台大林轩田·机器学习基石记要 昨天开始看林轩田的机器学习基石,从今天起开始去粗取精 第一讲比较基础,一些概念自己早已经理解了,所以不再做笔记,有点印象的是讲到了ML.DL.AI的一些联系与区别,ML主 ...

  3. 林轩田机器学习基石(Machine Learning Foundations)笔记(一)

    要求两周之内看完林轩田机器学习基石和技法,速度是要的,但是感觉看得太快我会不久就会忘记.因此记录一下梗概,顺便写写看视频时解决的不懂的地方(有种思想就是把知识传播给更多人,有时候就是靠大佬们善意的一句 ...

  4. 台湾大学林轩田机器学习基石课程学习 笔记资料汇总

    笔记: 红色石头的专栏(写得非常好) 课后练习: 機器學習基石(Machine Learning Foundations) 机器学习基石 课后习题链接汇总 https://download.csdn. ...

  5. 机器学习系列笔记:林轩田机器学习基石——机器学习的可行性

    机器学习系列笔记:林轩田机器学习基石--机器学习的可行性

  6. 台湾大学林轩田机器学习基石课程学习笔记11 -- Linear Models for Classification

    红色石头的个人网站:redstonewill.com 上一节课,我们介绍了Logistic Regression问题,建立cross-entropy error,并提出使用梯度下降算法gradient ...

  7. 台湾大学林轩田机器学习基石课程学习笔记10 -- Logistic Regression

    红色石头的个人网站:redstonewill.com 上一节课,我们介绍了Linear Regression线性回归,以及用平方错误来寻找最佳的权重向量w,获得最好的线性预测.本节课将介绍Logist ...

  8. 台湾大学林轩田机器学习基石课程学习笔记15 -- Validation

    红色石头的个人网站:redstonewill.com 上节课我们主要讲了为了避免overfitting,可以使用regularization方法来解决.在之前的EinEinE_{in}上加上一个reg ...

  9. 台湾大学林轩田机器学习基石课程学习笔记14 -- Regularization

    红色石头的个人网站:redstonewill.com 上节课我们介绍了过拟合发生的原因:excessive power, stochastic/deterministic noise 和limited ...

  10. 台湾大学林轩田机器学习基石课程学习笔记2 -- Learning to Answer Yes/No

    红色石头的个人网站:redstonewill.com 上节课,我们主要简述了机器学习的定义及其重要性,并用流程图的形式介绍了机器学习的整个过程:根据模型H,使用演算法A,在训练样本D上进行训练,得到最 ...

最新文章

  1. 艾伟_转载:DataTable.NewRow 内存泄漏问题
  2. Windows CE 6.0正式发布 源代码100%开放
  3. Winforms-GePlugin-Control-library
  4. Bengio实验室推出开源AI药物研发平台,唐建领队、清北上交学生参与开发
  5. oracle层次查询中prior与自上而下、自下而上查询
  6. java13 InputStream,Reader
  7. WCF跨域 这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP...
  8. 网络编程知识预备(5) ——libcurl库简介及其编程访问百度首页
  9. 详解Vue中watch的高级用法
  10. Servlet中参数获取方法
  11. 各种对话框 Dialog
  12. mysql开启远程访问权限
  13. python3迭代器是什么_Python3.7之迭代器
  14. 前端取色器 FSCapture
  15. 【C语言】状态机编程
  16. 企业微信双开及三开的方法
  17. 使用 JavaScript 制作一个可以弹的吉他
  18. 你不知道的Word中制作表格的7个技巧
  19. 七天学习微信小程序开发(一)—— 学习笔记
  20. 淘宝上传图片太大怎么办?怎么把图片压缩变小?

热门文章

  1. 【教程】CRX格式插件不能离线安装?本地扩展CRX无法安装怎么办?
  2. 等级保护测评策略建议整改措施
  3. java cutline_利用JFreeChart生成饼形图
  4. HDU_4125 Moles 线段树
  5. 什么是软件测试中的人工智能(AI)?
  6. 教你用 CSS 实现超真实的 3D 相册,让你的照片立体感 UPUP
  7. Visual Studio Code 安装Vim插件后,复制(Ctrl C)等快捷键变成Insert 模式的问题
  8. 5个典型实例告诉你:什么是数据可视化
  9. 架构师成长之路(3)--如何成为架构师(方法)
  10. [美]杰克·韦尔奇《赢》