当前位置: 首页 > news >正文

从零开始机器学习001-线性回归数学推导

机器学习中回归是同学们在学习过程中重要的一环。无论是面试还是实际应用都会经常用到。很多人都会使用线性回归,那么有多少人知道线性回归是怎么来的呢?如果想让自己在机器学习的方向上更有价值,数学方面的推导必不可少。今天就给大家讲解下回归中比较重要的线性回归的数学推导。

老师的课程
1.从零开始进行机器学习
2.机器学习数学基础(根据学生需求不断更新)
3.机器学习Python基础
4.最适合程序员的方式学习TensorFlow

线性回归的公式

从零开始机器学习001-线性回归数学推导

线性回归的数学推导主要涉及到以下几个知识点。

1. 利用矩阵的知识对线性公式进行整合

2. 误差项的分析

3. 似然函数的理解

4. 矩阵求偏导

5. 线性回归的最终求解


我们先来看下这个图

姓名工资(元)房屋面积(平方米)可贷款金额(元)
张三60005830000
李四90007755010
王五110008973542
陆永剑150005463201

这个是近期比较火的现金贷产品的贷款额度。这个表格表示的是可贷款的金额 与 工资 和 房屋面积之间的关系,其中 工资 和 房屋面积 为 特征,可贷款金额为目标函数值。
那么根据线性函数可得到以下公式。
从零开始机器学习001-线性回归数学推导
上面的这个式子是当一个模型只有两个特征(x1,x2)的时候的线性回归式子。
正常情况下,现金贷中可贷款的额度和用户的很多特征相关联,并不只是简单的这两个特征。所以我们需要把这个式子进行通用化。
假如有n个特征的话,那么式子就会变成下面的样子
从零开始机器学习001-线性回归数学推导
上面的式子是一个多项求和的式子,用机器学习的思想,怎么把这个式子聚合一下呢?
因为机器学习中基本上都是用矩阵的方式来表示参数的,也就是说我们需要把这个多项求和的式子用矩阵的方式表达出来,这样才方便后续的计算。
从零开始机器学习001-线性回归数学推导
我们把权重参数和特征参数,都看成是1行n列的矩阵(或者是行向量)。那么就可以根据矩阵乘法的相关知识,把上述多项求和的式子,转换成矩阵的乘法的表达式。
由此我们就把多项求和化简称了
从零开始机器学习001-线性回归数学推导
这个就是第一步,利用矩阵的知识对线性公式进行整合。
接着我们来看第二步,误差项的分析
从零开始机器学习001-线性回归数学推导
式子里面其实并不是只有W*X吧? 还有一个参数b。也就是我们说的偏移量,或者叫做误差项。
我们先来看下面的这个图
从零开始机器学习001-线性回归数学推导
图中的横坐标X1 和 X2 分别代表着 两个特征(工资、房屋平米) 。纵坐标Y代表目标(可贷款的额度)。其中红点代表的就是实际的目标值(每个人可贷款的额度).而平面上和红点竖向相交的点代表着我们根据线性回归模型得到的点。也就是说实际得到的钱和预估的钱之间是有一定误差的,这个就是误差项。
因为误差项是真实值和误差值之间的一个差距。那么肯定我们希望误差项越小越好。
从零开始机器学习001-线性回归数学推导
我们根据实际情况,假设认为这个误差项是满足以下几个条件的。
从零开始机器学习001-线性回归数学推导
1.独立:张三和李四一起使用这款产品,可贷款额互不影响
2.同分布:张三和李四是使用的是同一款产品
3.高斯分布:绝大多数的情况下,在一个的空间内浮动不大
下面是高斯分布的图,忘记的同学们可以回忆下。
从零开始机器学习001-线性回归数学推导

第三步. 似然函数的理解
由前面两步,我们已经把线性回归模型,推导成下面的这个式子了。
从零开始机器学习001-线性回归数学推导
第二步,已经知道误差项是符合高斯分布的,所以误差项的概率值就是下面的式子。
从零开始机器学习001-线性回归数学推导
再把误差值带入到这个式子里面,就得到了下面的式子。
从零开始机器学习001-线性回归数学推导

误差项肯定是越小越好了,那么接下来要讨论的就是什么样的参数和特征的组合能够让误差项最小呢? 这里就引入了似然函数的作用。似然函数的作用就是要根据样本来求什么样的参数和特征的组成能够最接近真实值。越接近真实值则误差越小。
从零开始机器学习001-线性回归数学推导
似然函数就是求能让真实值和预测值相等的那个参数的。
从零开始机器学习001-线性回归数学推导
上面的式子是多个参数的乘积的形式,很难进行计算,所以我们又采用了对数的一个小技巧,把多个数相乘,转化成多个数相加的形式。
从零开始机器学习001-线性回归数学推导
根据上面的这种换算关系,我们就把似然函数的式子换算成下面的这个。
(因为似然函数是越大越好,似然函数的值和对数似然函数的值是成正比的,对值求对数,并不会影响到最后求极限的值。所以才敢进行对数处理。)
从零开始机器学习001-线性回归数学推导
对上面的式子进行整合,得到
从零开始机器学习001-线性回归数学推导
从零开始机器学习001-线性回归数学推导
通过上面一系列推导,就把式子转化为最小二乘法的相关知识了。
这就是在线性回归中使用似然函数的相关知识。
---【如果想了解更多的数学基础知识,及机器学习的相关课程,请点击下面链接】
---【从零开始学习机器学习,包含全套的机器学习课程】

接着看下一步:矩阵求偏导
怎么计算最小二乘法的公式的最小值。这里面就要涉及到导数的相关知识了,
求之前,我们根据矩阵的知识,把上面的式子再转换一下。
从零开始机器学习001-线性回归数学推导

把这个式子求一下偏导。
从零开始机器学习001-线性回归数学推导
上面的公式里面还涉及到矩阵转置的性质。想了解矩阵转置的性质,请点击此链接【机器学习数学基础】。

将打开的式子,根据矩阵求导的三个重要公式
从零开始机器学习001-线性回归数学推导
我们就可以把偏导的值求出来,
从零开始机器学习001-线性回归数学推导
最终得到结果:
从零开始机器学习001-线性回归数学推导

X和Y都是已知的,那么得到了最终的参数值。

转载于:https://blog.51cto.com/12133258/2051527

相关文章:

  • 小白接口(OkayApi.com),免开发,直接可用的云端数据接口
  • C++代码书写规范——给新手程序员的一些建议
  • 成为优秀Java程序员的10大技巧
  • 2.6相对和绝对路径 2.7cd命令 2.8创建和删除目录mkdir/rmdir 2.9rm命令
  • debian 8 解压安装mysql(版本5.7.19)
  • 电脑网络连接问题汇总
  • 线程精进指南之线程池进阶
  • ifdef ANDROID总是不好用
  • 如何阅读slow日志
  • 11.18 Apache用户认证
  • Shell的 for 循环小例子
  • iOS10 之前键盘跳转到设置页面的 url
  • ORA-01012: not logged on
  • MySQL GEO 字段类型说明及案例
  • iOS推送机制APNs
  • JavaScript-如何实现克隆(clone)函数
  • 2019年如何成为全栈工程师?
  • codis proxy处理流程
  • Hibernate最全面试题
  • Java方法详解
  • k8s 面向应用开发者的基础命令
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • oldjun 检测网站的经验
  • Spring Cloud中负载均衡器概览
  • Theano - 导数
  • TypeScript实现数据结构(一)栈,队列,链表
  • web标准化(下)
  • 初识 beanstalkd
  • 初识MongoDB分片
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 电商搜索引擎的架构设计和性能优化
  • 规范化安全开发 KOA 手脚架
  • 理解在java “”i=i++;”所发生的事情
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 排序(1):冒泡排序
  • 普通函数和构造函数的区别
  • 如何在GitHub上创建个人博客
  • 实现简单的正则表达式引擎
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 7行Python代码的人脸识别
  • Hibernate主键生成策略及选择
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​渐进式Web应用PWA的未来
  • (4.10~4.16)
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (十一)图像的罗伯特梯度锐化
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)创业的注意事项
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .form文件_一篇文章学会文件上传