Logistic回归
二值型输出分类器
Sigmod函数与LR分类器
logistic回归
- 优点:计算代价不高,易于理解和实现
- 缺点:容易欠拟合,分类精度可能不高
- 适用数据类型:数值型和标称型数据
Sigmod函数公式:
σ
(
z
)
=
1
1
+
e
−
z
\sigma(z)=\cfrac{1}{1+e^{-z}}
σ
(
z
)
=
1
+
e
−
z
1
最优化方法-梯度上升法
基本思想:找到某个函数的最大值,最好的方法就是沿着该函数的梯度方向探寻,沿着梯度的反方向就是下降最快的方向,因此沿着梯度的方向就是上升最快的方向。
记梯度为
∇
\nabla
∇
,则沿着梯度的方向上升的公式为:
∇
f
(
x
,
y
)
=
∂
f
(
x
,
y
)
∂
x
∂
f
(
x
,
y
)
∂
y
\nabla f(x,y)=\cfrac{\partial f(x,y)}{\partial x}\cfrac{\partial f(x,y)}{\partial y}
∇
f
(
x
,
y
)
=
∂
x
∂
f
(
x
,
y
)
∂
y
∂
f
(
x
,
y
)
梯度上升向量表示为:
w
:
=
w
+
α
∇
f
(
w
)
w:=w+\alpha\nabla f(w)
w
:=
w
+
α
∇
f
(
w
)
梯度下降向量表示为:
w
:
=
w
−
α
∇
f
(
w
)
w:=w-\alpha\nabla f(w)
w
:=
w
−
α
∇
f
(
w
)
梯度上升算法伪代码
每个回归系数初始化为1
重复R次:
计算整个数据集的梯度
使用alpha x gradient更新回归系数的向量
返回回归系数
随机梯度上升
梯度上升算法每次更新回归系数都会遍历整个数据集,但这样对于大数据集来说就很不适用,于是出现了随机梯度上升。
如下伪代码:
所有回归系数初始化为1
对数据集中每个样本:
计算该样本的梯度
使用alpha x gradient更新回归系数值
返回回归系数值
改进随机梯度上升算法
计算过程中,总会遇到一些不能正确分类的样本点(数据集并非线性可分),会形成波动,所以在每次迭代时会引起系数的剧烈改变,为了避免来回波动,从而收敛到某个值,且希望收敛速度加快,所以需要对随机梯度上升算法进行优化。