sign属于硬分类
Logistic属于软分类,也就是用概率来对预测结果进行判断
两种分类得出的结果是一样的,后者的好处是可微的单调函数
如果以银行贷款为例,一个客户的信用得分:
把得分转换成[0,1]之间的数值(概率):
伯努利分布:
注意这是+1和-1的版本,不是1和0的版本
这是根据问题提出假设的模型分布为伯努利分布,用其来近似潜在的真实分布。
用极大似然函数来估计参数,所有数学符号每篇文章都通用。
是凸函数,最小化的第一个想法就是让
可惜没有闭式解
可以用梯度下降进行迭代求解,为迭代次数
在sigmoid函数上,是两个分类(类别+1和-1)的分界处。
因此我们设定,注意
,,,
clc
clear all
data=load('testSet2.txt');
xMat = data(:,1:2);yVec = data(:,3);
[m,n]=size(xMat);xMatb = [ones(m,1) xMat];%输入数据增加截距项
wVec = ones(n+1,1);
alpha = 0.01;%步长
i = 1;
while i<10000
yVecMin = (-yVec);
h = 1./(1 + exp(-yVecMin .* xMatb * wVec));
r= yVecMin .* xMatb;
wVec = wVec - alpha * (r' * h/m);
i = i+1;
end
%两个特征值
% wVec(1)%截距
x1=linspace(-10, 10, 500);
x2=(-wVec(2)*x1-wVec(1))/wVec(3);
% 绘图
[y1] = find(yVec==1);[y0] = find(yVec==-1);
scatter(xMat(y1,1),xMat(y1,2),20,'magenta','filled','d');hold on
scatter(xMat(y0,1),xMat(y0,2),50,'red','filled');hold on
plot(x1,x2,'blue');
,,,
网友评论