参考:
百面机器学习
西瓜书
02 逻辑回归Logistic Regression(对数机率回归)
2.1 逻辑回归和线性回归
2.2 二分类逻辑回归
从线性回归到逻辑回归,可以理解成要找一个映射f,将连续区间的值映射到有限值的区间,特定的值对应特定的类别。
- 单位阶跃函数是很好的选择,大于0的预测为一类,小于0的为另一类,等于0随意分。但是它不连续,因此构建模型后无法用作f=g−1(⋅)。
- 因此用接近单位阶跃函数的可微函数——对数机率函数(logistic function,是sigmoid函数,即S型函数的一种)来代替
f(z)=1+e−z1
可对逻辑回归进行化简
y=f(θTx+b)=1+e−(θTx+b))1y1−y=e−(θTx+b))ln1−yy=θTx+b
若将y视为样本作为正例的可能性P[y=1∣x;θ,b],或说似然;称1−yy为机率 (odds) ,对数机率 (log odds ,亦称logit)为
ln1−yy
- 可用极大似然法最大化对数似然对参数进行求解
ℓ(θ,b)=i=1∑mlnp(yi∣xi;θ,b)
其中
p(y=1∣x)=1+eθTx+beθTx+bp(y=0∣x)=1+eθTx+b1
2.3 多项逻辑回归Softmax regression
当使用逻辑回归处理多标签分类问题时:
2.3.1 基本形式
假设每个样本属于k个不同类别的概率服从几何分布,则对每一类的分类预测概率可以表示为
hθ(x)=⎣⎢⎢⎢⎡p(y=1∣x;θ)p(y=2∣x;θ)⋮p(y=k∣x;θ)⎦⎥⎥⎥⎤=∑j=1keθj⊤x1⎣⎢⎢⎢⎡ee⊤xeθ2Tx⋮eqjx⎦⎥⎥⎥⎤
2.3.2 多项逻辑回归是二分类逻辑回归在多标签分类下的一种拓展
用多分类的形式写出二分类逻辑回归:
hθ(x)=eθ1Tx+eθ2Tx1[eθ1Txeθ2Tx]
进行一下变化,消除参数θ们的冗余性
hθ(x)=e0⋅x+e(θ2T−θ1T)x1[e0⋅xe(θ2T−θ1T)x]=[1+eθTx11−1+eθTx1]
这和二分类逻辑回归的式子就一样了。
2.3.3 当存在样本可能属于多个类别的情况时
- k个类别,训练k个二分类的逻辑回归分类器
- 对每个类别,第i个分类器用以区分样本可不可以归为第i类,即“第i类”与“非第i类”两类