ufldl教程笔记及练习答案三(softmax回归与自我学习***)

mthoutai mthoutai     2022-09-09     605

关键词:

1softmax回归

p(y|x,theta)满足多项式分布,通过GLM对其进行建模就能得到htheta(x)关于theta的函数,将其称为softmax回归。

教程中已经给了costgradient的求法。须要注意的是一般用最优化方法求解參数theta的时候,採用的是贝叶斯学派的思想,须要加上參数theta

 
softmax回归 习题的任务就是用原有的像素数据集构建一个softmax回归模型进行分类。准确率略低 92.6%,。
而自我学习是用5~9之间的数据集当做无标签的数据集,然后构建一个稀疏自编码器,然后将0~4中一部分有标签的数据集通过稀疏自编码器提取特征,然后用此特征构建一个softmax回归模型,然后针对一部分有标签的数据集进行预測。 

习题答案:

(1) 数据载入——————代码已给

(2) %% STEP 2: Implement softmaxCost  得到计算costgradient

M = theta*data;  % M的每一列就是一个样本所相应的thta*data(:, i)的值
M = bsxfun(@minus, M, max(M, [],1)); %减去每列的最大值以防止溢出
M = exp(M);   % 
p = bsxfun(@rdivide, M, sum(M));  %得到概率矩阵

cost = -1/numCases .* sum(groundTruth(:)'*log(p(:))) + lambda/2 *sum(theta(:).^2);    % cost function
thetagrad = -1/numCases .* (groundTruth - p) * data' + lambda * theta;               % grad 

(3)gradient check ———代码已给

(4) Learning parameters ----代码已给出训练得到最佳的參数theta  通常採用L-BFGS进行迭代得到最佳參数。L-BFGS眼下被觉得是最有效的无约束优化问题。

(5)測试

[nop, pred] = max(theta * data); % nop存放的是每列的最大值。pred存放的是该最大值所在的行号

 

2:自我学习和无监督特征学习

过程是这样子的:原始数据一部分是有标签。一部分是没有标签的,我们使用无标签的数据去训练得到一个稀疏自编码器(AutoEncoder),然后我们将一部分有标签的数据输入该编码器,并将第二层hidden layer的激励值作为新的特征来取代(合并)原有的特征,用新的特征及其标签训练一个softmax回归模型。然后将剩余的有标签数据作为測试集(注意这里的測试输入softmax中的数据是稀疏编码器第二层的激励值)

注意:这里没有对数据进行白化的预处理,有时间会做下。比对下效果。

习题答案——最后的准确率是98.189306%

(1) %  Find opttheta by running thesparse autoencoder on

% unlabeled Training Images

 

options.Method = 'lbfgs'; % Here, we use L-BFGS to optimize our cost
                          % function. Generally, for minFunc to work, you
                          % need a function pointer with two outputs: the
                          % function value and the gradient. In our problem,
                          % sparseAutoencoderCost.m satisfies this.
options.maxIter = 400;	  % Maximum number of iterations of L-BFGS to run 
options.display = 'on';


[opttheta, cost] = minFunc( @(p) sparseAutoencoderCost(p, ...                   %通过L-BFGS得到最佳的cost与gradient
                                   inputSize, hiddenSize, ...
                                   lambda, sparsityParam, ...
                                   beta, unlabeledData), ...
                              theta, options);

(2) Extract Features from the Supervised Dataset

b1 = repmat(b1, 1, size(data, 2));
Z1 = W1*data + b1;
activation = sigmoid(Z1);

(3) %% STEP 4: Train the softmax classifier

  

lambda = 1e-4;                                                   %% lambda设置的过大 效果没有达到98%
numClasses = numLabels;
softmaxModel = softmaxTrain(hiddenSize, numClasses, lambda, ...                    %% 注意这里不再是trainData,而是在稀疏自编码算法中提取的第二层结点的激励值作为新的特征值
                            trainFeatures, trainLabels, options);

(4)測试

[pred] = softmaxPredict(softmaxModel, testFeatures);   %%% 对结果进行预測


ufldl教程答案:exercise:convolutionandpooling(代码片段)

教程地址:http://deeplearning.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B练习地址:http://deeplearning.stanford.edu/wiki/index.php/Exercise:Convolution_and_Pooling 1.要点简述卷积神经网络4个核心点: 查看详情

ufldl教程答案:exercise:implementdeepnetworksfordigitclassification(代码片段)

教程地址:http://deeplearning.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B练习地址:http://deeplearning.stanford.edu/wiki/index.php/Exercise:_Implement_deep_networks_for_digit_classificatio 查看详情

ufldl教程答案:exercise:self-taughtlearning(代码片段)

教程地址:http://deeplearning.stanford.edu/wiki/index.php/%E8%87%AA%E6%88%91%E5%AD%A6%E4%B9%A0练习地址:http://deeplearning.stanford.edu/wiki/index.php/Exercise:Self-Taught_Learning 1.习惯性废话几句1.这个练 查看详情

ufldl教程答案:exercise:pca_in_2d&pca_and_whitening(代码片段)

教程地址:http://deeplearning.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B练习地址1:http://deeplearning.stanford.edu/wiki/index.php/Exercise:PCA_in_2D练习地址2: http://deeplearning.stan 查看详情

softmax

http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/http://ufldl.stanford.edu/tutorial/supervised/ExerciseSupervisedNeuralNetwork/http://ufldl.stanford.edu/tutorial/supervised/MultiLayerNe 查看详情

练习题目及答案)(代码片段)

文章目录一、数据库概述练习题二、MySQL环境搭建练习题三、查询练习MySQL数据库练习题(包含前5章所有知识点及答案)前置知识:一、数据库开发与实战专栏导学及数据库基础概念入门二、MySQL介绍及MySQL安装与配置三、MySQL数... 查看详情

ufldl学习笔记与编程作业:softmaxregression(vectorization加速)

...记与编程作业:SoftmaxRegression(vectorization加速)ufldl出了新教程,感觉比之前的好。从基础讲起。系统清晰,又有编程实践。在deeplearning高质量群里面听一些前辈说,不必深究其它机器学习的算法,能够直接来学dl。于是近期就開始... 查看详情

ufldl教程答案:exercise:learningcolorfeatureswithsparseautoencoders(代码片段)

教程地址:http://deeplearning.stanford.edu/wiki/index.php/%E7%BA%BF%E6%80%A7%E8%A7%A3%E7%A0%81%E5%99%A8练习地址:http://deeplearning.stanford.edu/wiki/index.php/Exercise:Learning_color_features_with_Sparse_Autoencoders1.要点简述S型激励函数输出范围是[0,1],当f... 查看详情

[机器学习]courseraml笔记-逻辑回归(logisticregression)

...ning过程的一些心得笔记,涵盖线性回归、逻辑回归、Softmax回归、神经网络和SVM等等,主要学习资料来自StandfordAndrewNg老师在Coursera的教程以及UFLDLTutorial,StanfordCS231n等在线课程和Tutorial,同时也参考了大量网上的... 查看详情

《动手学深度学习》softmax回归(pytorch版)

softmax-regression1分类问题2softmax回归模型3单样本分类的矢量计算表达式4小批量样本分类的矢量计算表达式5交叉熵损失函数6模型预测及评价小结前几节介绍的线性回归模型适用于输出为连续值的情景。在另一类情景中,模型输... 查看详情

《动手学深度学习》softmax回归(pytorch版)

softmax-regression1分类问题2softmax回归模型3单样本分类的矢量计算表达式4小批量样本分类的矢量计算表达式5交叉熵损失函数6模型预测及评价小结前几节介绍的线性回归模型适用于输出为连续值的情景。在另一类情景中,模型输... 查看详情

深度学习入门softmax回归模型

文章目录前言Softmax回归1.分类问题2.softmax回归模型3.单样本分类的矢量计算表达式4.小批量样本分类的矢量计算表达式5.交叉熵损失函数6.模型预测及评价7.小结前言因为工作需求需要接触到深度学习知识,导师推荐了一本书用... 查看详情

机器学习——基础整理:线性回归;二项logistic回归;softmax回归;广义线性模型

...线性回归(二)二分类:二项Logistic回归(三)多分类:Softmax回归(四)广义线性模型    二项Logistic回归是我去年入门机器学习时学的第一个模型,我觉得这个模型很适合用来入门(但是必须注意这个模型有很多... 查看详情

菜鸟教程-练习实例答案i

题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?1#coding=utf-823fromitertoolsimportpermutations45foriinpermutations(range(1,5),3):6k=‘‘7forjini:8k=k+str(j)9printint(k) 题目:企业发放的奖金根据利润提成... 查看详情

机器学习的资源

DeepLearning(深度学习)ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):二Bengio团队的deeplearning教程,用的theano库,主要是rbm系... 查看详情

手写数字识别———softmax回归

参考教程:http://www.tensorfly.cn/tfdoc/tutorials/mnist_pros.html安装要求:Spyder(Python3.5)Anaconda下载MNIST数据集在网上下载数据集,放在"MNIST_data"文件下fromtensorflow.examples.tutorials.mnistimportinput_datamnist=input_data.re 查看详情

softmax回归(代码片段)

Softmax回归 Contents [hide]1 简介2 代价函数3 Softmax回归模型参数化的特点4 权重衰减5 Softmax回归与Logistic回归的关系6 Softmax回归vs.k个二元分类器7 中英文对照8 中文译者简介在本节中,我们介绍Soft... 查看详情

机器学习框架tensorflow数字识别mnist

SoftMax回归 http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92我们的训练集由  个已标记的样本构成: ,其中输入特征。(我们对符号的约定如下:特征向量  的维度为 ,其中  对应截距项。)... 查看详情