最优化问题和回归分析
作者:追风剑情 发布于:2022-6-8 16:44 分类:Algorithms
在为了分析数据而建立数学模型时,通常模型是由参数确定的。在数学世界中,最优化问题就是如何确定这些参数。
从数学上来说,确定神经网络的参数是一个最优化问题,具体就是对神经网络的参数(即权重和偏置)进行拟合,使得神经网络的输出与实际数据相吻合。
为了理解最优化问题,最浅显的例子就是回归分析。下面我们就利用简单的回归分析问题来考察最优化问题的结构。
什么是回归分析
由多个变量组成的数据中,着眼于其中一个特定的变量,用其余的变量来解释这个特定的变量,这样的方法称为回归分析。回归分析的种类有很多,为了理解它的思想,我们来考察一下最简单的一元线性回归分析。
一元线性回归分析是以两个变量组成的数据为考察对象的。下图给出了两个变量x、y的数据以及它们的散点图。
一元线性回归分析是用一条直线近似地表示右图所示的散点图上的点列,通过该直线的方程来考察两个变量之间的关系。
这条近似地表示点列的直线称为回归直线。
这条回归直线用一次关系式表示如下: $$y=px+q \quad (p、q为常数)\tag{1}$$ 这个式子称为回归方程。
x、y是为了将构成数据的各个值代入而设定的变量,右边的x称为自变量,左边的y称为因变量。常数p、q是这个回归分析模型的参数,由给出的数据来决定。
注:p称为回归系数,q称为截矩。
通过具体例子来理解回归分析的逻辑
例 下图是7个学生的身高与体重数据,求回归方程y=px+q (p、q为常数)
解 设所求的回归方程如下所示。 $$y=px+q \quad (p、q为常数)\tag{2}$$ 将第k个学生的身高记为xk,体重记为yk,可以求得第k个学生的回归分析预测的值(称为预测值),如下所示。 $$px_k+q\tag{3}$$ 我们将这些预测值加以汇总,如下表所示。
如下算出实际的体重yk与预测值的误差ek。 $$e_k=y_k-(px_k+q)\tag{4}$$
这些ek的值既可以为正也可以为负。接下来我们来考虑下面的值Ck,这个值称为平方误差。 $$C_k=\frac{1}{2}(e_k)^2=\frac{1}{2}\{y_k-(px_k+q)\}^2\tag{5}$$
注:系数$\frac{1}{2}$是为了方便进行之后的处理,这个值对结论没有影响。
遍历全体数据,将它们的平方差加起来,假设得到的值为CT。 $$C_T=C_1+C_2+\cdots+C_7$$ 根据之前的表以及式(5),用p、q的式子表示误差总和CT,如下所示。 $$ \begin{aligned} C_T&=\frac{1}{2}\{45.5-(153.3p+q)\}^2 + \frac{1}{2}\{56.0-(164.9p+q)\}^2 \\ &+ \cdots +\frac{1}{2}\{50.8-(156.7p+q)\}^2 + \frac{1}{2}\{56.4-(161.1p+q)\}^2 \end{aligned} \tag{6} $$
我们的目标是确定常数p、q的值。回归分析认为,p、q是使误差总和式(6)最小的解。知道这个解的思路后,后面就简单了。我们利用以下的最小值条件即可。 $$\frac{\partial{C_T}}{\partial{p}}=0, \quad \frac{\partial{C_T}}{\partial{q}}=0 \tag{7}$$ 我们来实际计算一下式(6)。根据偏导数的链式法则,可得 $$ \begin{aligned} \frac{\partial{C_T}}{\partial{p}}&=-153.3\{45.5-(153.3p+q)\} - 164.9\{56.0-(164.9p+q)\}- \\ &\cdots -156.7\{50.8-(156.7p+q)\} - 161.1\{56.4-(161.1p+q)\}=0 \\ \frac{\partial{C_T}}{\partial{q}}&=-\{45.4-(153.3p+q)\} - \{56.0-(164.9p+q)\} - \\ &\cdots -\{50.8-(156.7p+q)\} - \{56.4-(161.1p+q)\}=0 \end{aligned} $$ 整理后得到下式。 $$ 1113.4p+7q=372.1, \quad 177312p+1113.4q=59274 $$ 解这个联立方程,可得 $$p=0.41,\quad q=-12.06$$ 从而求得目标回归方程(2),如下所示。 $$y=0.41x-12.06$$
注:这是CT=27.86
以上就是一元线性回归分析中使用的回归直线的确定方法。这里的重点是最优化问题的求解思路。这里所考察的最优化方法在后面的神经网络的计算中也可以直接使用。
注意:要确定模型,就必须准备好规模大于参数个数的数据。
代价函数
在最优化方面,误差总和CT可以称为“误差函数”、“损失函数”、“代价函数”等。本书采用代价函数(cost function)这个名称。
注:之所以不使用误差函数(error function)、损失函数(lost function)的叫法,是因为它们的首字母容易与神经网络中用到的熵(entropy)、层(layer)的首字母混淆。
此外,除了这里所考察的平方误差的总和CT之外,根据不同的思路,代价函数还存在其他多种形式。利用平方误差的总和CT进行最优化的方法称为最小二乘法。
标签: Algorithms
日历
最新文章
随机文章
热门文章
分类
存档
- 2024年11月(3)
- 2024年10月(5)
- 2024年9月(3)
- 2024年8月(3)
- 2024年7月(11)
- 2024年6月(3)
- 2024年5月(9)
- 2024年4月(10)
- 2024年3月(11)
- 2024年2月(24)
- 2024年1月(12)
- 2023年12月(3)
- 2023年11月(9)
- 2023年10月(7)
- 2023年9月(2)
- 2023年8月(7)
- 2023年7月(9)
- 2023年6月(6)
- 2023年5月(7)
- 2023年4月(11)
- 2023年3月(6)
- 2023年2月(11)
- 2023年1月(8)
- 2022年12月(2)
- 2022年11月(4)
- 2022年10月(10)
- 2022年9月(2)
- 2022年8月(13)
- 2022年7月(7)
- 2022年6月(11)
- 2022年5月(18)
- 2022年4月(29)
- 2022年3月(5)
- 2022年2月(6)
- 2022年1月(8)
- 2021年12月(5)
- 2021年11月(3)
- 2021年10月(4)
- 2021年9月(9)
- 2021年8月(14)
- 2021年7月(8)
- 2021年6月(5)
- 2021年5月(2)
- 2021年4月(3)
- 2021年3月(7)
- 2021年2月(2)
- 2021年1月(8)
- 2020年12月(7)
- 2020年11月(2)
- 2020年10月(6)
- 2020年9月(9)
- 2020年8月(10)
- 2020年7月(9)
- 2020年6月(18)
- 2020年5月(4)
- 2020年4月(25)
- 2020年3月(38)
- 2020年1月(21)
- 2019年12月(13)
- 2019年11月(29)
- 2019年10月(44)
- 2019年9月(17)
- 2019年8月(18)
- 2019年7月(25)
- 2019年6月(25)
- 2019年5月(17)
- 2019年4月(10)
- 2019年3月(36)
- 2019年2月(35)
- 2019年1月(28)
- 2018年12月(30)
- 2018年11月(22)
- 2018年10月(4)
- 2018年9月(7)
- 2018年8月(13)
- 2018年7月(13)
- 2018年6月(6)
- 2018年5月(5)
- 2018年4月(13)
- 2018年3月(5)
- 2018年2月(3)
- 2018年1月(8)
- 2017年12月(35)
- 2017年11月(17)
- 2017年10月(16)
- 2017年9月(17)
- 2017年8月(20)
- 2017年7月(34)
- 2017年6月(17)
- 2017年5月(15)
- 2017年4月(32)
- 2017年3月(8)
- 2017年2月(2)
- 2017年1月(5)
- 2016年12月(14)
- 2016年11月(26)
- 2016年10月(12)
- 2016年9月(25)
- 2016年8月(32)
- 2016年7月(14)
- 2016年6月(21)
- 2016年5月(17)
- 2016年4月(13)
- 2016年3月(8)
- 2016年2月(8)
- 2016年1月(18)
- 2015年12月(13)
- 2015年11月(15)
- 2015年10月(12)
- 2015年9月(18)
- 2015年8月(21)
- 2015年7月(35)
- 2015年6月(13)
- 2015年5月(9)
- 2015年4月(4)
- 2015年3月(5)
- 2015年2月(4)
- 2015年1月(13)
- 2014年12月(7)
- 2014年11月(5)
- 2014年10月(4)
- 2014年9月(8)
- 2014年8月(16)
- 2014年7月(26)
- 2014年6月(22)
- 2014年5月(28)
- 2014年4月(15)
友情链接
- Unity官网
- Unity圣典
- Unity在线手册
- Unity中文手册(圣典)
- Unity官方中文论坛
- Unity游戏蛮牛用户文档
- Unity下载存档
- Unity引擎源码下载
- Unity服务
- Unity Ads
- wiki.unity3d
- Visual Studio Code官网
- SenseAR开发文档
- MSDN
- C# 参考
- C# 编程指南
- .NET Framework类库
- .NET 文档
- .NET 开发
- WPF官方文档
- uLua
- xLua
- SharpZipLib
- Protobuf-net
- Protobuf.js
- OpenSSL
- OPEN CASCADE
- JSON
- MessagePack
- C在线工具
- 游戏蛮牛
- GreenVPN
- 聚合数据
- 热云
- 融云
- 腾讯云
- 腾讯开放平台
- 腾讯游戏服务
- 腾讯游戏开发者平台
- 腾讯课堂
- 微信开放平台
- 腾讯实时音视频
- 腾讯即时通信IM
- 微信公众平台技术文档
- 白鹭引擎官网
- 白鹭引擎开放平台
- 白鹭引擎开发文档
- FairyGUI编辑器
- PureMVC-TypeScript
- 讯飞开放平台
- 亲加通讯云
- Cygwin
- Mono开发者联盟
- Scut游戏服务器引擎
- KBEngine游戏服务器引擎
- Photon游戏服务器引擎
- 码云
- SharpSvn
- 腾讯bugly
- 4399原创平台
- 开源中国
- Firebase
- Firebase-Admob-Unity
- google-services-unity
- Firebase SDK for Unity
- Google-Firebase-SDK
- AppsFlyer SDK
- android-repository
- CQASO
- Facebook开发者平台
- gradle下载
- GradleBuildTool下载
- Android Developers
- Google中国开发者
- AndroidDevTools
- Android社区
- Android开发工具
- Google Play Games Services
- Google商店
- Google APIs for Android
- 金钱豹VPN
- TouchSense SDK
- MakeHuman
- Online RSA Key Converter
- Windows UWP应用
- Visual Studio For Unity
- Open CASCADE Technology
- 慕课网
- 阿里云服务器ECS
- 在线免费文字转语音系统
- AI Studio
- 网云穿
- 百度网盘开放平台
- 迅捷画图
- 菜鸟工具
- [CSDN] 程序员研修院
- 华为人脸识别
- 百度AR导航导览SDK
- 海康威视官网
- 海康开放平台
- 海康SDK下载
- git download
交流QQ群
-
Flash游戏设计: 86184192
Unity游戏设计: 171855449
游戏设计订阅号