程序实现 Softmax classifer, 没有隐含层,

f=wx+b

y=efi∑jefj

%% Softmax classifierfunction  Out=Softmax_Classifier(train_x,  train_y, opts)% setting learning parameters
step_size=opts.step_size;
reg=opts.reg;
batchsize = opts.batchsize;
numepochs = opts.numepochs;
K=opts.class;   %% learn on the training set% initialize the parameters
D=size(train_x, 2);
W=0.01*randn(D,K);
b=zeros(1,K);loss(1 : numepochs)=0;num_examples=size(train_x, 1);
numbatches = num_examples / batchsize;for epoch=1:numepochs% %         tic;
% %
% %         sprintf('epoch %d:  \n, ' , epoch)kk = randperm(num_examples);loss(epoch)=0;for bat=1:numbatchesbatch_x = train_x(kk((bat - 1) * batchsize + 1 : bat * batchsize), :);batch_y = train_y(kk((bat - 1) * batchsize + 1 : bat * batchsize), :);cc=repmat(b,  batchsize  , 1);scores=batch_x*W+cc;exp_scores=exp(scores);dd=repmat(sum(exp_scores, 2), 1, K);probs=exp_scores./dd;correct_logprobs=-log(sum(probs.*batch_y, 2));data_loss=sum(correct_logprobs)/batchsize;reg_loss=0.5*reg*sum(sum(W.*W));loss(epoch) =loss(epoch)+ data_loss + reg_loss;dscores = probs-batch_y;dscores=dscores/batchsize;dW=batch_x'*dscores;db=sum(dscores);dW=dW+reg*W;W=W-step_size*dW;b=b-step_size*db;endloss(epoch)=loss(epoch)/numbatches;if (mod(epoch, 10)==0)sprintf('epoch: %d, training loss is  %f:  \n', epoch, loss(epoch))end% %     toc;endOut.W=W;
Out.b=b;
Out.loss=loss;end

转载于:https://www.cnblogs.com/mtcnn/p/9412464.html

机器学习 Softmax classifier (无隐含层)相关推荐

  1. python bp神经网络 隐含层神经元数_【机器学习】python实现BP神经网络实战

    概述: 人工神经网络是一种经典的机器学习模型,随着深度学习的发展神经网络模型日益完善.联想大家熟悉的回归问题, 神经网络模型实际上是根据训练样本创造出一个多维输入多维输出的函数, 并使用该函数进行预测 ...

  2. bp神经网络隐含层神经元个数_CNN,残差网络,BP网络

    (以下实验均在MNIST中实现) 一.CNN与CNN改进的对比 众所周知,对于CNN卷积神经网络而言,随着卷积层数的增加,其模型的准确度也会增加.那模型层数和准确度是无限地成正比例关系吗?显然不是的, ...

  3. 吴恩达老师深度学习视频课笔记:多隐含层神经网络公式推导(二分类)

            多隐含层神经网络的推导步骤非常类似于单隐含层神经网络的步骤,只不过是多重复几遍. 关于单隐含层神经网络公式的推导可以参考: http://blog.csdn.net/fengbingc ...

  4. 风机桨叶故障诊断(五) 修改隐含层神经元个数的尝试

    风机桨叶故障诊断(五) 修改隐含层神经元个数的尝试 我们已经为训练一个更为稳健的神经网络做好了样本的准备工作,那么我们开始下一步的工作吧! 我们已经有了样本集,目前我筛选出来了247个正样本,652个 ...

  5. matlab 神经网络设计多层隐含层_[rbf神经网络]请教关于MATLAB中RBF神经网络隐含层神经元个数的问题...

    rbf神经网络 请教关于MATLAB中RBF神经网络隐含层神经元个数的问题 问题补充:MATLAB中用newrb(P, T, goal, spread)创建的神经网络,用于数据的预测,程序可以运行并能 ...

  6. 深度学习|对隐含层的感性认识

    请点击上面公众号,免费订阅. <实例>阐述算法,通俗易懂,助您对算法的理解达到一个新高度.包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战.期待您的到 ...

  7. 吴恩达老师深度学习视频课笔记:单隐含层神经网络公式推导及C++实现(二分类)

    关于逻辑回归的公式推导和实现可以参考: http://blog.csdn.net/fengbingchun/article/details/79346691 下面是在逻辑回归的基础上,对单隐含层的神经 ...

  8. CS231n 学习笔记(2)——神经网络 part2 :Softmax classifier

    *此系列为斯坦福李飞飞团队的系列公开课"cs231n convolutional neural network for visual recognition "的学习笔记.本文主要 ...

  9. 【深度学习】网络中隐含层神经元节点的个数(需要学习的特征数目)

    http://blog.csdn.net/zouxy09/article/details/9983399 1.网络中隐含层神经元节点的个数(需要学习的特征数目),采集的密度(也就是convolutio ...

最新文章

  1. python paramiko包 ssh报错No existing session 解决方法
  2. vba和python哪个好学-python和vba学哪个
  3. ecshop 去版权
  4. 【第四周作业】参加项目开发之后的一些体会
  5. shiro学习(10):servelet实现权限认证一
  6. Angular ngTemplateOutlet
  7. mysql删除注册表mysqld要删除吗_原神官方删除魈的观测枢数据,又要拆分机制吗?策划应该不傻吧?...
  8. ensp ftp服务器配置文件,ensp配置ftp服务器,显示连接失败。
  9. 教你如何搜索公众号中的文章
  10. HiJson(Json格式化工具)64位中文版下载 v2.1.2
  11. matlab 傅里叶变换频谱
  12. bzoj3717 [PA2014]Pakowanie(状压dp+贪心)
  13. flask爱家租房项目开发(十)
  14. Smoke Loader、AZORult***通过虚假海啸警报传播到了日本
  15. TSN(时间敏感网络)纯干货分享
  16. Python计算温度植被干旱指数(TVDI)
  17. 华为云3年仍未超阿里云,任正非感叹:积天下英雄,为何不得天下
  18. 递归解决常见爬楼梯走一步或是两步问题,走多步也是相同的道理!
  19. linux系统内存dump机制介绍(一)--kdump
  20. Detachment(数论)

热门文章

  1. 单片机入门-矩阵键盘控制数码管显示
  2. apigw鉴权分析(1-2)腾讯开放平台 - 鉴权分析
  3. 使用socket实现信用卡程序和迷你购物商城
  4. Java编程中“为了性能”需做的26件事(转)
  5. JQuery 中有用的方法
  6. websphere内存溢出
  7. java定义一个指针类型变量赋值吗,C++中指针的数据类型和运算相关知识小结
  8. leetcode算法题--最大加号标志★
  9. go标准库的学习-fmt
  10. 规模 300+ 的研发团队,怎样保持工程高质高效?