热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

大白话5分钟带你走进人工智能第五节解析解方式求解模型参数

第五节解析解方式求解模型参数第四节中我们讲解了最大似然和最小二乘之间的关系,通过数学原理找到了损失函数为MSE的理论支撑。本节的话我们讲解怎么样基于目标函数为MSE的

                                                                       第五节解析解方式求解模型参数

    第四节中我们讲解了最大似然和最小二乘之间的关系,通过数学原理找到了损失函数为MSE的理论支撑。本节的话我们讲解怎么样基于目标函数为MSE的情况下,找到最合适的参数模型。在此之前,我们总结下通过最大似然估计建立目标函数思路:

1. 建立线性模型(将误差视为未统计到的多个维度影响的结果)

2. 对于误差假设其服从均值为0的高斯分布

3. 得到每个数据点被采样到的概率分布函数(自变量为θ)

4. 最大似然估计--总概率最大

5. 通过两边取ln和公式整理,得到结论:mse最小时总似然最大。

我们挨个分析下上面逻辑,第一条什么是线性模型?所谓的多元线性回归里面的线性模型就是y=W^{T}X,是一个线性相加的结果,并且误差视为未统计到的多个维度影响的结果且其服从均值为0的高斯分布。第三条中,对于每一个样本,都会得到一个概率分布函数。第四条中,将所有的样本的概率分布函数累乘,得到一个似然函数,我们的目标就是使其总样本发生的概率最大。最后通过对最大似然函数做数学变换,两边取ln和公式整理,得到结论为:mse最小时总似然最大。所以我们得到新的目标:所谓学习就是 求出一组使mse最小的θ参数。通常,我们把求一个使某函数达到最大(小)值的自变量解的过程叫做函数最优化,机器学习实质上都是将参数学习问题转变为函数最优化问题,进而求解,所以对于线性回归问题,我们要做的就是对 J(\theta )=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}x^{i}-y^{i})^{2}其优化。

    那么如何求函数最小值呢?(函数最优化问题)我们结合高中的知识知道,直接的思路是求导,然后使得导数为零的点,就是我们的最优解。那么这个思想可以应用到求解我们的模型参数吗?实际上是可以的,因为都是函数的最优化问题。我们铺垫几个向量求导的预备公式:

                            \frac{\partial X\theta }{\partial \theta }=X^{T};        \frac{\partial\theta ^{T}X}{\partial \theta^{T} }=X^{T} ;          \frac{\partial \theta^{T}X }{\partial \theta }=X;        \frac{\partial \theta ^{T}X\theta }{\partial \theta }=2X\theta

上面我们不用管怎么来的,就是一些数学公式而已,有兴趣的自己研究下就可以。先将损失函数写成矩阵形式:

                                                \frac{1}{2}(X\theta -y)^{T}(X\theta - y)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}x^{i}-y^{i})^{2}=J(\theta )

解释:因为X\theta -y是列向量(X\theta是预测的y,减去对应的真实的y,所以是一个列向量),转置之后(X\theta -y)^{T}是行向量。所以(X\theta -y)^{T}(X\theta - y)根据向量相乘的规则,对应位置相乘相加,因为对应位置都是同一个元素,所以就是右边的(h_{\theta}x^{i}-y^{i})^{2}相加,也就是最终的上面的写成矩阵形式的公式。其中X矩阵是把每个x看做一个行向量张成的矩阵,y是把所有训练集上的y写作一个列向量。

因为我们的目标是想得到一组最小的\theta,所以也就是相当于\frac{1}{2}(X\theta -y)^{T}(X\theta - y)\theta求导,并令其导数为0,然后解出来,就是我们的最小的\theta解。既然要求导,那么我们对目标函数求梯度,我们说对于向量求梯度,实际上就是对于向量中的每个参数求导,这是一 一对应的。我们对目标函数求梯度的过程如下:

                                                   \bigtriangledown _{\theta }J(\theta )=\bigtriangledown_{\theta }\frac{1}{2}(X\theta -y)^{T}(X\theta - y)

                                                                 =\frac{1}{2}\bigtriangledown_\theta (\theta ^{T}X^{T}X\theta -\theta ^{T}X^{T}\hat y-\hat y^{T}X\theta +\hat y^{T}\hat y)

                                                                 =\frac{1}{2}(X^{T}X\theta+X^{T}X\theta-2X^{T}\hat y)

                                                                 =X^{T}X\theta-X^{T}\hat y

其实上面就是我们根据上面铺垫的向量求导公式结合乘法展开式可得。当梯度为0时,函数应有极小值。此时X^{T}X\theta=X^{T}\hat y 。解得\theta=(X^{T}X)^{-1}X^{T}y。称该形式为线性回归目标函数的解析解。因为解析解不是那么重要,所以不再详细一步步展开上面转换过程。所以我们可以补充总结下线性回归学习的整体流程:

1. 一开始我们拿到了训练集,包含若n个数据点,每个点有m个维度(特征)
2. 我们设定线性判别模型 y=X^T\theta
3. 想要求得最好的一组θ(学习目标)
4. 建立MSE目标函数
5. 对MSE目标函数求使其极小的θ。第一个工具:解析解。

然而解析解有如下缺陷:
1. 解析解函数中存在矩阵求逆的步骤,不是所有矩阵的逆矩阵都可求,有时候只能求近似解
2. 当数据维度非常高时(几百维度以上) 解析解的求解速度会非常慢(O(n^3))

因此:通常利用梯度下降法求解函数最小问题的数值解。

所以下一节中,我们讲解通过梯度下降法求解函数最小问题的数值解,这个是最常用也是机器学习以后经常见到的,会对其原理和过程做详细介绍。

转:https://www.cnblogs.com/LHWorldBlog/p/10597079.html



推荐阅读
  • 电销机器人作为一种人工智能技术载体,可以帮助企业提升电销效率并节省人工成本。然而,电销机器人市场缺乏统一的市场准入标准,产品品质良莠不齐。创业者在代理或购买电销机器人时应注意谨防用录音冒充真人语音通话以及宣传技术与实际效果不符的情况。选择电销机器人时需要考察公司资质和产品品质,尤其要关注语音识别率。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • Final关键字的含义及用法详解
    本文详细介绍了Java中final关键字的含义和用法。final关键字可以修饰非抽象类、非抽象类成员方法和变量。final类不能被继承,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。文章还讨论了final类和final方法的应用场景,以及使用final方法的两个原因:锁定方法防止修改和提高执行效率。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了求解gcdexgcd斐蜀定理的迭代法和递归法,并解释了exgcd的概念和应用。exgcd是指对于不完全为0的非负整数a和b,gcd(a,b)表示a和b的最大公约数,必然存在整数对x和y,使得gcd(a,b)=ax+by。此外,本文还给出了相应的代码示例。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 词袋模型的通俗介绍
    词,袋, ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
author-avatar
拍友2502935047
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有