机器学习中的数学基础 5

人工智能(AI)与机器学习(ML):塑造未来的技术引擎 人工智能是一种模拟、延伸和扩展人类智能的理论、方法、技术及应用系统。它旨在让计算机能够像人类一样思考、学习,并能在各种环境下自主地做出决策。AI的发展经历了从最初的符号主义、连接主义到如今的深度学习等多个阶段,每一次的突破都极大地推动了科技的进步。尽管AI与ML技术取得了巨大的进步,但它们仍然面临着诸多挑战。首先,数据的获取和标注是一个巨大的问题。高质量的标注数据是机器学习模型训练的关键,但数据的获取和标注往往需要耗费大量的人力和时间。其次,模型的泛化能力也是一个需要解决的问题。 阅读详情

优化问题简介

最优化定义

最优化,是应用数学的一个分支。主要研究在特定情况下最大化或最小化某一特定函数或变量。

数学表示:

YYY 是 随机变量 XXX 的函数,求 y^=fθ(X)\widehat{y} = f_{\theta}(X)y​=fθ​(X) ,令:

θ^=arg⁡min⁡θ(diff(Y,y^)) \widehat{\theta} = \arg \min _{{\theta }}(diff(Y, \widehat{y})) θ=argθmin​(diff(Y,y​))

问题拆解

loss function

损失函数或成本函数是指一种将一个事件(在一个样本空间中的一个元素)映射到一个表达与其事件相关的经济成本或机会成本的实数上的一种函数,借此直观表示的一些"成本"与事件的关联。一个最佳化问题的目标是将损失函数最小化。

平方法

最小二乘法例子:定义最小二乘法 L2L_2L2​ 损失函数 ∑i=1n(Yi−Y^i)2{\displaystyle \sqrt{\sum_{i=1}^{n}(Y_i-\widehat{Y}_i)}^2}i=1∑n​(Yi​−Yi​)​2 同理可定义 距离损失函数 LPL_PLP​

Huber loss

相比平方误差损失,Huber损失对于数据中异常值的敏感性要差一些。

https://blog.youkuaiyun.com/u013841196/article/details/89923475

Hinge loss

在这里插入图片描述

https://zhuanlan.zhihu.com/p/35708936

Cross Entropy

在机器学习中(特别是分类模型),模型训练时,通常都是使用交叉熵(Cross-Entropy)作为损失进行最小化:

求分布和分布之间的差异:

CE(p,q)=−∑i=1Cpilog(qi) CE(p,q)=−\sum_{i=1}^C p_ilog(q_i) CE(p,q)=−i=1∑C​pi​log(qi​)

其中 CCC 代表类别数。pip_ipi​ 为真实,qiq_iqi​ 为预测。

https://blog.youkuaiyun.com/guolindonggld/article/details/79250642v
https://zhuanlan.zhihu.com/p/35709485

method

  • 容易计算则直接计算:如最小二乘法
  • 不容易计算,则迭代法,如 arg⁡min⁡xg(x)\arg \min _{x} g(x)argminx​g(x), 令 x1=x0+Δxx_1 = x_0 + \Delta xx1​=x0​+Δx:
    • 0阶: 直接根据函数值
    • 1阶: 根据函数值加导数
    • 2阶: 根据 Hessian 矩阵
  • 随机性
    • 模拟退火
    • 进化

优化问题的要求

  • 必须存在最优解
  • 解尽量唯一
  • 损失函数连续

最速下降法

梯度下降方法基于以下的观察:如果实值函数 F(xF({\mathbf {x}}F(x)在点 a\mathbf {a}a 处可微且有定义,那么函数 F(xF({\mathbf {x}}F(x)在 a\mathbf {a}a 点沿着梯度相反的方向 −∇F(a-\nabla F({\mathbf {a}}−∇F(a) 下降最多。

因而,如果

b=a−γ∇F(a) {\mathbf {b}}={\mathbf {a}}-\gamma \nabla F({\mathbf {a}}) b=a−γ∇F(a)

对于 γ>0\gamma >0γ>0 为一个够小数值时成立,那么 F(a)≥F(bF({\mathbf {a}})\geq F({\mathbf {b}}F(a)≥F(b)。

下面先给出最速梯度下降法的计算步骤:

由以上计算步骤可知,最速下降法迭代终止时,求得的是目标函数驻点的一个近似点

https://zhuanlan.zhihu.com/p/32709034

共轭梯度法

共轭梯度法对最优梯度法进行了修正,搜索方向为共轭方向,将负梯度方向旋转了一个角度,每次往最优方向需要在负梯度方向进行修正。算法如下:

https://zhuanlan.zhihu.com/p/64227658
https://blog.youkuaiyun.com/qq547276542/article/details/78186050
https://flat2010.github.io/2018/10/26/%E5%85%B1%E8%BD%AD%E6%A2%AF%E5%BA%A6%E6%B3%95%E9%80%9A%E4%BF%97%E8%AE%B2%E4%B9%89/#8-%E5%85%B1%E8%BD%AD%E6%A2%AF%E5%BA%A6%E6%B3%9
https://blog.youkuaiyun.com/LittleEmperor/article/details/105073755

牛顿法

为了求 Δx\Delta xΔx 通过把 Hessian 矩阵的逆矩阵转为求线性方程组,避免求逆矩阵。

比之前方法迭代少,但是计算量大。

拟牛顿法

核心思想,构造近似的 Hessian 矩阵的逆矩阵,使得:

Hk−1+ΔH=Hk+1−1 H_k^{-1} + \Delta H = H_{k+1}^{-1} Hk−1​+ΔH=Hk+1−1​

https://garfielder007.github.io/2015/12/16/Newton-QuasiNewton-Method.html
https://zhuanlan.zhihu.com/p/306635632

约束非线性优化

对偶性

在最优化理论中的对偶(duality)或对偶性原则(duality principle)是指最佳化问题可以用两种观点来看待的理论,两种观点分别是“原始问题”(primal problem)及“对偶问题”(dual problem)。对偶问题的解提供了原始问题(假设是最小化问题)的下限[1],不过一般而言,原始问题和对偶问题的最佳解不相同。两个最佳解的差距为对偶间隙。若是凸优化问题,对偶间隙也称为是卡鲁什-库恩-塔克条件。

强对偶、弱对偶参考 https://blog.youkuaiyun.com/Cyril_KI/article/details/107741019
https://zhuanlan.zhihu.com/p/258762446

KKT条件

在数学中,卡罗需-库恩-塔克条件(英文原名:Karush-Kuhn-Tucker Conditions常见别名:Kuhn-Tucker,KKT条件,Karush-Kuhn-Tucker最优化条件,Karush-Kuhn-Tucker条件,Kuhn-Tucker最优化条件,Kuhn-Tucker条件)是在满足一些有规则的条件下,一个非线性规划(Nonlinear Programming)问题能有最优化解法的一个必要和充分条件。这是一个广义化拉格朗日乘数的成果。

Karush-Kuhn-Tucker (KKT)条件是非线性规划(nonlinear programming)最佳解的必要条件。KKT条件将Lagrange乘数法(Lagrange multipliers)所处理涉及等式的约束优化问题推广至不等式。在实际应用上,KKT条件(方程组)一般不存在代数解,许多优化算法可供数值计算选用。

在这里插入图片描述

https://zhuanlan.zhihu.com/p/38163970
https://zhuanlan.zhihu.com/p/33229011
https://blog.youkuaiyun.com/qq_36896268/article/details/121588597

ml5.js人工智能编程入门教程(1): ml5.js介绍 & 实现图像分类 ml5.js 是基于tensorflow.js的深度学习框架,它安装简便,API简单易懂,直接在浏览器里面运行,适合作为深度学习的入门以及非人工智能专业的深度学习的工具。 本系列课程将以一个个实际的例子,带领大家编写ml5.js的深度学习代码,亲自动手进入人工智能的世界。 在学习本系列教程过程中,请大家一定要:写代码,自己写代码,自己写有趣的代码!!! 观看本教程视频 一、ml5.js介 阅读详情

相关推荐

ML4T工作流程:从ML模型到策略回测(交易中的机器学习)

除了大量活跃的个人交易者社区,也有几家银行和交易公司使用backtrader来原型和测试新策略,然后将其移植到生产就绪的平台,如Java。例如,您可以使用我们在本书中遇到的scikit-learn等通用ML库设计和测试生成信号的ML模型,并将模型输出输入单独的回测引擎。这些对象相互作用,以便于输入数据的处理和因子计算,制定和执行策略,接收和执行订单,以及跟踪和度量业绩。简单地说,回测引擎遍历历史价格(和其他数据),将当前值传递给您的算法,收到订单作为回报,并跟踪所得仓位及其价值。

weixin_41908924的博客 1611

KKT条件(卡罗需-库恩-塔克条件)

1,定义 KKT是啥? 它是Karush、Kuhn和Tucker三个人。这三个人单独提出了在非线性规划中获得最优解的必要条件。 看着很复杂呀? 还好啦。。。只是将拉格朗日乘数法中的等式约束条件泛化到了不等式。 2,先来几个简单例子 为什么要搞这个看似复杂的东东?当然是为了解决一些问题。下面的问题如果你能解出来,你就可以不用学这个了。 2.1 求f(x1,x2)=x12+x22的最小值,约束条件为x...

linkequa的博客 1万+

机器学习数学基础

向量可以形象化地表示为带箭头的线段,箭头所指的方向代表向量的方向,线段的长度代表向量的大小。张量是一种泛化的多维数组概念,它可以是任何维度(秩)的,例如向量(矢量)是一阶张量,矩阵是二阶张量,高于二维的称为三阶张量、四阶张量等。总的来说,标量是最简单的数据形式,而向量、矩阵和更高维度的张量则是复杂度逐渐增加的多维数据结构,它们在现代科学和技术的许多领域中都扮演着重要角色。对于行列数相同的两个或多个向量,点积运算就是对这两个或多个向量对应位相乘后求和的操作,点积的结果是一个标量。

Java/Python大数据随笔 3474

人工智能与机器学习---线性规划和非线性规划求解

一、线性规划 1、线性规划的概念 线性规划(Linear Programming 简记 LP)是了运筹学中数学规划的一个重要分支。自从 1947 年 G. B. Dantzig 提出 求解线性规划的单纯形法以来,线性规划在理论上趋向成熟,在实用中由于计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性规划现代管理中经常采用的基本方法之一。 在解决实际问题时,需要把问题归结成一个线性规划...

weixin_46492125的博客 5288

Spark 2.0 机器学习 ML 库:常见的机器学习模型(Scala 版)

一、前言 机器学习中,人为地设计算法,需要一定的知识积淀。 而使用别人设计好的机器学习库如 Spark 2.0 ML,那是基本不需要什么基础的,开箱即用。 首先,看一个简单、完整、规范的案例,无疑是最好的方式。 之前的文章(内含短小精悍的案例): Spark 2.0 机器学习 ML 库:特征提取、转化、选取(Scala 版) Spark 2.0 机器学习 ML 库:机器学...

IT小村 1万+

在 Azure ML 上用 .NET 跑机器学习

.NET ML 你在用了吗?

Kinfey 4411

【硬核数学】4. AI的“寻路”艺术:优化理论如何找到模型的最优解《从零构建机器学习、深度学习到LLM的数学认知》

梯度下降虽能优化AI模型,但在复杂非凸地形中易陷入局部最优。本篇深入探讨优化理论,为模型训练提供“高级导航系统”。文章从理想的凸优化讲起,揭示其全局最优特性及其在线性回归、逻辑回归中的应用。随后,详解拉格朗日乘子法如何解决带约束的优化问题,引出KKT条件与正则化的深层联系。最后,阐述对偶理论的强大,特别是在支持向量机(SVM)中如何通过对偶问题和核技巧实现高效非线性分类。本文将助您从数学本质上理解AI模型如何克服训练挑战,实现参数优化,是深入掌握机器学习、深度学习不可或缺的数学基石。

qq_38961840的博客 1022

用 ML.NET 开发智能应用:让 .NET 程序员轻松掌握机器学习

ML.NET是一个由微软开发的开源跨平台机器学习框架,专为 .NET 开发者设计,允许他们在不离开 C# 或 F# 编程语言的情况下,进行机器学习建模和应用。通过 ML.NET,开发者无需学习 Python 或深度学习框架的复杂操作,就能在其现有的 .NET 应用中集成强大的机器学习功能。ML.NET 支持各种机器学习任务,包括分类、回归、聚类、推荐、异常检测、自然语言处理等。无论是开发企业级应用、Web 应用,还是桌面应用,ML.NET 都能为你的项目带来智能化提升。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 3840

Karush-Kuhn-Tucker(KKT)条件

主要介绍了Karush-Kuhn-Tucker (KKT)条件的定义、适用范围以及相关讨论和理解。

weixin_50881817的博客 3333

5、向量、向量空间与几何结构:机器学习中的数学基础

本文深入探讨了向量、向量空间及其几何结构在机器学习中的数学基础,涵盖向量空间的定义与性质、范数与距离的度量方式、内积与角度的关系,并详细介绍了这些概念在模型复杂度控制、相似度计算和推荐系统中的实际应用。文章还通过鸢尾花数据集展示了几何结构在数据分析中的直观意义,最后展望了高维空间、非欧几里得空间及深度学习中几何方法的研究方向。

w1x2y3的博客 69

Unity中的机器学习ML-Agents

一:介绍 二:搭建环境 ——升级Python版本 因为mac自带的是python2.7.X的版本, 查看当前python版本:python -V ——搭建Python环境 安装Anconda:https://www.anaconda.com/products/individual

L的博客 8353

学习人工智能所需的数学知识及路线规划

学习人工智能是一个系统工程,需要扎实的数学基础和编程能力作为支撑。通过系统的学习和实践,逐步掌握人工智能的核心技术和应用方法,将为你未来的职业发展奠定坚实的基础。希望本文能为广大AI爱好者提供一些有益的参考和指导。

Python_cocola的博客 1756

C# ML.NET机器学习入门:5步轻松搞定,代码详解+实战演练

通过以上五个步骤,你已经成功地使用C#和ML.NET创建并使用了一个简单的机器学习模型。是不是感觉比想象中简单多了?其实,机器学习并没有那么高深莫测,只要你愿意动手实践,就能轻松上手。希望这篇教程对你有所帮助,如果你有任何问题或建议,欢迎在评论区留言交流!接下来,你可以尝试使用更多的数据集和不同的任务类型,进一步提升你的机器学习技能。加油,未来的机器学习专家!🌟✨😊✨。

java专栏 4763

机器学习中的数学基础-day5

最优化,最速下降法,共轭梯度,牛顿法,拟牛顿法,约束非线性优化,KKT条件

qq_36896268的博客 308

机器学习ML.NET

是用于 .NET 的跨平台开源机器学习 (ML) 框架。ML.NET 允许开发人员在其 .NET 应用程序中轻松构建、训练、部署和使用自定义模型,而无需开发机器学习模型的专业知识或使用 Python 或 R 等其他编程语言的经验。该框架提供从文件和数据库加载数据,支持数据转换,并包含许多 ML 算法。借助 ML.NET,您可以针对(如分类、预测和异常检测)训练模型。您还可以在 ML.NET 中使用 TensorFlow 和 ONNX 模型,这使得框架更具可扩展性,并扩展了支持的方案数量。

A_nanda的博客 5529

408计算机复试专业课问答汇总

408计算机复试专业课问答汇总

weixin_45930223的博客 3701

【机器学习中的数学基础】(5)——笔记

最速下降法:通过沿着目标函数梯度的反方向迭代移动,逐步逼近函数的最小值。基本步骤:初始化、计算梯度、更新参数、迭代。应用:广泛应用于机器学习、统计学、工程设计和图像处理等领域。优缺点:算法简单、适用范围广,但收敛速度慢,依赖学习率,易陷入局部最优。理解最速下降法及其改进方法,可以帮助我们在多种优化问题中找到高效的解决方案。共轭梯度法:一种用于解决大型稀疏对称正定线性方程组和二次优化问题的有效算法。基本步骤:初始化、计算步长、更新解、更新残差、计算新搜索方向系数、更新搜索方向、迭代。应用。

g1997c的博客 950

MacBook 本地化部署 Dify 指南

dify 怎么安装部署 有哪些坑 !

weixin_44542598的博客 1526

【ML学习笔记】5:机器学习中的数学基础5(张量,哈达玛积,生成子空间,超平面,范数)

向量/矩阵/张量向量向量可以表示成一维数组,每个分量可以理解为向量所表示的点在空间中坐标的分量。矩阵矩阵可以表示成二维数组,上节理解了矩阵可以理解为线性映射在特定基下的一种定量描述。张量张量可以表示成任意维的数组,张量是向量概念向更高阶次的推广,向量是一维张量。 但不能把矩阵简单的看成二维张量,张量是几何的,矩阵是代数的。二阶张量和矩阵概念不同,但可以建立联系,矩阵可以描述二阶张量的一些特性(在确

大桔骑士的学习笔记 4234

个人整理的数据集(手写中文数据、发票数据、快递单数据、车牌数据)

本人在工作生活中收集了各个方面比较多的真实的数据集如下: 一、手写中文数据集 1、档案类数据: 此数据集为手写档案数据,数量较大,大约128G,图像均未标注。 ex: 2、手写作文数据: 此数据集为手写作文数据,是大约800M左右,图像按行提供位置和内容标注,十分珍贵。 ex: 二、发票数据集: 1、增值税发票 此数据集包含了大量真实的增值税发票数据,大约9G,标注了发票位置数据,未提供详细标注。 ex: 2、购车发票 此数据集未提供标注。

weixin_43143224的博客 5882

《UDS协议从入门到精通》系列——图解0x2E:通过ID写数据

图解数据包格式+直观的通信示例,迅速认识0x2E服务!!

车载系统攻城狮 3602

jsoneditor 使用指南:在 Web 应用中集成 JSON 查看、编辑与格式化工具

本文是一份面向 Web 开发者的 jsoneditor 实战集成指南,围绕当前仓库 [docs/usage.md](https://link.gitcode.com/i/fdf8d3e3968514084921bf337343ab0a) 的完整使用流程展开:从 npm 安装、在 HTML 中加载 js/css 资源,到创建编辑器实例、通过 `set` / `get` 读写 JSON 数据。读完本文

gitblog_01104的博客 760

3060台式机 Ubuntu 双系统部署 LingBot-Map 完整指南

摘要: 本文详细介绍了在配备RTX 3060显卡的台式机上部署Ubuntu双系统并安装LingBot-Map 3D重建模型的完整流程。LingBot-Map作为蚂蚁灵波科技开源的Transformer架构模型,在流式3D场景重建中展现出高效性能(20 FPS)和卓越精度(ATE仅6.42米)。指南涵盖关键准备步骤、UEFI分区原理、Ubuntu安装流程(推荐150GB空间及手动分区方案),以及后续驱动配置说明,特别强调RTX 3060需12GB显存支持,并提供了数据备份、Secure Boot处理等实用建议

huanghm88的专栏 314
上一篇: 机器学习中的数学基础 4
下一篇: 机器学习算法基础 1
eddiechen10081
博客等级 码龄11年 1粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值