机器学习——最优化模型

2024-03-31 16:44
文章标签 学习 模型 机器 最优化

本文主要是介绍机器学习——最优化模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最优化模型的概述:

从某种程度上说,我们的世界是由最优化问题组成的。每一天,我们的生活都面临无数的最优化问题:上班怎么选择乘车路线,才能舒服又快速地到达公司;旅游如何选择航班和宾馆,既省钱又能玩地开心;跳槽应该选择哪家公司,钱多、事少、离家近;买房子应该选在哪里,交通发达有学区,生活便利升值快。

可以看出,上面所有的问题都面临无数的选择,我们会根据自己的偏好对每个选择打一个不同的分数,再从所有的选择中找出最优的一个。这个寻求最优解的过程其实就是最优化问题,我们要打的分数就称为目标函数。

最优化方法是机器学习中模型训练的基础,机器学习的很大一部分内容就是通过最优化方法找到最合适的参数,使得模型的目标函数最优。

最优化问题的定义:

最优化问题的定义:

在给定的约束条件下,选择最优的参数和使得目标函数最大化/最小化。

最优化问题的三个基本要素:     

目标函数:用来衡量结果的好坏     

参数值:未知的因子且需要通过数据来确定     

约束条件:需要满足的限制条件

Note: 目标函数必须是凸函数,才能保证优化后获得的最优结果是全局最优而不是局部最优,否则要进行凸优化。

凸函数:

简单理解为在函数图像上任取两点,如果函数图像在这两点之间的部分总在连接着两点的线段上方,则为凸函数。

凹函数:

简单理解为在函数图像上任取两点,如果函数图像在这两点之间的部分总在连接这两点的线段的下方,则为凹函数。

最优化模型的分类:

最优化模型分类方法有很多,可按变量、约束条件、目标函数个数、目标函数和约束条件的是否线性,是否依赖时间等分类。

根据约束条件来分类。首先最优化问题通常是带约束条件,比如对旅行路线的选择,总花费和出发、到达时间就构成了约束条件;对买房子的选择,离公司的路程、总价也可能构成约束条件。我们选择的最优解也必须满足这些约束条件。

最优化问题根据约束条件的不同主要分为三类:

   无约束优化

   等式约束的优化

   不等式约束的优化

无约束优化问题:

无约束最优化的求解方法主要有解析法直接法

无约束优化常表示为:

直接方法费马定理(Fermat), 即使用求取函数f(x)的导数,然后令其为零, 可以求得候选最优值。再在这些候选值中验证,如果是凸函数,可以保证是最优解。

解析法,是根据无约束最优化问题的目标函数的解析表达式给出一种求最优解的方法,主要有梯度下降法,牛顿法等。

无约束优化的应用:

当下最常用的无约束优化方法为梯度下降法。在机器学习算法中应用到梯度下降方法进行优化的主要算法有:线性回归,逻辑回归,神经网络等。

梯度下降常用的方法有三种:

批量梯度下降(BGD):每次更新使用所有的训练数据,最小化损失函数,如果只有一个极小值,那么批量梯度下降是考虑了训练集所有数据,是朝着最小值迭代方向运动的,但如果样本数量过多,更新速度会很慢。

随机梯度下降(SGD):每次更新的时候只考虑了一个样本点,这样会大大加快训练数据,也恰好是BGD的缺点。但是有可能陷入局部最优,不一定是朝着极小值方向更新,且SGD对噪声也更加敏感。

小批量梯度下降(MBGD):MBGD解决了批量梯度下降法的训练速度慢问题,以及随机梯度下降法的准确对噪声敏感的问题。

https://www.zhihu.com/question/36301367 梯度下降

等式约束的优化问题:

等式约束的优化问题,可以写为:

                                                   min f(x)

                                                   s.t. h_k(x)=0 k=1,2,…,k

上式中s.t. 指 “subject to”意思是“受限于”、“受某某约束”。 求f(x)的极小值,但x的取值必须满足k个h(x)等式。自变量x被限定在一个可行域内,在这个可行域内不一定存在着一个x令f(x)的导数或梯度等于0。

主要的解决方法:

消元法 :将许多关系式中的若干个元素通过有限次的变换,消去其中的某些元素。例如:带入消元,加减消元等

拉格朗日乘子法:首先要求解的是最小化的问题,所以如果能够构造一个函数,使得该函数在可行解区域内与原目标函数完全一致,而在可行解区域外的数值非常大,那么这个没有约束条件的新目标函数的优化问题就是原来约束条件的原始目标函数的优化问题是等价的问题。使用拉格朗日方程的目的:将约束条件放到目标函数中,从而将有约束优化问题转换为无约束优化问题。

带约束的原始目标函数转换为无约束的新构造的拉格朗日目标函数:

 其中λ_k是各个约束条件的待定系数(拉格朗日乘子)且λ_k大于等于0,是我们构造新目标函数是引入的系数变量。

拉格朗日乘子法常常会结合拉格朗日对偶法将不易求解的优化问题转化为易求解的优化。

【机器学习6】python实现拉格朗日乘子法_pycharm实现拉格朗日乘子法-CSDN博客

不等式约束的优化问题:

对于不等式约束的优化,可以写为:

主要通过KKT条件(Karush-Kuhn-Tucker Condition)将其转化成无约束优化问题求解。 

KKT三条件:

条件1:拉格朗日乘子(λ)求导为0的条件

条件2:h_j (x)=0,(j=1,2,…,m)

条件3: λ g_i(x)=0,(i=1,2,…,m),λ≥0

https://www.sohu.com/a/196838208_99916544  KKT条件举例

 小结:

最优化问题无约束直接法求导,导数等于0
梯度下降随机梯度下降
批量梯度下降
小批量梯度下降
等式约束消元法
拉格朗日乘子法
不等式约束KKT(必须是凸函数)

这篇关于机器学习——最优化模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/864812

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验