Logistic Regression
hint:
线性模型LR(没有考虑特征间的关联)——>LR +多项式模型(特征组合,不适用于特征稀疏场景,泛化能力弱)——>FM(适用于稀疏特征场景*,泛化能力强)——>FFM【省去零值特征,提高FFM模型训练和预测的速度,这也是稀疏样本采用FFM的显著优势】
提到LR,需要先从线性回归模型进行讲解
1.线性回归模型
定义:给定数据集D={(x1, y1), (x2, y2), … },我们试图从此数据集中学习得到一个线性模型,这个模型尽可能准确地反应x(i)和y(i)的对应关系
f
(
x
)
=
w
1
x
1
+
w
2
x
2
+
.
.
.
+
w
d
x
d
+
b
f(x)=w_{1}x_{1}+w_{2}x_{2}+...+w_{d}x_{d}+b
f(x)=w1x1+w2x2+...+wdxd+b
f
(
x
)
=
W
T
X
+
b
f(x)=W^{T}X+b
f(x)=WTX+b
求解:
(
w
,
b
)
=
a
r
g
m
i
n
w
,
b
∑
i
=
1
m
(
f
(
x
i
)
−
y
i
)
2
(w,b)=argmin_{w,b}\sum_{i=1}^{m}(f(x_{i})-y_{i})^{2}
(w,b)=argminw,b∑i=1m(f(xi)−yi)2
L
o
s
s
=
(
Y
−
X
W
)
T
(
Y
−
X
W
)
Loss = (Y-XW)^{T}(Y-XW)
Loss=(Y−XW)T(Y−XW)
运用求导法则,设
(
Y
−
X
W
)
=
K
(Y-XW)=K
(Y−XW)=K
α
L
o
s
s
α
W
=
(
K
T
K
)
′
\frac{\alpha Loss}{\alpha W}=(K^{T}K)^{'}
αWαLoss=(KTK)′
得到
W
=
(
X
T
X
)
−
1
X
T
Y
W=(X^{T}X)^{-1}X^{T}Y
W=(XTX)−1XTY
2.逻辑回归
通过在线性回归模型中引入Sigmod函数,将线性回归的不确定范围的连续输出值映射到(0,1)的范围内,成为一个概率预测问题
LR的目标函数: h θ ( x ) = g ( θ T x ) h_{\theta}(x)=g(\theta^{T}x) hθ(x)=g(θTx),Sigmod函数g(z)的为:g(z)= 1 1 + e − z \frac{1}{1+e^{-z}} 1+e−z1,Sigmod的导数为: g ( z ) ′ = g ( z ) ( 1 − g ( z ) ) g(z)^{'}=g(z)(1-g(z)) g(z)′=g(z)(1−g(z))
假设有n个独立的训练样本{(x1,y1),(x2,y2),…,(xn,yn)},y={0,1},
p
(
y
i
,
x
i
)
=
p
(
y
i
=
1
∣
x
i
)
y
i
(
1
−
p
(
y
i
=
1
∣
x
i
)
)
1
−
y
i
p(y_{i},x_{i})=p(y_{i}=1|x_{i})^{y_{i}}(1-p(y_{i}=1|x_{i}))^{1-y_{i}}
p(yi,xi)=p(yi=1∣xi)yi(1−p(yi=1∣xi))1−yi
同理可以推导到多为,假设Y的维度为n x 1,X的维度为n x m
L ( θ ) = ∏ i = 1 n ( h θ ( x ( i ) ) ) y ( i ) ( 1 − h θ ( x ( i ) ) ) 1 − y ( i ) L(\theta)=\prod_{i=1}^{n}(h_{\theta}(x^{(i)}))^{y^{(i)}}(1-h_{\theta}(x^{(i)}))^{1-y^{(i)}} L(θ)=∏i=1n(hθ(x(i)))y(i)(1−hθ(x(i)))1−y(i)
l o g L ( θ ) = ∑ i = 1 n y ( i ) l o g h θ ( x ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) log L(\theta)=\sum_{i=1}^{n}y^{(i)}log h_{\theta}(x^{(i)})+(1-y^{(i)})log(1-h_{\theta}(x^{(i)})) logL(θ)=∑i=1ny(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))
J ( θ ) = − Y T l o g h θ ( X ) − ( E − Y ) T l o g ( E − h θ ( X ) ) J(\theta)=-Y^{T}log h_{\theta}(X)-(E-Y)^{T}log(E-h_{\theta}(X)) J(θ)=−YTloghθ(X)−(E−Y)Tlog(E−hθ(X))
δ J ( θ ) δ θ = X T ( h θ ( X ) − Y ) \frac{\delta J(\theta)}{\delta \theta}=X^{T}(h_{\theta}(X)-Y) δθδJ(θ)=XT(hθ(X)−Y)
θ = θ − α X T ( h θ ( X ) − Y ) \theta = \theta -\alpha X^{T}(h_{\theta}(X)-Y) θ=θ−αXT(hθ(X)−Y)
梯度下降(Gradient Descent)又叫作最速梯度下降,是一种迭代求解的方法,通过在每一步选取使目标函数变化最快的一个方向调整参数的值来逼近最优值
加入L1正则化因为能产生稀疏解
解决多分类问题
把Sigmoid函数换成softmax函数,即可适用于多分类的场景。Softmax 回归是直接对逻辑回归在多分类的推广,相应的模型也可以叫做多元逻辑回归
解决线性不可分问题
逻辑回归本质上是一个线性模型,但是,这不意味着只有线性可分的数据能通过LR求解,实际上,我们可以通过2种方式帮助LR实现:
(1)利用特殊核函数,对特征进行变换:把低维空间转换到高维空间,而在低维空间不可分的数据,到高维空间中线性可分的几率会高一些。
(2)扩展LR算法,提出FM算法。
针对线性不可分的数据集,可以尝试对给定的两个feature做一个多项式特征的映射
在LR中,我们可以通过在基本线性回归模型的基础上引入交叉项,来实现非线性分类
y=
w
0
+
∑
i
=
1
n
w
i
x
i
+
∑
i
=
1
n
−
1
∑
j
=
i
=
1
n
−
1
w
i
,
j
x
i
x
j
w_{0}+\sum_{i=1}^{n}w_{i}x_{i}+\sum_{i=1}^{n-1}\sum_{j=i=1}^{n-1}w_{i,j}x_{i}x_{j}
w0+∑i=1nwixi+∑i=1n−1∑j=i=1n−1wi,jxixj
在数据稀疏性普遍存在的实际应用场景中,二次项参数的训练是很困难的
LR的泛化能力不强
参考资料:
https://www.jianshu.com/p/dce9f1af7bc9
https://www.cnblogs.com/pinard/p/6029432.html