这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » FPGA学习——机器学习的几种算法总结

共1条 1/1 1 跳转至

FPGA学习——机器学习的几种算法总结

菜鸟
2014-10-15 21:57:48     打赏
FPGA学习之机器学习的几种算法总结

机器学习是AI领域的重要一门学科。前面我描述过,我计划从事的方向是视觉相关的机器学习分类识别,所以可能在每个算法的分析中,只加入在视频,视觉领域的作用。

我毛华望849886241。技术博客http://blog.csdn.net/my_share

SA算法,Fea-G算法,DANOVA算法,SOA算法,Shooting算法。这个是从网页中,百度说他们特有的算法。

Fea-G算法,DANOVA算法,SOA算法,没有任何资料。

shooting算法,叫射门算法(百度和必应的结果)。但是射门算法,并不是机器学习算法。可能是百度自己创建的算法,命名重名了而已,或者是改进,所以并没有公开所以没有任何资料。但是我还是解释一下,所说的射门算法的意思。射门算法,无论是百度还是论文都是设计到机器人足球比赛的。这个真的是射门算法。

机器人在R点,球在B点。那最好的射门算法就是,计算出0点,然后运行机器人行走路线为弧C。然后射门AG路线。这个就是射门算法。和机器学习无关。所以实际应该不是这个。

SA算法,也叫退火算法。和梯度下降法的意义是一样的。就是一种逼近模型。其实是一种2个函数逼近算法。其中一个函数,可能是离散的点,或者是半截函数,这是目标函数。我现在就用一个函数去逼近那个函数,两个函数之间的误差,到某个程度就逼近完成了。为了保证有比较优的解,算法往往采取慢降温、多抽样、以及把“终止温度”设的比较低等方式,导致算法运行时间比较长,但是从查找到的资料来看,它可以改进神经网络,神经网络是重要的一种图像识别方法。所以有必要对这方向做详细的了解分析。

局部搜索,模拟退火,遗传算法,禁忌搜索的形象比喻: 为了找出地球上最高的山,一群有志气的兔子们开始想办法。 


    1.兔子朝着比现在高的地方跳去。他们找到了不远处的最高山峰。但是这座山不一定是珠穆朗玛峰。这就是局部搜索,它不能保证局部最优值就是全局最优值。 

    2.兔子喝醉了。他随机地跳了很长时间。这期间,它可能走向高处,也可能踏入平地。但是,他渐渐清醒了并朝最高方向跳去。这就是模拟退火。 

    3.兔子们吃了失忆药片,并被发射到太空,然后随机落到了地球上的某些地方。他们不知道自己的使命是什么。但是,如果你过几年就杀死一部分海拔低的兔子,多产的兔子们自己就会找到珠穆朗玛峰。这就是遗传算法。 4.兔子们知道一个兔的力量是渺小的。他们互相转告着,哪里的山已经找过,并且找过的每一座山他们都留下一只兔子做记号。他们制定了下一步去哪里寻找的策略。这就是禁忌搜索。 梯度下降法,它和SA算法作用是一样的。只是有一些改进上的变化。梯度下降法,它是神经网络中的一部分嘛。其实从其他的资料显示,用退火算法来改进神经网络会更好。我大概说下梯度下降法,梯度是最快的下降角度。比如你想找一条最短的路径走到一个盆地的最底部,梯度下降法每次只从你当前所处位置选一个坡度最大的方向走一步,牛顿法在选择方向时,不仅会考虑坡度是否够大,还会考虑你走了一步之后,坡度是否会变得更大。所以,可以说牛顿法比梯度下降法看得更远一点,能更快地走到最底部。
       遗传算法,遗传算法好像比较复杂一些,从性能角度上说,它好像是可以很容易的收敛到全局最小值,而不受局部最小值影响。缺点是,遗传算法通常的效率比其他传统的优化方法低。遗传算法容易过早收敛。遗传算法对算法的精度、可行度、计算复杂性等方面,还没有有效的定量分析方法。 禁忌算法,半启发式算法,前面那些都是启发式算法。小兔子的比喻已经能够理解一部分了,我在说点,其实这几种都是一样的作用,都是逼近模型。禁忌算法里面有一个表,也就是记录兔子在哪个山峰上。当然这个表是有限的,就是通过选最高的,在选最高的来找到最高点。也叫“tabu搜索算法”。从目前了解的情况来看,好像没有找到优点和缺点。看来需要了解的更多。应该有比较新的缘故吧。 A星算法,对于这个算法我看了看好像也没有了解什么。可是从我查到的信息来看,好像和人工智能没什么关系。好像叫弱人工智能。但是它也是启发式搜索算法里面的一种。在查找资料的时候,好像很少和人工智能有关。所以不做深入了解了。有这么一个概念就好了。 

       蚁群算法,蚁群算法具有如下一些优点:①通用性较强,能够解决很多可以转换为连通图结构的路径优化问题;②同时具有正负反馈的特点,通过正反馈特点利用局部解构造全局解,通过负反馈特点也就是信息素的挥发来避免算法陷入局部最优;③有间接通讯和自组织的特点,蚂蚁之间并没有直接联系,而是通过路径上的信息素来进行间接的信息传递,自组织性使得群体的力量能够解决问题。但是,基本蚁群算法也存在一些缺点:①从蚁群算法的复杂度来看,该算法与其他算法相比,所需要的搜索时间较长;②该算法在搜索进行到一定程度以后,容易出现所有蚂蚁所发现的解完全一致这种“停滞现象”,使得搜索空间受到限制。从文字里面了解,好像蚁群算法还是挺复杂的。比较新,性能好像也可以,值得深入了解。所以我准备花时间去了解蚁群算法。http://blog.163.com/ykn_2010/blog/static/1420333362012111411258466/。原来蚁群算法就可以构成一本书。看来内容比较多呀。 

       粒子群算法,PSO 算法属于进化算法的一种,和模拟退火算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。粒子群算法是一种并行算法。百度百科里面是这么描述的。粒子群算法也有专门的教程。10年出版。从整体描述看来,它好像是更新的,也是前面退火算法的升级版。根据华中科技大学硕士论文http://www.doc88.com/p-371141950562.html对粒子群算法的介绍,用于函数优化,神经网络训练,模糊系统控制等。看来,也是神经网络中的一部分。可能需要深入了解一下。 

       贪心算法,(开始)所以需要说明的是,贪心算法可以与随机化算法一起使用,具体的例子就不再多举了。其实很多的智能算法(也叫启发式算法),本质上就是贪心算法和随机化算法结合——这样的算法结果虽然也是局部最优解,但是比单纯的贪心算法更靠近了最优解。例如遗传算法,模拟退火算法(结束)(百度百科里面的)。这句话说明遗传算法,退火算法是一种贪心算法和随机化算法的结合。(开始)值得注意的是,贪心算法并不是完全不可以使用,贪心策略一旦经过证明成立后,它就是一种高效的算法。贪心算法还是很常见的算法之一,这是由于它简单易行,构造贪心策略不是很困难(结束)(百度百科里面的)。从整体了解来看,贪心算法缺点很多,好像和人工智能机器学习没有多少关系。贪心算法中,仅在当前状态下作出最好选择,即局部最优选择。然后在局部最优,怎么感觉和分类决策树差不多呢??但是它不是分类过程。pass。 文化算法,2002年David提出基于GP的双文化算法框架。此外他们还将文化算法用于图像分割、动态优化问题、数据挖掘等。http://wenku.baidu.com/view/136a56b369dc5022aaea0096.html这个文章里面有写到,1995年,利用文化算法,求解全局优化问题,并取得良好结果。双文化算法框架,用于图像分割和数据挖掘。http://wenku.baidu.com/view/03f03dd249649b6648d7477d.html我查看了很多资料,最终也没有了解出,文化算法的优缺点,用在什么地方等信息。但是从整体结构来看,好像比较特别。可能会在关注一下。 KMP算法,是一种模式匹配算法,没有了解到它和机器学习的联系。不过匹配功能好像是需要用到。考虑到KMP算法没有连用资料,所以暂时不考虑深入了解。 

(转载自it165)





关键词: FPGA     机器学习    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]