机器学习(二)线性模型—LR
2.2 LR
2.2.1 基础
LR是一种二分类模型,属于线性模型的一种,是广义线性分类模型,采用极大似然估计,具有概率可解释性
条件概率:
P(y=1|x)=σ(w⋅x)(14)
P(y=0|x)=1−σ(w⋅x)(15)
Logits/log odds,一件事发生与不发生的比率:
logp1−p(16)
2.2.2 推导:
似然函数:
∏i=1Nσ(w⋅xi)yi(1−σ(w⋅xi))1−yi(17)
对数似然函数:
∑i=1Nyilogσ(w⋅xi)+(1−yi)log(1−σ(w⋅xi))(18)
首先令
w⋅xi+b=a
dloss=∑i=1Nyiσ′(a)σ(a)da−(1−yi)σ′(a)1−σ(a)da(19)
da=dwTxi=tr(xTidw)(20)
将
(20)
与
σ′(a)=σ(a)(1−σ(a))
带入
(19)
dloss=tr(∑i=1Nyi(1−σ(a))xTidw−(1−yi)σ(a)xTidw)=tr(∑i=1N(yi−σ(a))xTidw)(21)
故:
∂loss∂w=∑i=1Nxi(yi−σ(a))=∑i=1N(yi−σ(a))xi(22)
2.2.3 softmax多分类推导:
损失函数:
loss=−∑i=1NyiTlogsoftmax(Wxi)(23)
其中:
yi
为
k×1
向量,只有一个位置为1表示类别
W
为
k×d
权矩阵,d为特征的维度
softmax(a)
为逐元素函数
令:
ai=Wxi(24)
将
(24)带入(23)
:
dloss=−∑i=1NyTidlogsoftmax(ai)=−∑i=1NyTidlog(eai1T⋅eai)=−∑i=1NyTi(dai−1dlog(1Teai))=−∑i=1N(yTidai−dlog(1Teai))=−∑i=1N(yTidai−1T1Teaideai)=−∑i=1N(yTidai−1T(eai⊙dai)1Teai)=−∑i=1N(yTidai−(eai)Tdai1Teai)=tr(∑i=1N(eai)Tdai1Teai−yTidai)=tr(∑i=1Nsoftmax(ai)T dai−yTidai)=tr(∑i=1N(softmax(ai)T −yTi)dWxi)=tr(∑i=1Nxi(softmax(ai) −yi)dW)(25)
固:
∂loss∂W=∑i=1N(softmax(Wxi)−yi)xTi(26)
2.2.4 相关问题总结
Sigmoid变化的理解?
a) sigmoid函数光滑,处处可导,导数还能用自己表示
b) sigmoid能把数据从负无穷到正无穷压缩到0,1之间,压缩掉了长尾,扩展了核心分辨率。
c) sigmoid在有观测误差的情况下最优的保证了输入信号的信息。
LR有什么特点?
简单 容易欠拟合 对几率w*x+b 线性的 实际问题不能完全用线性来拟合
各feature之间不需要满足条件独立假设,但各个feature的贡献独立计算
如何用LR建立一个广告点击的模型?
特征提取—>特征处理(离散化、归一化、onehot特征交叉、特征选择等)—>找出候选集—->模型训练,得到结果