逻辑回归(LR)

逻辑回归算法是分类算法,名字虽然叫回归,但逻辑回归算法实际上是一种分类算法,它适用于标签y取值离散的情况
在分类问题中,我们尝试预测的是结果是否属于某一个类

  • 判断一封电子邮件是否是垃圾邮件;
  • 判断一次金融交易是否是欺诈;
  • 判断肿瘤是恶性还是良性;
    规律:结果可以分为有限个类别的情况

逻辑回归模型的假设是:hθ(x)=g(θTx)h_\theta(x) = g(\theta^Tx)其中,X代表特征向量,θ\theta代表参数,g代表**函数,一个常用的**函数为S形函数(Sigmoid function),公式为:g(z)=11+e(z)g(z) = \frac{1}{1+e^{(-z)}}

hθ(x)h_\theta(x)的作用是:
对于给定的输出变量,根据选择的参数计算输出变量等于1的可能性,即:
P(y=1x;θ)=hθ(x) P(y=1|x;\theta) = h_\theta(x)
P(y=0x;θ)=1hθ(x) P(y=0|x;\theta) =1- h_\theta(x)
P(yx;θ)=hθ(x)y(1hθ(x))(1y) P(y|x;\theta) = h_\theta(x)^y(1-h_\theta(x))^{(1-y)}
公式解释:
如果对于给定的x,通过已经确定的参数计算得出hθ(x)=0.7h_\theta(x) = 0.7则表示y有70%的几率为正类,相应地y为负责的几率为1-0.7=0.3

得到这样一个代价函数以后,我们便可以用梯度下降算法来求损失函数的最小值
θj:=θjαθjJ(θ)\theta_j:=\theta_j-\alpha \frac{\partial}{\partial\theta_j}J(\theta)
θj:=θja1mi=1m((hθ(xi)y(i))x(i))\theta_j:=\theta_j - a\frac{1}{m}\sum_{i=1}^m((h_\theta(x^i)-y^{(i)})x^{(i)}) 逻辑回归(LR)

逻辑回归(LR)
问题1:带正则化项的LR损失函数怎么写?

J(θ)=1mi=1m[y(i)log(hθ(x(i)))(1y(i))log(1hθ(x(1)))]+λ2mj=1nθj2J(\theta) = \frac{1}{m}\sum_{i=1}^m[-y^{(i)}log(h_\theta(x^{(i)}))-(1-y^{(i)})log(1-h_\theta(x^{(1)}))]+\frac{\lambda}{2m}\sum_{j=1}^n\theta_j^2

问题2:带正则化项的LR参数更新公式怎么写?

θj:=θja[1mi=1m(hθ(x(i))y(i))xj(i)+λmθj]\theta_j:=\theta_j-a[\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}+\frac{\lambda}{m}\theta_j]
误差的表示方法
Acc=+total(+++)Acc = \frac{真阳性+真阴性}{total(真阳性+假阳性+真阴性+假阴性)}

准确率的局限性:类偏斜或者说数据不平衡
逻辑回归(LR)
Precision=TPTP+FPPrecision =\frac{TP}{TP+FP} Pecall=TPTP+FNPecall = \frac{TP}{TP+FN}
2F1=1P+1R\frac{2}{F1} = \frac{1}{P}+\frac{1}{R}
用一个F1值来综合评估精确率和召回率,它是精确率和召回率的调和均值.当精确率和召回率都高时,F1值也会高

有时候我们对精确率和召回率并不是一视同仁,我们用一个参数β\beta来度量两者之间的关系.
Fβ=(1+β)2PRβ2P+RF_\beta = \frac{(1+\beta)^2*P*R}{\beta^2*P+R}

如果β>1\beta>1,召回率有更大影响,
如果β<1\beta<1,精确率有更大影响,
如果β=1\beta=1,召回率和精确率影响力相同,和F1形式一样

TPR=TPTP+NFTPR=\frac{TP}{TP+NF}灵敏度(真阳率,召回率),识别的正例比例占所有实际正例的比例逻辑回归(LR)