一. 回归

经过前面的铺垫,我们终于要接触到实际的与机器学习有关的数学问题了。对于一个基本的监督学习模型来说,其本质是找到一个函数来拟合所给定的数据集。而找到这个拟合函数f的过程,我们称之为回归(各资料都表明回归并不是一个好的名字,但是姑且这样子去使用,其实在我的理解里用拟合更为恰当且易于理解)。

我们需要两个概念来对我们的回归问题进行更好的建模:函数集、损失函数

函数集:

对于一个回归问题而言,我们需要限定该函数的范围即其所存在的空间,例如我们可以限定该函数是一个多项式函数。当然,之前所学习的知识不能白学,我们可以限定函数存在于一个希尔伯特空间或者该希尔伯特空间的一个子空间中,后续我们会发现定义了内积的空间将对我们的计算产生非常巨大的帮助,因为我们可以将问题完全的转化为线性代数的问题去求解。

损失函数:

此外,我们还需要找到一个标准去衡量我们拟合的好坏。对于给定的数据集,通过给定一个损失函数 ,来去衡量回归的质量。

最小均方回归问题的数学建模

假如在这里,我们采用均方误差作为我们的损失函数:,那么最终我们的问题可以被建模为如下形式:

二. 线性回归问题的建模

我们先以最简单的线性回归问题为例来展开对于最小均方回归问题的讨论。

线性回归问题顾名思义,指的是其所规定的函数集为线性函数,线性函数的定义如下:

其实就是我们最先接触过的函数:一次函数。自然的我们应该明白,每一个线性函数都会对应有一个唯一的向量,并且针对于某一个回归问题,我们输入的数据集中t的维度,就应当是该函数的维度。所以函数 f(t) 完全可以被我们表示成一个内积的形式如下:

也就是说,通过内积的转化,我们的优化对象从函数变成了一个向量w。

接着进一步的,假如我们给定了M组数据,每组数据中输入的维度为D,输出的维度为1,我们可以进一步的将优化问题中的变量矩阵化:

其中A是一个M*D维数的矩阵。最终我们的回归问题建模如下:

待优化的对象变成了向量w,当我们求解出向量w之后,我们的函数便可以表示为:

三. 线性回归问题的求解

在讨论上述问题的解之前,我们首先需要讨论一个必要的数学知识:矩阵求导

矩阵求导

因为深度学习与机器学习的操作都是基于矩阵的,所以在进行数学推导时,矩阵求导是一个非常重要的工具。详细的推导大家可以参考这篇文章:

矩阵求导公式的数学推导(矩阵求导——基础篇) - 知乎

我在这里只列举几个最基本的傻瓜公式:

有了以上的四个公式,我们基本上就可以应对机器学习中的大部分数学推导了,当然有时间肯定还是应该仔细系统的学习一下矩阵求导的原理。

标准方程

那么我们回到优化问题上来,我们不妨来思考一下问题的解应该满足什么样的条件。显然,当函数达到最小值时,它在最小值点的梯度一定为0(无论函数是否为凸函数)。我们把它用数学的形式表示出来则有:

令梯度等于0,我们则有:

解的讨论

根据我们上述得到的标准方程,我们可以完全运用线性代数的知识进行解的情况分析。

这里我也省略掉关于矩阵的四大空间的概念,具体可以参考矩阵的四个子空间及其联系 - 知乎

首先这样的两个定理:

具体的证明在上述链接中也同样涉及。

那么现在我们可以得到如下的结论:

1. 标准方程一定是有解的因为无论A与y如何,都存在下列关系:

这是因为左式可以看作的列向量对应上x的系数,因此既然右式是在AtA的列空间中的,所以一定存在一组x对其进行表示,所以该问题是一定存在解的。

2. 当rank(A)=N时,意味着是满秩的,因此可以直接取逆。此时该问题存在唯一解:

3. 如果rank(A)<N,在这种情况下就存在了非平凡零空间(就是不仅仅只包含零元素的零空间),那么很明显问题的解变为了为标准方程的一个解,而v为A的零空间中的元素。

4. 如果rank(A)=M,那么在这种情况下我们可以直接从y-Ax的角度入手,因为我们知道我们优化目标可能的最小值一定是0,那么当rank(A)=M时,Ax=y是一定有解的。这时再分情况讨论,如果M=N,则此时A是满秩的,因此只有唯一解。当M<N时,那么A的零空间为非平凡零空间,因此与3中一样,存在无穷多个使得优化目标为0的解。

以上,我们用线性代数建模了优化问题,并用线性代数解决了优化问题。

机器学习的数学基础(5):最小均方误差的回归问题相关推荐

  1. 机器学习之数学基础(四)~Lasso Regression回归, L1、L2 Regularization正则化, 回归问题中的损失函数

    目录 1. Lasso回归 1.1 概念 1.2 正则化 1.3 Lasso回归模型 1.4 为什么Lasso Regression可以做降维? 1.5 参数求解 (1)坐标轴下降法 (2)最小角回归 ...

  2. 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(13):Hamliton-Cayley定理、最小多项式

    目录 前言 往期文章 3.4 Hamliton-Cayley定理.最小多项式 定义3.19 Hamliton-Cayley定理 定义3.20 定理3.4.1 定理3.4.2 定理3.4.3 定理3.4 ...

  3. 【机器学习基础】(三):理解逻辑回归及二分类、多分类代码实践

    本文是机器学习系列的第三篇,算上前置机器学习系列是第八篇.本文的概念相对简单,主要侧重于代码实践. 上一篇文章说到,我们可以用线性回归做预测,但显然现实生活中不止有预测的问题还有分类的问题.我们可以从 ...

  4. 机器学习之路:python k近邻回归 预测波士顿房价

    python3 学习机器学习api 使用两种k近邻回归模型 分别是 平均k近邻回归 和 距离加权k近邻回归 进行预测 git: https://github.com/linyi0604/Machine ...

  5. 《机器学习实战》学习笔记第八章-回归

    目录 线性回归 标准回归 局部加权线性回归 预测鲍鱼的年龄 缩减系数来"理解"数据 岭回归 lasso 前向逐步回归 预测乐高玩具套件的价格 获取数据 线性回归 回归的目的就是预测 ...

  6. 【机器学习的数学基础】(五)解析几何(Analytic Geometry)(下)

    文章目录 3 解析几何(Analytic Geometry)(下) 3.8 正交投影 3.8.1 一维子空间(线)上的投影 3.8.2 一般子空间上的投影 3.8.3 Gram-Schmidt正交化 ...

  7. 【机器学习的数学基础】(九)向量微积分(Vector Calculus)(上)

    文章目录 5 向量微积分(Vector Calculus) 5.1 单变量函数的微分 5.1.1 泰勒级数 5.1.2 微分法则 5.2 偏微分与梯度 5.2.1 偏微分的基本法则 5.2.2 链式法 ...

  8. 百度飞桨2021李宏毅机器学习特训营学习笔记之回归及作业PM2.5预测

    百度飞桨2021李宏毅机器学习特训营学习笔记之回归及作业PM2.5预测 前言 回归 什么是回归(Regression)? 怎么做回归? 线性回归(Linear Regression) 训练集与验证集 ...

  9. 收藏!!如何 Get 机器学习必备的算法技能? | 逻辑回归

    本文是吴恩达老师的机器学习课程[1]的笔记和代码复现部分(逻辑回归). 作者:黄海广[2] 备注:笔记和作业(含数据.原始作业文件).视频都在github[3]中下载. 我将陆续将课程笔记和课程代码发 ...

最新文章

  1. 华为鸿蒙系统6月24首发,华为终于迎来好消息,P50系列有望在6月上市,首发搭载鸿蒙OS系统...
  2. VC++ inline内联函数的作用解决方案
  3. [CF396E]On Iteration of One Well-Known Function
  4. PHP7.1安装yaf扩展
  5. springboot banner在线生成_SpringBoot系列教程10--小花样之SpringBoot配置自定义Banner
  6. Knn原理及Python实现、数据展示
  7. C# DataTable的Distinct解决方案及表的复制
  8. 20145209 2016-2017-2 《Java程序设计》第5周学习总结
  9. bzoj 1625: [Usaco2007 Dec]宝石手镯(01背包)
  10. tsm linux文件备份命令,IBM TSM简单使用文档
  11. DevExpress.XtraEditors.Repository.RepositoryItem.CreateDesigner()
  12. python程序中1—10的乘积_[求助]1个数1到10的乘积
  13. mac电脑usb连接android手机,【已解决】安卓手机小米9如何连接到Mac电脑中去拷贝手机中图片...
  14. logit方程怎么写_碳酸钠和氯化钙的化学方程式怎么写
  15. pagehelper返回的total总是等于pagesize问题解决
  16. 动态域名解析ipv6 群辉dnspod_群晖IPV6 DDNS设置终极大全(移动用户进)(二)
  17. 数字经济时代,企业的核心竞争力究竟是什么?
  18. 计算机网络实验一总结(基于packet tracer)
  19. 淘宝API 如何获取颜色 尺码 属性表
  20. 关于在控制面板上软件卸载失败的问题

热门文章

  1. PHP Switch 语句之学习笔记
  2. 微服务指南走北(四):你不愿意做微服务架构的十个理由
  3. monkey测试android 内存耗尽,触发kswapd0 内存
  4. C# •MouseDown •MouseDown •MouseUp 的先后顺序
  5. 通过实例分析让您彻底理解NFS协议
  6. java求不同出租车的费用_出租车费用(贪心)
  7. 攻防世界Crypto新手练习
  8. 其实,你的学习一直很低效!
  9. NLP预处理阶段----拼写纠错实战
  10. Samba Ubuntu 服务器配置