目录
想法
先考虑二值的分类(预测结果只有好/坏,输/赢,行动/停留等等),再考虑多值的分类(预测结果含有两种以上情况:天气是晴/多云/下雨,心情是开心/悲伤/忧郁等等)
当有如下两组数据时
也像线性回归时那样,尝试用一个函数表达式将它表示出来。
数学表示
在逻辑回归中我们尝试用sigmoid函数(或logistic函数)去拟合,图像如下图
结合所使用的数据,可以使用如下公式
{g(z)=11+e−zhθ(x)=g(θTX)
{
g
(
z
)
=
1
1
+
e
−
z
h
θ
(
x
)
=
g
(
θ
T
X
)
即
hθ(x)=11+e−θTX
h
θ
(
x
)
=
1
1
+
e
−
θ
T
X
其中
θTX
θ
T
X
叫做决策边界,不做特别说明都指线性函数
通过代价函数表示
θ
θ
取值的合理性
J(θ)=1m∑mi=1Cost (hθ(xi),yi)
J
(
θ
)
=
1
m
∑
i
=
1
m
C
o
s
t
(
h
θ
(
x
i
)
,
y
i
)
Cost (hθ(xi), yi)={−log(hθ(xi))yi=1−log(1−hθ(xi))yi=0
C
o
s
t
(
h
θ
(
x
i
)
,
y
i
)
=
{
−
log
(
h
θ
(
x
i
)
)
y
i
=
1
−
log
(
1
−
h
θ
(
x
i
)
)
y
i
=
0
(本文中的
log
log
与
ln
ln
等价)
即
J(θ)=−1m∑mi=1[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))]
J
(
θ
)
=
−
1
m
∑
i
=
1
m
[
y
i
log
(
h
θ
(
x
i
)
)
+
(
1
−
y
i
)
log
(
1
−
h
θ
(
x
i
)
)
]
并用梯度下降算法,取
θ
θ
有
minθJ(θ)
min
θ
J
(
θ
)
对于多值的分类,可以转换为二值处理
将
n
n
种预测情况分别从总体数据人为的分离出来,做一次逻辑回归,得到(其中的
i
i
表示第种预测情况)
对于需要作出预测的数据
x
x
,将得到的一个结果
胡思乱想时刻
为什么 hθ(x)=11+e−θTX h θ ( x ) = 1 1 + e − θ T X 能够比线性函数更好的拟合离散的数据
首先,sigmoid函数的取值范围是 (0,1) ( 0 , 1 ) ,而线性函数的取值可能落在 (0,1) ( 0 , 1 ) 之外
其次,sigmoid函数又一个特殊点,如上图所示当 x=0 x = 0 时,sigmoid函数的取值为 0.5 0.5 ,将整个取值范围分成两份,这也恰好对应于我们所要求的 y∈{0,1} y ∈ { 0 , 1 } ;对于线性函数,很难找到这样一个点或者说找到这样一个点不能达到预想的效果。决策边界如何作用于sigmoid函数达到拟合数据集的目的
第一问中提到,特殊点的位置决定了如何划分sigmoid函数的取值,那么选择合适的决策边界用以确定特殊点位置,就能划分数据集。
利用sigmoid函数的性质,我们对 hθ(x)=11+e−θTX h θ ( x ) = 1 1 + e − θ T X 分析
结合sigmoid图像,设 hθ(x)<0.5 h θ ( x ) < 0.5 时, y=0 y = 0 ; hθ(x)≥0.5 h θ ( x ) ≥ 0.5 时, y=1 y = 1
则 11+e−θTX<12 1 1 + e − θ T X < 1 2 ,也就是 1+e−θTX>2 1 + e − θ T X > 2 , e−θTX>1 e − θ T X > 1 ,两边取对数后, −θTX>0 − θ T X > 0
也就是 θTX<0 θ T X < 0 时, y=0 y = 0 ,同理, θTX≥0 θ T X ≥ 0 时, y=1 y = 1
结合图像来说就是,决策边界的两侧对应 y y 的不同取值对于单变量,如图
如果取 x=1 x = 1 时,就能将两个数据集分为左右两半,当 x<1 x < 1 时, y=0 y = 0 ,当 x≥1 x ≥ 1 时, y=1 y = 1
又如图,存在多个变量时,
如果选取直线 2x1+1.5x2=3 2 x 1 + 1.5 x 2 = 3 ,也能将两个数据集分开,当 2x1+1.5x2<3 2 x 1 + 1.5 x 2 < 3 时, y=0 y = 0 ,当 2x1+1.5x2≥3 2 x 1 + 1.5 x 2 ≥ 3 时, y=1 y = 1
此外还适合于多项式的形式
图中,当 3x21+5x22<12 3 x 1 2 + 5 x 2 2 < 12 时, y=0 y = 0 ,当 3x21+5x22≥12 3 x 1 2 + 5 x 2 2 ≥ 12 时, y=1 y = 1
注:线性回归时,我们希望数据都落在线上;而逻辑回归时,我们希望数据都分散在线的两侧Cost (hθ(xi),yi) C o s t ( h θ ( x i ) , y i )
该类函数的选择,需要做到能反映预测值与真实值的差距,同时需要保证该函数 f(x1)+f(x2)2≤f(x1+x22) f ( x 1 ) + f ( x 2 ) 2 ≤ f ( x 1 + x 2 2 ) (方便计算)
虽然用 (hθ(xi)−yi)2 ( h θ ( x i ) − y i ) 2 能表示预测值与真实值的差距,但是不满足存在唯一的极小值点
如果取 Cost (hθ(xi), yi)={−log(hθ(xi))y=1−log(1−hθ(xi))yi=0 C o s t ( h θ ( x i ) , y i ) = { − log ( h θ ( x i ) ) y = 1 − log ( 1 − h θ ( x i ) ) y i = 0 那么满足上述的两个条件
当 yi=0 y i = 0 时, Cost(hθ(xi),yi)=−log(1−hθ(xi)) C o s t ( h θ ( x i ) , y i ) = − log ( 1 − h θ ( x i ) )
已知 hθ(x)∈(0,1) h θ ( x ) ∈ ( 0 , 1 ) ,则 1−hθ(x)∈(0,1) 1 − h θ ( x ) ∈ ( 0 , 1 )
Cost(hθ(xi),yi)=−log(1−hθ(xi)) C o s t ( h θ ( x i ) , y i ) = − log ( 1 − h θ ( x i ) ) 的图像如下
当假设函数越接近 0 0 的时候,函数越接近 0 0 ;当假设函数越接近时, Cost C o s t 函数越趋于 ∞ ∞ ,也就是假设函数越接近 0 0 的时候,这个模型预测越正确
再考虑到函数接近时, y y 的取值
所以,当 yi=0 y i = 0 时,用 Cost(hθ(xi),yi)=−log(1−hθ(xi)) C o s t ( h θ ( x i ) , y i ) = − log ( 1 − h θ ( x i ) ) 表示偏差
同理,当 yi=1 y i = 1 时,用 Cost(hθ(xi),yi)=−log(hθ(xi)) C o s t ( h θ ( x i ) , y i ) = − log ( h θ ( x i ) ) 表示偏差求 θ θ 的过程
利用梯度下降算法,求解 θ θ 值
θj=θj−α∂∂θjJ(θ) θ j = θ j − α ∂ ∂ θ j J ( θ )
hθ(x)=11+e−θTX, 1−hθ(x)=e−θTX1+e−θTX h θ ( x ) = 1 1 + e − θ T X , 1 − h θ ( x ) = e − θ T X 1 + e − θ T X
其中 ∂∂θjJ(θ)=−1m∑mi=1∂∂θj[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))]=−1m∑mi=1[yi⋅1hθ(xi)⋅1(1+e−θTX)2⋅e−θTX⋅xij−(1−yi)⋅11−hθ(xi)⋅1(1+e−θTX)2⋅e−θTX⋅xij]=−1m∑mi=1[(yihθ(xi)+yi−11−hθ(xi))⋅(1(1+e−θTX)2⋅e−θTX⋅xij)]=−1m∑mi=1[yi−yihθ(xi)−hθ(xi)+yihθ(xi)hθ(xi)(1−hθ(xi))⋅1(1+e−θTX)2⋅e−θTX⋅xij] ∂ ∂ θ j J ( θ ) = − 1 m ∑ i = 1 m ∂ ∂ θ j [ y i log ( h θ ( x i ) ) + ( 1 − y i ) log ( 1 − h θ ( x i ) ) ] = − 1 m ∑ i = 1 m [ y i ⋅ 1 h θ ( x i ) ⋅ 1 ( 1 + e − θ T X ) 2 ⋅ e − θ T X ⋅ x j i − ( 1 − y i ) ⋅ 1 1 − h θ ( x i ) ⋅ 1 ( 1 + e − θ T X ) 2 ⋅ e − θ T X ⋅ x j i ] = − 1 m ∑ i = 1 m [ ( y i h θ ( x i ) + y i − 1 1 − h θ ( x i ) ) ⋅ ( 1 ( 1 + e − θ T X ) 2 ⋅ e − θ T X ⋅ x j i ) ] = − 1 m ∑ i = 1 m [ y i − y i h θ ( x i ) − h θ ( x i ) + y i h θ ( x i ) h θ ( x i ) ( 1 − h θ ( x i ) ) ⋅ 1 ( 1 + e − θ T X ) 2 ⋅ e − θ T X ⋅ x j i ]
上式中 hθ(xi)(1−hθ(xi))=e−θTX(1+e−θTX)2 h θ ( x i ) ( 1 − h θ ( x i ) ) = e − θ T X ( 1 + e − θ T X ) 2
得到原式 ∂∂θjJ(θ)=1m∑mi=1(hθ(xi)−yi)⋅xij ∂ ∂ θ j J ( θ ) = 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) ⋅ x j i