机器学习常见的优化算法

zhibei zhibei     2022-12-25     770

关键词:

1、梯度下降法

梯度下降法是最早最简单的,也是最为常用的最优化算法。梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解。一般情况下,其解不保证是全局最优解,梯度下降法的速度未必是最快的。梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为“最速下降法”。最速下降法越接近目标值,步长越小,前进越慢。

在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随即梯度下降法和批量梯度下降法。

批量梯度下降:最小化所有训练样本的损失函数,使得最终求解的是全局的最优解,即求解的参数是使得风险函数最小,但是对于大规模样本问题效率低下。

随机梯度下降法:最小化每条样本的损失函数,虽然不是每次迭代得到的损失函数都向着全局最优方向,但是大的整体的方向是向着全局最优解,最终的结果往往是在全局最优解附近,使用于大规模训练样本情况。

2、牛顿和拟牛顿法

从本质上去看,牛顿法是二阶收敛,梯度下降是一阶收敛所以牛顿法更快。如果更通俗得到说的话,比如你想找一条最短的路径走到一个盆地的最底部,梯度下降法每次只从你当前的位置选一个坡度最大的方向走一步,牛牛顿法在选择方向时,不仅会考虑坡度是否足够大,还会考虑你走了一步之后,坡度是否会变得更大。所以,可以说是牛顿法比梯度下降法看的更远一点,能更快地走到最底部。

优点:二阶收敛,收敛速度更快;

缺点:牛顿法是一种迭代算法,每一步都需要求解目标函数的hessian矩阵的逆矩阵,计算比较复杂。

拟牛顿法

拟牛顿法的基本思想是改善牛顿法每次需要求解复杂的Hessian矩阵的逆矩阵的缺点,它使用正定矩阵来近似Hessian矩阵的逆,从而简化了运算的复杂度。拟牛顿法和最速下降法一样只要每一步迭代时知道目标函数的梯度。通过测量梯度的变化,构造一个目标函数的模型使之足以产生超线性收敛性。这类方法大大优与最速下降法,尤其对于困难的问题,另外,因为拟牛顿法不需要二阶倒数的信息,所以有时比牛顿法更为有效。如今,优化软件中包含了大量的拟牛顿算法用来解决无约束,约束,和大规模的优化问题。

3、共轭梯度法

共轭梯度法是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点,共轭梯度法不仅是解决大型线性方程组最有用的方法之一,也是解决大型非线性最优化最有效的算法之一。在各种优化算法中,共轭梯度法是非常重要的一种。其优点是所需存储量小,具有步收敛性,稳定性高,而且不需要任何外来参数。

4、启发式优化方法

启发式方法是指人在解决优化问题时所采取的一种根据经验规则进行发现的方法。其特点是在解决问题时,利用过去的经验,选择已经行之有效的方法,而不是系统地、以确定的步骤去寻求答案。启发式优化方法种类繁多,包括经典的模拟退火方法,遗传算法、蚁群算法以及粒子群算法等等。

还有一种特殊的优化算法被称之多目标优化算法,它主要针对同时优化多个目标(两个及两个以上)的优化问题,这方面比较经典的算法有NSGAII算法、MOEA/D算法以及人工免疫算法等。

5、EM算法

EM算法是一类算法的总称。EM算法分为E-step和M-step两步。EM算法的应用范围很广,基本机器学习需要迭代优化参数的模型在优化时都可以使用EM算法。

EM算法的思想和过程

E-step:E的全称是Exception,即期望的意思。E-step也是获取期望的过程。根据现有的模型,计算各个观测数据输入到模型中的结果。这个过程称为期望值计算过程,即E过程。

M-step:M的全称是Maximization,即最大化的意思。M-step也是期望最大化的过程。得到一轮期望值以后,重新计算模型参数,以最大化期望值。这个过程为最大化过程,即M过程。

最大化的意思是我们在使用这个模型时希望我们定义的函数能使得到的结果最大化,而结果越大越接近我们希望得到的结果。我们优化的目标也就是这些能得到最大值的函数。

常见的EM算法有:隐含马尔科夫模型的训练方法Baum-Welch算法;最大熵模型的训练方法GIS算法等。

EM算法结果

EM算法不一定能保证获得全局最优解,但如果我们优化的目标函数是一个凸函数,那么一定能保证得到全局最优解。否则可能获得局部最优解。因为如果优化的目标函数有多个峰值点,则如果优化到某个不是最高的峰值点处,则会无法再继续下去,这样获得的是局部最优解。

总结

EM算法只需要输入一些训练数据,同时定义一个最大化函数,接下来经过若干次迭代,就可以蓄念出我们需要的模型了

 

机器学习常见的优化算法

...”。最速下降法越接近目标值,步长越小,前进越慢。在机器学习中,基于基本的梯度下降法发展 查看详情

机器学习几种常见优化算法介绍(代码片段)

机器学习几种常见优化算法介绍https://blog.csdn.net/class_brick/article/details/78949145 1.梯度下降法(GradientDescent)2.牛顿法和拟牛顿法(Newton‘smethod& Quasi-NewtonMethods)3.共轭梯度法(ConjugateGradient)4.启发式优化方法 5 查看详情

几种常见的优化算法

...以建模成一种最优化模型进行求解,比如我们现在学习的机器学习算法 查看详情

[人工智能-深度学习-15]:神经网络基础-常见优化器optimizer及其算法-梯度下降法系列

...iWangWenBing/article/details/120589554目录第1章什么是优化算法1.1机器学习模型与优化算法在机器学习模型中的位置1.2什么是优化器1.3什么是优化算法1.4优化 查看详情

常见机器学习算法优缺点

1、线性模型形式简单、易于建模、很好的可解释性2、逻辑回归无需事先假设数据分布;可得到近似概率预测;对率函数任意阶可导的凸函数,许多数值优化算法都可直接用于求取最优解3、线性判别分析(LDA)当两类数据同先验... 查看详情

机器学习常见算法简单汇总

机器学习无疑是当前数据分析领域的一个热点内容。很多人在平时的工作中都或多或少会用到机器学习的算法。这里IT经理网为您总结一下常见的机器学习算法,以供您在工作和学习中参考。机器学习的算法很多。很多时候... 查看详情

机器学习算法(优化)之一:梯度下降算法随机梯度下降(应用于线性回归logistic回归等等)

本文介绍了机器学习中基本的优化算法—梯度下降算法和随机梯度下降算法,以及实际应用到线性回归、Logistic回归、矩阵分解推荐算法等ML中。梯度下降算法基本公式常见的符号说明和损失函数X :所有样本的特征向量组成的... 查看详情

人工智能基础:机器学习常见的算法介绍

今天给大家聊聊机器学习算法相关的知识,一起来看看吧!机器学习的算法主要包括监督学习、无监督学习、半监督学习、迁移学习、强化学习。监督学习监督学习是机器学习当中非常常见的一种机器学习类型,就是在已知输入... 查看详情

机器学习最常用优化之一——梯度下降优化算法综述

转自:http://www.dataguru.cn/article-10174-1.html梯度下降算法是机器学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法。几乎当前每一个先进的(state-of-the-art)机器学习库或者深度学习库都会包括梯度下降算法... 查看详情

机器学习优化算法之爬山算法小结

 简言    机器学习的项目,不可避免的需要补充一些优化算法,对于优化算法,爬山算法还是比较重要的.鉴于此,花了些时间仔细阅读了些爬山算法的paper.基于这些,做一些总结. 目录  1.爬山算法简单描述 ... 查看详情

机器学习中常见优化方法汇总(代码片段)

...d/mathematical_optimization/index.html#a-review-of-the-different-optimizers机器学习中数学优化专门用于解决寻找一个函数的最小值的问题。这里的函数被称为costfunction或者objectivefunction,或者energy:损失函数或者目标函数 查看详情

机器学习公开课笔记第五周之优化机器学习算法

一,提高机器学习算法准确度的方法当我们的机器学习算法不能准确预测我们测试数据时,我们可以尝试通过以下方法提高我们机器学习的算法准确度1),获得更多的训练样例2),减少特征数3),增加特征数4),增加多项式特征5)... 查看详情

361机器学习常见算法

K-近邻算法(KNearestNeighbors)参考:机器学习实战教程(一):K-近邻算法(史诗级干货长文)决策树算法(DecisionTree)参考:机器学习实战教程(二):决策树基础篇之让我们从相亲说起参考:机器学习实战教程(三):决策树... 查看详情

机器学习-4.开发流程算法基本认知

1.机器学习开发流程我们作为机器学习的开发工程师首先要明确自己学习的定位,也就是确定学习边界。大部分复杂模型的算法设计都是由算法工程师去做的,我们只需要:分析很多的数据;分析具体的业务;... 查看详情

机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

http://www.cnblogs.com/tornadomeet/p/3395593.html机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)   前言:  找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算... 查看详情

机器学习中最优化算法的脉络

 主要分为是否约束,搜索方向两个维度。 查看详情

机器学习中最优化算法的脉络

 主要分为是否约束,与搜索方向两个维度。 查看详情

8种常见机器学习算法比较

机器学习算法太多了,分类、回归、聚类、推荐、图像识别领域等等,要想找到一个合适算法真的不容易,所以在实际应用中,我们一般都是采用启发式学习方式来实验。通常最开始我们都会选择大家普遍认同的算法,诸如SVM,... 查看详情