自适应算法和学习算法的区别
来源:互联网 发布:matlab数据采集工具箱 编辑:程序博客网 时间:2024/05/17 23:53
自适应算法和学习算法的区别
自适应算法和学习算法有着非常相似的数学表达式,都是通
过优化决策参数去实现目标(如最大化效能,最小化误差),两
类算法都具备对不同环境的适应能力。然而这两类算法却有着本
质的区别,注意是本质的区别。
为了表述清楚自适应和学习算法的区别,可以引用一个简单
的生活例子,煮饭。首先我们先将这个问题表述为一个优化问题。
目标:软硬合适的米饭
环境:煮饭用的锅(锅有砂锅,铁锅,电饭锅,高压锅)
决策:添加多少水(假设每次放的米是一定的)
很明显,对于不同的锅,用水量肯定是不一样的,那么要煮
出软硬合适的米饭,我们可以分别用两种算法来实现。
自适应:不管现在用的是什么锅,我先大致按照估计添加一
定的水量,待饭煮好了以后,尝一下,发现硬了,第二次煮饭多
加些水,反之减少加水,只要每次的调整量足够小,经过多次尝
试,就能使得米饭软硬合适,那么这个就是最佳的用水量。假如
这个时候把锅换掉,最佳的水量肯定也变化了,所以按照上一次
所用锅的最佳水量煮出的饭,不一定软硬合适,不过没有关系,
可以继续调整,如果软了就再少些水,硬了就在多些水,多次调
整以后,就重新得到了最佳用水量。这样加水的决策就对不同的
锅过实现了自适应。
学习:在煮饭前,我需要确定当前给的是什么锅,假如是电
饭锅,然后最初也是按照估计用水量加水,同样可以是硬了多加
些水,软了少加些水,然后不断尝试。如果在调整的过程中换成
高压锅,对于学习者他会非常关注这个环境的变化,此时他会做
两件事情:1)记录下电饭锅加水量的尝试情况(如该记录可以
是:【电饭锅 ;1000mL 水;软硬程度:8 分软】 备以后使用;
2)然后查询自己的资料中是否有针对高压锅煮饭的尝试情况,
如果有那么就在这个资料的基础上继续尝试,没有就估计一个用
水量。随着环境的不断变化(不断的换锅)和不断的尝试,学习
者最终就会掌握各种锅所需的用水量,而使得饭的软硬合适。
相似点:1)两种算法都采用不断尝试用水量的方式实现目
标;2)两种算法对环境都有一定的适应能力,并且在一定条件下
都能够获得各种锅的最佳用水量
区别: 自适应算法虽然考虑了锅可能会发生变化,但是并
不去主动了解当前的到底是用了什么锅,而学习算法则非常关注
当前使用的 是哪一种锅,从而可以建立对应的资料库。
在两种算法都收敛后,对于自适应算法,如果换掉锅,那么
接下来又是一系列调整,直到用水量合适。而对于学习算法,一
查资料库,就能得到最佳的用水量。所以从这一点看,学习算法
才是真正学会了如何去煮饭,而自适应则只会机械的尝试。另外
自适应算法要达到收敛还有一个要求,就是换锅不能太频繁,假
如每次锅都会换掉,那么自适应算法则无法工作,因此对于自适
应算法需要保证一个相对稳定的环境。但是对于学习算法,只要
锅的数量是有限个,且学习者能够充分的做记录,那么锅怎么换
都没问题(包括学习阶段)。
自适应算法和学习算法有着非常相似的数学表达式,都是通
过优化决策参数去实现目标(如最大化效能,最小化误差),两
类算法都具备对不同环境的适应能力。然而这两类算法却有着本
质的区别,注意是本质的区别。
为了表述清楚自适应和学习算法的区别,可以引用一个简单
的生活例子,煮饭。首先我们先将这个问题表述为一个优化问题。
目标:软硬合适的米饭
环境:煮饭用的锅(锅有砂锅,铁锅,电饭锅,高压锅)
决策:添加多少水(假设每次放的米是一定的)
很明显,对于不同的锅,用水量肯定是不一样的,那么要煮
出软硬合适的米饭,我们可以分别用两种算法来实现。
自适应:不管现在用的是什么锅,我先大致按照估计添加一
定的水量,待饭煮好了以后,尝一下,发现硬了,第二次煮饭多
加些水,反之减少加水,只要每次的调整量足够小,经过多次尝
试,就能使得米饭软硬合适,那么这个就是最佳的用水量。假如
这个时候把锅换掉,最佳的水量肯定也变化了,所以按照上一次
所用锅的最佳水量煮出的饭,不一定软硬合适,不过没有关系,
可以继续调整,如果软了就再少些水,硬了就在多些水,多次调
整以后,就重新得到了最佳用水量。这样加水的决策就对不同的
锅过实现了自适应。
学习:在煮饭前,我需要确定当前给的是什么锅,假如是电
饭锅,然后最初也是按照估计用水量加水,同样可以是硬了多加
些水,软了少加些水,然后不断尝试。如果在调整的过程中换成
高压锅,对于学习者他会非常关注这个环境的变化,此时他会做
两件事情:1)记录下电饭锅加水量的尝试情况(如该记录可以
是:【电饭锅 ;1000mL 水;软硬程度:8 分软】 备以后使用;
2)然后查询自己的资料中是否有针对高压锅煮饭的尝试情况,
如果有那么就在这个资料的基础上继续尝试,没有就估计一个用
水量。随着环境的不断变化(不断的换锅)和不断的尝试,学习
者最终就会掌握各种锅所需的用水量,而使得饭的软硬合适。
相似点:1)两种算法都采用不断尝试用水量的方式实现目
标;2)两种算法对环境都有一定的适应能力,并且在一定条件下
都能够获得各种锅的最佳用水量
区别: 自适应算法虽然考虑了锅可能会发生变化,但是并
不去主动了解当前的到底是用了什么锅,而学习算法则非常关注
当前使用的 是哪一种锅,从而可以建立对应的资料库。
在两种算法都收敛后,对于自适应算法,如果换掉锅,那么
接下来又是一系列调整,直到用水量合适。而对于学习算法,一
查资料库,就能得到最佳的用水量。所以从这一点看,学习算法
才是真正学会了如何去煮饭,而自适应则只会机械的尝试。另外
自适应算法要达到收敛还有一个要求,就是换锅不能太频繁,假
如每次锅都会换掉,那么自适应算法则无法工作,因此对于自适
应算法需要保证一个相对稳定的环境。但是对于学习算法,只要
锅的数量是有限个,且学习者能够充分的做记录,那么锅怎么换
都没问题(包括学习阶段)。
0 0
- 自适应算法和学习算法的区别
- 机器学习算法的联系和区别
- RSA算法和DH算法的区别
- 自适应滤波算法的回音消除的学习
- 自适应算法
- 多变异位自适应遗传算法(MMAdapGA)的算法原理、算法步骤和matlab实现
- 【双11背后的技术】基于深度强化学习与自适应在线学习的搜索和推荐算法研究
- 算法和排序的区别
- 深度学习中sarsa算法和Q-learning算法的区别
- 自适应遗传算法学习1--crossover设计
- 自适应学习速率SGD优化算法
- 自适应学习速率SGD优化算法
- 沉迷系列-教育自适应学习算法
- 自适应学习率算法.基于阿米霍步长准则的线性回溯搜索算法
- 运动跟踪之均值漂移(MeanShift)算法和Camshift算法(连续自适应的MeanShift)
- 递归算法和非递归算法的区别和转换
- 自适应滤波器及LMS自适应算法的理解
- 动态规划算法和贪婪算法的区别
- html中onclick事件汇总
- Java面试问题和答案(四)
- Android开发--WIFI实现
- iOS - id && Object Messaging 深入讲解
- 让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法
- 自适应算法和学习算法的区别
- Ubuntu下虚拟机两种上网方式的设置:NAT和桥接方式
- 使用JDK开发WebService
- Magento 使用手机号注册登录
- Makefile foreach
- Machine Learning机器学习自学资料整理
- FPGA面试题
- OpenGL帧缓存对象(FBO:Frame Buffer Object)
- 实战Unity3D开发:从认识界面到游戏demo