分类和逻辑回归(Classification and logistic regression)

    xiaoxiao2021-04-15  31

    这一章将主要讨论分类问题,相比于回归问题,分类问题的预测值 y 并非连续的数,而是一些离散的数值。现在我们会集中在二项分类问题(即只有0和1两个值),二项问题中的结论大部分都可以推广到多类问题中。比如,我们要构造一个垃圾邮件分类器,x(i)表示电子邮件的一些特征, y=1 代表垃圾邮件, y=0 则不是。

    5 逻辑回归

    如果解决分类问题时先忽略 y 是离散值得限定,用老的线性回归方法去拟合曲线就会发现构造的模型表现很差。直观来说,当我们知道y{0,1}时,假设函数 hθ(x) 预测超过1或小于0的情况,都是没有意义的。

    为了达到这个目标,我们需要变换 hθ(x) 的形式:

    hθ(x)=g(θTx)=11+eθTx,

    其中:

    g(z)=11+ez

    被称为逻辑函数或sigmoid函数,下面是一个逻辑函数的曲线图:

    逻辑函数的值域就在(0,1)之间,除此以外逻辑函数还有一个很优秀的性质就是方便求导:

    g(z)=ddz 11+ez=1(1+ez)2(ez)=1(1+ez)(11(1+ez))=g(z)(1g(z)).

    对当前的回归模型,我们应该如何选择参数 θ 呢?接下来我们会证明在一系列概率假设后,最小方差回归会是这个模型的极大似然估计量。

    我们不妨先假设,输出y为0或1的概率分别是:

    P(y=1|x;θ)=hθ(x)P(y=0|x;θ)=1hθ(x)

    则y的概率密度公式可写为:

    p(y|x;θ)=(hθ(x))y(1hθ(x))1y

    假设m个样本是独立生成的,我们可以写下它们的似然函数:

    L(θ)=p(y⃗ |X;θ)=i=1mp(y(i)|x(i);θ)=i=1m(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)

    再化简为对数似然函数:

    (θ)=logL(θ)=i=1m y(i)log h(x(i))+(1y(i))log(1h(x(i)))

    我们应该如何求解极大似然?和之前的线性回归类似,我们可以使用梯度上升法。用向量标记表示我们每一步的更新: θ:=θ+αθ(θ) 。我们先计算对数似然函数的梯度:

    θj(θ)=(y1g(θTx)(1y)11g(θTx))θjg(θTx)=(y1g(θTx)(1y)11g(θTx))g(θTx)(1g(θTx))θjθTx=(y(1g(θTx))(1y)g(θTx))xj=(yhθ(x))xj

    上面的推导中用到了 g(z)=g(z)(1g(z)) 这一结论。那我们的随机梯度上升法:

    θj:=θj+α(y(i)hθ(x(i)))x(i)j

    如果把这个公式和LMS更新方法比较,会发现形式上几乎是一致的。但要注意它们不是同一种算法,因为这次的假设 hθ(x) 是以 θTx 为输入的非线性函数。但他们更新步骤上一致性,到底是一种巧合还是有某些深层原因呢?这点在后面的广义线性模型中会详细论述。

    转载请注明原文地址: https://ju.6miu.com/read-671385.html

    最新回复(0)