机器学习大作业3中文

上传人:飞*** 文档编号:15388254 上传时间:2017-11-04 格式:DOCX 页数:13 大小:1.03MB
返回 下载 相关 举报
机器学习大作业3中文_第1页
第1页 / 共13页
机器学习大作业3中文_第2页
第2页 / 共13页
机器学习大作业3中文_第3页
第3页 / 共13页
机器学习大作业3中文_第4页
第4页 / 共13页
机器学习大作业3中文_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《机器学习大作业3中文》由会员分享,可在线阅读,更多相关《机器学习大作业3中文(13页珍藏版)》请在金锄头文库上搜索。

1、Liner regression简介:给一个随机样本,一个线性回归模型假设回归子和回归量之间的关系是除了 X 的影响以外,还有其他的变量存在。我们加入一个误差项(也是一个随机变量)来捕获除了之外任何对的影响。所以一个多变量线性回归模型表示为以下的形式:其他的模型可能被认定成非线性模型。一个线性回归模型不需要是自变量的线性函数。线性在这里表示的条件均值在参数里是线性的。例如:模型在和里是线性的,但在里是非线性的,它是的非线性函数。程序代码:load(shuju);X=shuju(:,1);Y=shuju(:,2);a=1;a0=0;minJ=0.5*(X*a-Y)*(X*a-Y);dfa=0;w

2、hile(a-a00.000001)a0=a;dfa=(X*a-Y)*X;a=a-0.001*dfa;endminJ=0.5*(X*a-Y)*(X*a-Y);aminJt=1hold onwhile(t0.001)minJ_0=minJ;for i=1:X_rowa0=X(i);a1=logsig(W1*a0+b1);a2=purelin(W2*a1+b2);t=Y(i);a=a2;e=t-a;fY1_1=(1-a1(1)*a1(1);fY1_2=(1-a1(2)*a1(2);fY2=1;FY1=fY1_1,0;0,fY1_2;FY2=1;s2=-2*FY2*(t-a);s1=FY1*W2*s

3、2;W2=W2-alpha*s2*a1;b2=b2-alpha*s2;W1=W1-alpha*s1*a0;b1=b1-alpha*s1;endfor i=1:X_rowF(i)=purelin(W2*logsig(W1*X(i)+b1)+b2);endminJ=norm(Y-F);endhold on;for i=1:21plot(X(i),Y(i),*);endplot(X,F);title(Back Propagation Regression);xlabel(Input: x);ylabel(Output: y);程序结果:二、 Logistic Regression简介:logisti

4、c 回归与多重线性回归实际上有很多相同之处,最大的区别就在于他们的因变量不同,其他的基本都差不多,正是因为如此,这两种回归可以归于同一个家族,即广义线性模型(generalized linear model)。这一家族中的模型形式基本上都差不多,不同的就是因变量不同,如果是连续的,就是多重线性回归,如果是二项分布,就是 logistic回归,如果是 poisson 分布,就是 poisson 回归,如果是负二项分布,就是负二项回归,等等。只要注意区分它们的因变量就可以了。logistic 回归的因变量可以是二分类的,也可以是多分类的,但是二分类的更为常用,也更加容易解释。所以实际中最为常用的就

5、是二分类的 logistic 回归。程序代码:clear all;load(Yale_32x32);number1=4;number2=8;number=11;people1pointstart=(number1-1)*11+1;people1pointend=(number1-1)*11+number;people1data=fea(people1pointstart:people1pointend,:);people1targ=zeros(number,1);people2pointstart=(number2-1)*11+1;people2pointend=(number2-1)*11+

6、number;people2data=fea(people2pointstart:people2pointend,:);people2targ=ones(number,1);t=6;for i=1:6traindata(i,:)=people1data(i,:);traindata(i+t,:)=people2data(i,:);traintarg(i,:)=people1targ(i,:);traintarg(i+t,:)=people2targ(i,:);endm=5;for j=1:5testdata(j,:)=people1data(j+t,:);testdata(j+m,:)=peo

7、ple2data(j+t,:);testtarg(j,:)=people1targ(j+t,:);testtarg(j+m,:)=people2targ(j+t,:);end c1,c2=size(traindata);traindata=ones(c1,1),traindata;Theta=ones(c2+1,1);c1,c2=size(testdata);testdata=ones(c1,1),testdata;alpha=0.001;c1,c2=size(traindata);traintime=20;while(traintime0)for i=1:c1Hx=1/(1 + exp(-(

8、traindata(i,:) * Theta);Theta=Theta+alpha*(traintarg(i)-Hx)*traindata(i,:);endtraintime=traintime-1;endc1,c2=size(testdata);for i=1:c1 Hx=1/(1 + exp(-(testdata(i,:) * Theta); if(Hx0.5)Recognisetarg(i)=1;elseRecognisetarg(i)=0;endendcount=0;for i=1:c1if( Recognisetarg(i)=testtarg(i)count=count+1;ende

9、ndY=count/c1程序结果:三、 Softmax Regression简介:回想一下在 logistic 回归中,我们的训练集由 个已标记的样本构成: ,其中输入特征 。(我们对符号的约定如下:特征向量 的维度为 ,其中 对应截距项 。) 由于 logistic 回归是针对二分类问题的,因此类标记 。假设函数(hypothesis function) 如下:我们将训练模型参数 ,使其能够最小化代价函数 :在 softmax 回归中,我们解决的是多分类问题(相对于 logistic 回归解决的二分类问题),类标 可以取 个不同的值(而不是 2 个)。因此,对于训练集 ,我们有 。(注意此处

10、的类别下标从 1 开始,而不是 0)。例如,在 MNIST 数字识别任务中,我们有 个不同的类别。对于给定的测试输入 ,我们想用假设函数针对每一个类别 j 估算出概率值 。也就是说,我们想估计 的每一种分类结果出现的概率。因此,我们的假设函数将要输出一个 维的向量(向量元素的和为 1)来表示这 个估计的概率值。 具体地说,我们的假设函数 形式如下:其中 是模型的参数。请注意 这一项对概率分布进行归一化,使得所有概率之和为 1 。为了方便起见,我们同样使用符号 来表示全部的模型参数。在实现 Softmax 回归时,将 用一个 的矩阵来表示会很方便,该矩阵是将 按行罗列起来得到的,如下所示:程序代

11、码:%softmax regressionclear all;clc;%load(IndianaPines);pixels=pixels;pixels=pixels(find(Label),:);Label=Label(find(Label);maxnumber=max(max(pixels);minnumber=min(min(pixels);pixels=(pixels-minnumber)/(maxnumber-minnumber);%Label=Label+1;Label_Row,Label_Col=size(Label); %LabelSampleNumbers=Label_Row;

12、k=max(Label);SampleCounters=zeros(k,1);for i=1:SampleNumbersSampleCounters(Label(i)=SampleCounters(Label(i)+1;endm=0;for i=1:km=m+SampleCounters(i);SampleSumC(i)=m;endpointStart=1;pointEnd=0;for i=1:ka=find(Label=i);b,c=size(a);pointEnd=pointEnd+b;SortPoint(pointStart:pointEnd)=a;pointStart=pointEnd

13、+1;endNew_Label=Label(SortPoint);New_pixels=pixels(SortPoint,:);%pointStart=1;pointEnd=0;m=0;for i=1:kpointEnd=pointEnd+round(SampleCounters(i)/10);a=randperm(SampleCounters(i)+m;a=a(1:(round(SampleCounters(i)/10);SortPoint1(pointStart:pointEnd)=a;m=m+SampleCounters(i);pointStart=pointEnd+1;endTrain

14、Sample=New_pixels(SortPoint1,:);TrainLabel=New_Label(SortPoint1,:);New_pixels(SortPoint1,:)=;New_Label(SortPoint1,:)=;TestSample=New_pixels;TestLabel=New_Label;% TrainSample,TrainLabel,TestSample,TestLabel = RandPartition( New_pixels,New_Label,SampleCounters,k);%TrainSample_Row,TrainSample_Col=size(

15、TrainSample);TrainSampleNumbers=TrainSample_Row;T=zeros(k-1,TrainSample_Row);for i=1:TrainSample_Row;a=TrainLabel(i);if(a=16)T(a,i)=1;endendAlpha=0.0015;Theta=rand(k-1,TrainSample_Col);M=70000;tic;while(M0)M=M-1;%ThetaFZ=exp(Theta*TrainSample);FM=sum(FZ)+1;NFM=repmat(FM,k-1,1);Htheta=FZ./NFM;%DJtheta=-1*(T-Htheta)*TrainSample)/TrainSampleNumbers;DJtheta=-1*(T-Htheta)*TrainSample);Theta=Theta-Alpha*DJtheta;%Thetaendtoc;tic;%TestSample_Row,TestSample_Col=size(TestSample);TestSampleNumbers=TestSample_Row;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 其它考试类文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号