5、gorithm),人工神经网络(ArtificialNeuralNetwork),禁忌搜索(TabuSearch)相继出现。最近比较火热的:演化算法(EvolutionaryAlgorithm),蚁群算法(AntAlgorithms),拟人拟物算法,量子算法等。二、启发式算法类型1、类型简介大部分的算法都是仿生演变而来,如下:仿动物类的算法:粒子群优化,蚁群算法,鱼群算法,蜂群算法等;仿植物类的算法:向光性算法,杂草优化算法等;仿人类的算法有:遗传基因算法,和声搜索算法,神经网络;以及其他的理论成熟并被广泛使用的算法如:模拟退火算法、禁忌搜索等等、粒子群算法粒子群
6、优化算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优解.粒子群算法源于复杂适应系统(ComplexAdaptiveSystem,CAS)。CAS理论于1994年正式提出,CAS中的成员称为主体。比如研究鸟群系统,每个鸟在这个系统中就称为主体。主体有适应性,它能够与环境及其他的主体进行交流,并且根据交流的过程“学习”或“积累经验”改变自身结构与行为。整个系统的演变或进化包括:新层次的产生(小鸟的出生);分化和多样性的出现(鸟群中的鸟分成许多小的群);新的主题的出现(鸟寻找食物过程中,不断发现新的食物)。设想这样一个场景:一群鸟在随机的搜索食物。在这个区域里只有一块食物,
10、和非冗长性H个原则,完备性是指问题空间中的所有点都能成为GA编码空间中点的表现型;健全性是指GA编码空间中染色体必须对应问题空间中的某一潜在解;非冗长性是指染色体和潜在解必须一一对应PS1。对于一个特定的问题,如何设计出一种高效的编码方式是遗传算法所面临的难题之一,遗憾的是,研究者们至今也没能找到一种通用的编码策略。目前,工程优化中多米用两种常用的编码方式,即二进制编码Psi和实数编码PD1。二进制编码的染色体是由一个二值集合0,1所组成的二进制符号串。作为GA算法的标准编码方式,该编码方式尤其适用于能用二值向量描述的优化问题,如化学反应P11、多用途过程规划P3和最优水流参数评估Psi
11、等;实数编码是指个体的每个基因值用某一范围的一个浮点数表示,个体的编码长度等于其决策变量(设计变量)的个数。这种编码方式适用于精度要求较高的遗传算法中,便于较大空间的遗传搜索:改善了遗传算法的计算复杂性,提高了运算效率;便于遗传算法和经典优化算法的混合使用:目前基于实数编码的遗传算法也被广泛用于优化问题中,如多目标优化IW,凸轮轮廓设汁等。2)选择操作。选择是指从群体中选择优良的个体并淘汰劣质个体的操作。它建立在适应度评估的基础上,遼应度楚大的个体,被选择的可能性就越大,它的吁孙"在下一代的个数就越多。选择出来的个体被放入配对库中。目前常用的选择方法有轮盘赌方法、最佳个体保留法
13、为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。模拟退火算法新解的产生和接受可分为如下四个步骤:第一步是由一个产生函数从当前解产生一个位于解空间的新解;为便于后续的计算和接受,减少算法耗时,通常选择由当前新解经过简单地变换即可产生新解的方法,如对构成新解的全部或部分元素进行置换、互换等,注意到产生新解的变换方法决定了当前新解的邻域结构,因而对冷却进度表的选取有一定的影响。第二步是计算与新解所对应的目标函数差。因为目标函数差仅由变换部分产生,所以目标函数差的计算最好按增量计算。事实表明,对大多数应用而言,这是计算目标函数差的最快方
15、I收敛于全局最优解的全局优化算法;模拟退火算法具有并行性。2、设计良好的启发式算法上述的启发式算法都有一个共同的特点:从随机的可行初始解出发,才用迭代改进的策略,去逼近问题的最优解。他们的基本要素:1)随机初始可行解;2)给定一个评价函数(常常与目标函数值有关);3)邻域,产生新的可行解;4)选择和接受解得准则;5)终止准则。但在启发式算法中,局部最优值的陷入是无法避免。启发式,本质上是一种贪心策略,这也在客观上决定了不符合贪心规则的更好(或者最优)解会错过。那么如何避免陷入局部最优呢?随机。具体实现手段上,可以根据所采用的启发式框架来灵活地加入随机性。比如遗传里面,可以在交叉变异时,
16、可以在控制人口策略中,也可以在选择父本母本样本时;禁忌里面,可以在禁忌表的长度上体现,也可以在解禁策略中使用,等等。这些都要结合具体问题特定的算例集,需要反复尝试摸索才行。参数的敏感性是一个问题,建议不要超过3个参数,参数越不敏感越好。不同算例集用不同种子运行多次(100次左右才有统计意义),统计平均性能即可。需注意全局的随机重启通常来说不是一个好办法,因为等于主动放弃之前搜索结果,万不得已不要用,或者就是不用。三个原则应该把握:越随机越好;越不随机越好;二者平衡最好。越随机越好没有随机性,一定会陷入局部最优。为了获得更大的找到最优解的期望,算法中一定要有足够的随机性。具体体现为鲁棒性
17、较好,搜索时多样性较好。算法的每一步选择都可以考虑加入随机性,但要控制好概率。比如,某个贪心策略下,是以概率1做某一动作,可以考虑将其改为以概率0.999做之前的操作,以剩余概率做其他操作。具体参数设置需调试。越不随机越好随机性往往是对问题内在规律的一种妥协。即没有找到其内在规律,又不知道如何是好,为了获得更好的多样性,逼不得已加入随机。因此,对给定问题的深入研究才是根本:分辨出哪些时候,某个动作就是客观上能严格保证最优的一一这点至关重要,直接决定了算法性能。最好的算法一定是和问题结构紧密相连的,范范地套用某个启发式的框架不会有出色的性能。当然,如果不是追求性能至上,而是考虑到开发效率
18、实现成本这些额外因素,则另当别论。二者平衡最好通常情况下,做好第一点,可以略微改善算法性能;做好第二点,有希望给算法带来质的提高。而二者调和后的平衡则会带来质的飞跃。贪心是“自强不息”的精进,不放过任何改进算法的机会;多样性的随机是“厚德载物”的一分包容,给那些目前看似不那么好的解一些机会。调和好二者,不偏颇任何一方才能使算法有出色的性能。要把握这种平衡,非一朝一夕之功,只能在反复试验反思中去细细品味。三、本领域应用:基于深度神经网络的自然语言情感分析1.深度神经网络神经网络领域最早是由心理学家和神经学家开创的,旨在开发和测试神经的计算机模拟。粗略地说,神经网络是一组连接的输入/输出单
20、神经网络算法是固有并行的,可以使用并行技术来加快计算过程。有许多不同类型的神经网络和神经网络算法,最流行的神经网络算法是后向传播,它在20世纪80年代就获得了声望。图1神经网络结构图上图描述的是一个目前研究最为成熟Shallow结构的神经网络(只含有单层隐藏层神经元的结构)。第一层为输入层(inputlayer),第二层称为隐藏层(hiddenlayer),最后一层为输出层(outputlayer)。神经元之间都是由低层出发,终止于高层神经元的一条有向边进行连接,每条边都有自己的权重。每个神经元都是一个计算单元,如在Feed-forwardneuralnetwork中,除输
21、入层神经元外,每个神经元为一个计算单元,可以通过一个计算函数f(x)来表示,函数的具体形式可以自己定义,现在用的较多的是感知器计算神经元,如果你对感知器有所了解的话,理解起来会容易很多。可以计算此时神经元所具有的能量值,当该值超过一定阀值的时候神经元的状态就会发生改变,神经元只有两种状态,激活或未激活。在实际的人工神经网络中,一般是用一种概率的方式去表示神经元是否处于激活状态,可以用h(f)来表示,f代表神经元的能量值,h(f)代表该能量值使得神经元的状态发生改变的概率有多大,能量值越大,处于激活状态的概率就越高。到这部分你已经接触到了关于神经网络的几个基本术语,下面用更加规范的符号来表示
22、,神经元的激活值(activations)f(x),表示计算神经元的能量值,神经元的激活状态h(f),h表示激活函数。激活函数有好几种形式,这里列举两种如下:f")=上佃城耳一訐十訂深度神经网络有三个主要环节:第一,用无监督方式训练系统,即用大量未标注样本逐层提炼,无导向自动形成特征。这一过程类似于人通过眼、耳等感官系统接收图像、声音信息后,自动在脑中形成不同类别信息印象。第二,调准。这一过程用一些己标注样本对特征分类,并根据分类结果进一步调整系统参数,优化系统在区分不同类别信息上的性能。第三,测试,用系统未见识过的样本数据检验系统学习效果,例如样本正确分类率、质量评估与主观
23、评估关联度等。2自然语言处理之情感分析在自然语言处理领域中,其中一个重要的子研究模块为情感分析。情感分析,也称为观点挖掘,指的是分析说话者在传达信息时所隐含的情况状态、态度、意见进行判断或者评估。目前,情感分析的主要研究方法还是一些基于机器学习的传统算法,例如,SVM、信息熵、CRF等。这些方法归纳起来有3类:有监督学习、无监督学习和半监督学习。而当前大多数基于有监督学习的研究取得了不错的成绩。但有监督学习依赖于大量人工标注的数据,而且由于人的主观理解不同,样本标注的标注很难确立,也很难保证标注样本的质量。相反的,无监督学习不需要人工标注数据训练模型,降低标注的代价。3.深度神经
25、哀、嫉妒等。而篇章的每个句子的情感倾向性可能不同,因此本文提出的研究方案是使用深度学习中的卷积神经网络(ConvolutionalNeuralNetworks,CNN)避免显式特征提取,而隐式地从训练数据中进行学习。4.CNN模型情感分类过程现采用卷积神经网络CNN进行情感分析的分类器训练。卷积神经网络是一个多层的神经网络,每层都是一个变换(映射),常用卷积convention变换和pooling池化变换,每种变换都是对输入数据的一种处理,是输入特征的另一种特征表达;CNN网络结构主要由三部分组成:输人层、隐层和输出层。隐层主要分为2类:(1)卷积层,用于提取特征;(2)下采样层,用于特征优化选取。图2所示为卷积神经网络用于对训练样本进行卷积的工作流程。im輕圈机逊农粗忙绘化-图2卷积网络工作流程给定一个微博短文本句子,ChrSeCNN为每个情感标签计算分值tT,为了计算每一个短文本句子的分值,该网络将每个汉字在句子中的序列作为输入,并通过一个序列的层,抽取出特征。该网络抽取的特征是从汉字级到句子级进行抽取。文中提出的神经网络主要包