机器学习课程练习(四)——softmax

本文是斯坦福UFLDL教程中softmax章节的练习解答,通过练习掌握softmax算法,用于手写体数字识别。涉及到稀疏矩阵操作、指数函数处理技巧以及l-bfgs优化器的应用。
摘要由CSDN通过智能技术生成

前言

斯坦福的UFLDL教程每一个章节都配有练习

本文是softmax这一章节的练习的解答

练习的目的是学习softmax算法的基本知识,并且训练一个softmax手写体数字识别器

具体内容可以浏览课程网页

注意事项

1.matlab是从1开始计数的所以为了方便起见,将所有数字0的标记变为10

2.注意利用稀疏矩阵函数sparse和full生成ground_truth

3.为了防止指数函数的上溢,将所有的指数项都减去其最大值,这并不影响分类的结果

4.善于利用bsxfun函数有助于减少代码量

5.需要利用到稀疏自动编码器一章中的l-bfgs函数,已经梯度函数验证函数和手写体数字的数据以及读取函数

softmaxCost

function [cost, grad] = softmaxCost(theta, numClasses, inputSize, lambda, data, labels)

% numClasses - the number of classes 
% inputSize - the size N of the input vector
% lambda - weight decay parameter
% data - the N x M
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值