|
百度网盘视频链接:
视频链接:
视频1: http://pan.baidu.com/s/1dF7yaNB
视频2:http://pan.baidu.com/s/1pLFlel1
录制的视频是算法底层原理讲解,底层代码实现,方便大家真正掌握算法实质,开发出更加出色的算法。录制视频的初衷是:避免读者朋友利用大把时间学习已有常见算法,本系列视频旨在让读者朋友快速深入了解这些常见算法原理,有更多的时间去研究更加高大上算法(价值)。
具体链接在halcom.cn论坛,联系人QQ:3283892722
该论坛是一个学习交流平台,我会逐一的和大家分享学习。
欢迎大家录制视频,并提交给我,我来设置视频,你可在论坛进行打赏分享。
视频专用播放器:http://halcom.cn/forum.php?mod=viewthread&tid=258&extra=page%3D1
Softmax回归:
(1)logistic 回归二分类;
(2)Softmax回归多分类,当分类数N=2时,就退化为logistic回归;
(3)Softmax回归,采用exp(cita*X)的归一化概率方式进行最大值输出,每一类别均有概率;
输入图像X,输出分类标签y,y需要说明的是,如果是三类的话,
y=1,表示为1,0,0
y=2,表示为0,1,0
y=3,表示为0,0,1
通过迭代寻找J最小时对应的theta:
lambda为正则化参数抑制过拟合- function [theta_best] = fmin(X, y, lambda)
- % 输入
- % X : 784 * 500, 500表示图像样本数量,784 = 28*28,我们的图像是28*28
- % y : 10 * 500, 500表示图像样本数量, 10表示图像样本分类标签
- [m, n] = size(X); % m = 784, n = 500
- numClasses = 10; % Number of classes (MNIST images fall into 10 classes)
- theta = zeros(numClasses, m) + 0.005 * randn(numClasses, m);
- theta_best = theta;
- J0 = 10000;
- num_iter = 100;
- for i=1:num_iter
- [J, thetagrad] = JCostFunction(theta, X, y, lambda);
- fprintf(1,'代价函数值J 当前等于 %f\n',J);
- theta = theta - 0.1 * thetagrad;
- if(J<=J0)
- theta_best = theta;
- J0 = J;
- end
- end
复制代码 代价函数:- function [J, thetagrad] = JCostFunction (theta, X, y, lambda)
- % 输入
- % X : 784 * 500, 500表示图像样本数量,784 = 28*28,我们的图像是28*28
- % y : 10 * 500, 500表示图像样本数量, 10表示图像样本分类标签
- [m, n] = size(X); % m = 784, n = 500
- numClasses = 10; % Number of classes (MNIST images fall into 10 classes)
- thetagrad = zeros(numClasses, m);
- % X = [ones(m,1), X];
- % 概率
- h = exp(theta*X);
- h_sum = sum(h,1);
- h = h./repmat(h_sum,[numClasses,1]); % 归一化
- % h = exp(theta*X);
- % h = bsxfun(@rdivide, h, sum(h));
- % 代价函数
- J = (-1/size(X,2)).*sum(sum(y.*log(h)));
- J = J + (lambda/2).*sum(sum(theta.^2));
- % 梯度
- thetagrad = (-1/size(X,2)).*(((y-(h))*X') + (lambda*theta));
复制代码
theta求解后,预测结果:
- function [p] = predict(theta, X)
- [m n]=size(X);
- h = e.^([ones(m,1) X]*theta);
- [temp p] = max(h, [], 2);
- p=p-1;
复制代码
参考链接:http://ufldl.stanford.edu/wiki/index.php/Softmax回归
|
|