您的位置:首页 > 其它

梯度下降算法到logistic回归

2017-07-15 08:43 218 查看
http://sbp810050504.blog.51cto.com/2799422/1608064/

http://blog.csdn.net/dongtingzhizi/article/details/15962797

http://blog.csdn.net/llp1992/article/details/45114421

https://www.qcloud.com/community/article/180954?fromSource=gwzcw.107192.107192.107192

梯度上升法求函数极值

来源: 运筹学第3版 胡运权 第3 节无约束极值问题的解法



logistic回归进行二分类







function weight = gradAscent
clc
% close all
clear
%%

data = load('testSet.txt');
[row , col] = size(data);
dataMat = data(:,1:col-1);
dataMat = [ones(row,1) dataMat] ;
labelMat = data(:,col);
alpha = 0.001;
maxCycle = 500;
weight = ones(col,1);
for i = 1:maxCycle
h = sigmoid(dataMat * weight);
error = (labelMat - h);
weight = weight + alpha * dataMat' * error;
end

figure
scatter(dataMat(find(labelMat(:) == 0),2),dataMat(find(labelMat(:) == 0),3),3);
hold on
scatter(dataMat(find(labelMat(:) == 1),2),dataMat(find(labelMat(:) == 1),3),5);
hold on
x = -3:0.1:3;
y = (-weight(1)-weight(2)*x)/weight(3);
plot(x,y)
hold off

end

function returnVals = sigmoid(inX)
returnVals = 1.0./(1.0+exp(-inX));
end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: