您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 期末大报告-201210405116-敖敏-计科121
人工智能及其应用结课报告课程名称:人工智能及其应用论文名称:机器学习学院:信息工程与自动化学院专业:计算机科学与技术年级:2012姓名:敖敏姓名:2012104051161.机器学习定义:机器学习是继专家系统之后人工智能应用的又一重要研究领域。按照人工智能大师西蒙的观点,学习就是系统在不断重复的工作中对本身能力的增强或者改进,使得系统在下一次执行同样任务或类似任务时,会比现在做得更好或效率更高。2.机器学习发展史:机器学习是人工智能应用研究较为重要的分支,它的发展过程大体上可分为4个时期:1.第一阶段是在50年代中叶到60年代中叶,属于热烈时期。2.第二阶段在60年代中叶至70年代中叶,被称为机器学习的冷静时期。3.第三阶段从70年代中叶至80年代中叶,称为复兴时期。4.机器学习的最新阶段始于1986年。一方面,由于神经网络研究的重新兴起,另一方面,对实验研究和应用研究得到前所未有的重视。3.机器学习(MachineLearning):(1)Linearregression(线性回归)(2)Perceptron(感知机)(3)ANN(人工神经网络)4.线性回归%Exercise2LinearRegression.%xreferstoaboy'sage,yisaboy'sheightinmetersclearall;closeall;clcx=load('ex2x.dat');y=load('ex2y.dat');//取测数据,赋值给xxm=length(y);%numberoftrainingexamples//保存测试数据7条%Plotthetrainingdatafigure;%openanewfigurewindowplot(x,y,'o');//画出数据据点ylabel('Heightinmeters');//百平方米xlabel('Ageinyears');//年限%Gradientdescentx=[ones(m,1)x];%Addacolumnofonestoxtheta=zeros(size(x(1,:)))';%initializefittingparametersMAX_ITR=1500;alpha=0.07;fornum_iterations=1:MAX_ITR//进行迭代%Thisisavectorizedversionofthegradientdescentupdateformula.%It'salsofinetousethesummationformulafromthevideos%Hereisthegradientgrad=(1/m).*x'*((x*theta)-y);//求梯度%Hereistheactualupdatetheta=theta-alpha.*grad;//结算出最终打印值end%Plotthelinearfitplot(x(:,2),x*theta,'-')legend('Trainingdata','Linearregression')%Predictvaluesforage3.5and7predict1=[1,3.5]*thetapredict2=[1,7]*theta1.基本结构图1表示学习系统的基本结构:图1学习系统的基本结构通过对这个简单模型的讨论,总结出设计学习环境向系统的学习部分提供某些信息,学习部分利用这些信息修改知识库,以增进系统执行部分完成任务的效能,执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分。在具体的应用中,环境,知识库和执行部分决定了具体的工作内容,学习部分所需要解决的问题完全由上述3部分确定。5.感知机通过一元神经和二元神经神经元特点:信息(生物电)整合/累加;兴奋和抑制(阈值/连接权);结构可塑性:指传递作用可随环境变化可强可弱。二.人工神经元(感知机)感知机的学习算法权向量和阈值函数F的形式阈值型双极型Sigmoid型(是一个连续函数)权值w的调整算法t=0(t为迭代次数),为Wi,赋初始值(任意);求输出h=f(WTX-θ);E=h-y(d是期望输出值,y是训练集中对应X的实际输出值,这里E就是之间讲的成本函数J(θ));如果E=0,权值、阈值不更新,否则求新的权值和阈值;否则,Wi(t+1)=Wi(t)-α*(h-y)*xit=t+1(迭代次数增1);重复2-6步,直到对所有的输出(样本),都与输出一致(收敛Convergence)感知机代码实现functionperceptrondemoclcfigure(1)clfpos=randn(10,1)*.5+2;neg=randn(10,1)*.4+5;xpos=[sin(pos)cos(pos)ones(size(pos))];xneg=[sin(neg)cos(neg)ones(size(neg))];xs=[xpos;xneg];ys=[ones(size(pos));-ones(size(neg))];perm=randperm(20);xs=xs(perm,:);ys=ys(perm);w=-[1.31.95.5]';alpha=0.5;forj=1:1fori=1:length(xs)oldw=w;ex=xs(i,:)y=sign(ex*w)d=ys(i)if(d~=y)w=w+alpha*(d-y)*ex';endsubplot(1,2,1);plot(xpos(:,1),xpos(:,2),'go',xneg(:,1),xneg(:,2),'rx','LineWidth',2,'MarkerSize',10)holdonplot(ex(1),ex(2),'bs','MarkerSize',20);title(['第'num2str((j-1)*20+i)'次迭代,对样本点('num2str(ex(1))'',num2str(ex(2))')进行计算'],'FontSize',13);h=drawline(oldw,3);h=drawline(w,3);set(h,'LineWidth',3,'Color','r');axisequalaxis([-1.11.1-1.11.1]);plot(0,0,'k+','LineWidth',2,'MarkerSize',3);holdoffsubplot(1,2,2);plot(oldw(1),oldw(2),'bo','LineWidth',2,'MarkerSize',10)holdonline([oldw(1)w(1)],[oldw(2)w(2)]);title(['W=['num2str(w(1))'',num2str(w(2))'',num2str(w(3))']'],'FontSize',13);axisequalaxis([-33-33]);plot(0,0,'k+','LineWidth',2,'MarkerSize',3);holdoffpauseendend运行结果人工神经网络人工神经网络原理x1~xn是从其他神经元传来的输入信号wij表示表示从神经元j到神经元i的连接权值θ表示一个阈值(threshold)则神经元i的输出与输入的关系表示为:yi表示神经元i的输出,函数f称为激活函数net称为净激活(netactivation)神经元的输出可以表示为向量相乘的形式:阈值函数(ThresholdFunction)S形函数(SigmoidFunction)前馈神经网络前馈网络也称前向网络。这种网络只在训练过程会有反馈信号,而在分类过程中数据只能向前传送,直到到达输出层,层间没有向后的反馈信号,因此被称为前馈网络。感知机(perceptron)与BP神经网络就属于前馈网络。下图是一个3层的前馈神经网络,其中第一层是输入单元,第二层称为隐含层,第三层称为输出层(输入单元不是神经元,因此图中有2层神经元)对于一个3层的前馈神经网络N,若用X表示网络的输入向量,W1~W3表示网络各层的连接权向量,F1~F3表示神经网络3层的激活函数。那么神经网络的第一层神经元的输出为:O1=F1(XW1)第二层的输出为:O2=F2(F1(XW1)W2)输出层的输出为:O3=F3(F2(F1(XW1)W2)W3)反馈神经网络反馈型神经网络是一种从输出到输入具有反馈连接的神经网络,其结构比前馈网络要复杂得多。典型的反馈型神经网络有:Elman网络和Hopfield网络。神经网络工作方式网络的学习主要是指使用学习算法来调整神经元间的联接权,使得网络输出更符合实际。学习算法分为有导师学习(SupervisedLearning)无导师学习(UnsupervisedLearning)有导师学习算法将一组训练集(trainingset)送入网络,根据网络的实际输出与期望输出间的差别来调整连接权。主要步骤包括:1)从样本集合中取一个样本(Xi,Yi);2)计算网络的输出h;3)求E=h-y;4)根据E调整权矩阵W;5)对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。BP算法就是一种出色的有导师学习算法使用Matlab实现神经网络使用Matlab建立前馈神经网络主要会使用到下面3个函数:newff:前馈网络创建函数train:训练一个神经网络sim:使用网络进行仿真newff函数参数列表有很多的可选参数,具体可以参考Matlab的帮助文档,这里介绍newff函数的一种简单的形式。语法:net=newff(A,B,{C},‘trainFun’)参数:A:一个n×2的矩阵,第i行元素为输入信号xi的最小值和最大值;B:一个k维行向量,其元素为网络中各层节点数;C:一个k维字符串行向量,每一分量为对应层神经元的激活函数;trainFun:为学习规则采用的训练算法。常见的训练函数traingd:梯度下降BP训练函数(Gradientdescentbackpropagation)traingdx:梯度下降自适应学习率训练函数网络配置参数一些重要的网络配置参数如下:net.trainparam.goal:神经网络训练的目标误差net.trainparam.show:显示中间结果的周期net.trainparam.epochs:最大迭代次数net.trainParam.lr:学习率网络训练学习函数。语法:[net,tr,Y1,E]=train(net,X,Y)参数:X:网络实际输入Y:网络应有输出tr:训练跟踪信息Y1:网络实际输出E:误差矩阵sim函数语法:Y=sim(net,X)参数:net:网络X:输入给网络的K×N矩阵,其中K为网络输入个数,N为数据样本数Y:输出矩阵Q×N,其中Q为网络输出个数2、数据化简Lenat,HayesRoth,和Klahr等人于1979年关于机械学习提出一种有趣的观点。他们指出,可以把机械学习看成是数据化简分级中的第一级。数据化简与计算机语言编译类似;其目的是把原始信息变成可执行的信息。图2数据化简级别图归纳学习:给定:(1)观察陈述(事实)F,用以表示有关某些对象、状态、过程等的特定知识;(2)假定的初始归纳断言(可能为空);(3)背景知识,用于定义有关观察陈述、候选归纳断言以及任何相关问题领域知识、假设和约束,其中包括能够刻画所求归纳断言的性质的优先准则。假设H永真蕴涵事实F,说明F是H的逻辑推理,则有:H|F(读作H特殊化为F)或F|H(读作F一般化或消解为H)这里,从H推导F是演绎推理,因此是保真的;而从事实F推导出假设H是归纳推理,因此不是保真的,而是保假的。归纳学习系统的模型如图3所示。图3归纳学习系统模型实验规划过程通过对实例空间的搜索完成实例选择,并将这些选中的活跃实例提交解释过程。解释过程对实例加以适当转换,把活跃实例变换为规则空间中的特定概念,以引导规则空间的搜索。EBG问题6.代码实现functionI2=Location()I=imread('p4.png');%读取图像figure();subplot(3,2,1),imshow(I),title('原始图像');
本文标题:期末大报告-201210405116-敖敏-计科121
链接地址:https://www.777doc.com/doc-2322772 .html