UFLDL教程之五:Softmax 回归
来源:互联网 发布:炒股软件jryznxt 编辑:程序博客网 时间:2024/05/22 02:20
softmax回归是logistic回归的一般化形式,可将样本分为k类,其假设函数如下:
代价函数为
梯度公式
将其带入梯度下降等算法中,来最小化 ,如 ()
softmax回归有一个特点,就是它的参数是冗余的。
有时会添加一个权重衰减项来修改代价函数,变成这样
相应导数是这样
实际应用中要考虑清楚是使用softmax回归还是使用K个二元分类器,根据类别之间是否互斥来确定。
实验:
MATLAB FUNCTIONS:
SoftmaxCost.m
%YOUR CODE HERE
M = bsxfun(@minus, theta*data,max(theta*data, [], 1));
M = exp(M);
p = bsxfun(@rdivide, M, sum(M));
cost = -1/numCases * groundTruth(:)' * log(p(:)) + lambda/2 * sum(theta(:).^2);
thetagrad = -1/numCases * (groundTruth - p) * data' + lambda*theta;
SoftmaxPredict.m
% YOUR CODE HERE
[nop, pred] = max(theta * data);
sparse:
生成一个稀疏矩阵,比如说sparse(A, B, k),,其中A和B是个向量,k是个常量。这里生成的稀疏矩阵的值都为参数k,稀疏矩阵位置值坐标点有A和B相应的位置点值构成。
full:
生成一个正常矩阵,一般都是利用稀疏矩阵来还原的。
SoftmaxCost.m
%YOUR CODE HERE
M = bsxfun(@minus, theta*data,max(theta*data, [], 1));
M = exp(M);
p = bsxfun(@rdivide, M, sum(M));
cost = -1/numCases * groundTruth(:)' * log(p(:)) + lambda/2 * sum(theta(:).^2);
thetagrad = -1/numCases * (groundTruth - p) * data' + lambda*theta;
SoftmaxPredict.m
% YOUR CODE HERE
[nop, pred] = max(theta * data);
0 初始化常量与参数
输入图片大小是28*28,共有10类。
1 载入数据
60000张训练图像及其标签,权重参数是7840维的,表明网络只有输入层与输出层,没有隐层。
2 实现softmaxCost
将
3梯度检查
这个在调试的时候用较小的量来做即可,正式运行的时候可以不要。
4学习参数
用minFunc学习,迭代100次,返回学到的最优参数。
5测试
10000张测试图像,测试的正确率92.64%。
0 0
- UFLDL教程之五:Softmax 回归
- UFLDL教程(四)之Softmax回归
- UFLDL之Softmax回归
- Stanford UFLDL教程 Softmax回归
- 深度学习UFLDL教程翻译之Softmax回归
- UFLDL教程(三)---Softmax回归
- UFLDL 教程学习笔记:4.Softmax回归
- 【UFLDL】[3]Softmax回归
- UFLDL教程——Softmax回归代价函数的梯度
- Softmax回归 -- from ufldl wiki
- UFLDL softmax回归编程答案
- Ufldl Exercise:Softmax Regression Softmax回归练习
- UFLDL教程:Exercise:Softmax Regression
- UFLDL教程笔记及练习答案三(Softmax回归与自我学习***)
- UFLDL——Exercise: Softmax Regression (softmax回归)
- Stanford UFLDL教程 Exercise:Softmax Regression
- UFLDL教程答案(4):Exercise:Softmax Regression
- UFLDL教程Exercise答案(4):Softmax Regression
- 9个JQuery和5个JavaScript经典面试题
- java中Random类的使用
- HDFS设置JVM
- [BLE]CC2640之定时器(Clock)事件
- MongoDB 安装过程中发生问题
- UFLDL教程之五:Softmax 回归
- 数据库建表原则
- MFC在txt文本进行字符串查找
- 关于编译报错“dereferencing pointer to incomplete type...
- 初学者vtk刚开始用会碰到的的问题
- 21分钟 MySQL 入门教程
- SQL数据库建表前期优化
- 科技讯息2
- 一网打尽当下NoSQL类型、适用场景及使用公司