美文网首页
西瓜书扩展_Logistic 回归

西瓜书扩展_Logistic 回归

作者: 我_7 | 来源:发表于2020-03-18 20:09 被阅读0次

sign属于硬分类

Logistic属于软分类,也就是用概率来对预测结果进行判断

两种分类得出的结果是一样的,后者的好处是可微的单调函数

如果以银行贷款为例,一个客户的信用得分:s=\sum_{i=0}^{d} w_{i} x_{i}=\mathbf{w}^{T} \mathbf{x}

把得分转换成[0,1]之间的数值(概率):h(s) =\frac{1}{1+\exp(-s)}


伯努利分布:Q(y|\mathbf{x};\mathbf{w})=h(y\cdot s)=\left\{\begin{array}{ll}{h(s)} & {\text { for } y=+1} \\{1-h(s)}=h(-s) & {\text { for } y=-1}\end{array}\right.

注意这是+1和-1的版本,不是1和0的版本

这是根据问题提出假设的模型分布Q为伯努利分布,用其来近似潜在的真实分布P

用极大似然函数来估计参数\mathbf{w},所有数学符号每篇文章都通用。

θ_{ML}=\underset{\mathbf{w}}{\arg \min} \frac{1}{N}\sum_{i=1}^{N} -\ln Q(y_{i}|\mathbf{x}_{i};\mathbf{w})=\underset{\mathbf{w}}{\arg \min}\ \mathbb{E}_{\mathbf{x},y \sim P}[-\ln Q(\mathbf{y}|X;\mathbf{w})]

\underset{\mathbf{w}}{\arg \min}\ E_{in}=\underset{\mathbf{w}}{\arg \min}\  θ_{ML}


E_{in}是凸函数,最小化的第一个想法就是让\nabla E_{in}=0

可惜没有闭式解

可以用梯度下降进行迭代求解,t为迭代次数

\nabla E_{in}(\mathbf{w}_{t})=\frac{1}{N}\sum_{i=1}^{N}h(-y_{i} \mathbf{w}_{t}^{T} \mathbf{x}_{i})(-y_{i} \mathbf{x}_{i})

\nabla E_{in}(\mathbf{w}_{t})=\frac{1}{N}(-\mathbf{y}.* X)^Th(-\mathbf{y}.* X\mathbf{w}_{t} )

\mathbf{w}_{t+1} \leftarrow \mathbf{w}_{t}-\eta \nabla E_{\mathrm{in}}\left(\mathbf{w}_{t}\right)


在sigmoid函数上,0是两个分类(类别+1和-1)的分界处。

因此我们设定0=w_{0}x_{0}+w_{1}x_{1}+w_{2}x_{2},注意x_{0}=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');

,,,

相关文章

网友评论

      本文标题:西瓜书扩展_Logistic 回归

      本文链接:https://www.haomeiwen.com/subject/xcedoctx.html