机器学习基础 - 分类模型之逻辑回归
机器学习: 逻辑回归
文章目录
- 机器学习: 逻辑回归
- logistic回归简介
- Logistic 回归的数学表达
- 如何求解最优的 θ \theta θ
- 常见问题
- 1. 逻辑回归与线性回归
- 2. 推导一下 LR
- 3. LR 如何实现多分类?
- 4. LR 为何要对特征进行离散化
- 5. 逻辑回归中,增大 L1 正则化会是什么结果
- 5. 逻辑回归中,增大 L1 正则化会是什么结果
logistic回归简介
logistic回归用于解决的是分类问题,其基本思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。也就是说,logistic 回归不是对所有数据点进行拟合,而是要对数据之间的分界线进行拟合。
- 逻辑回归的本质: 极大似然估计
- 逻辑回归的激活函数:Sigmoid
- 逻辑回归的代价函数:交叉熵
Logistic 回归的数学表达
h θ ( x ) = s i g m o i d ( θ T X ) = 1 1 + e − θ T X h_\theta(x) = sigmoid(\theta^T X) = \frac{1}{1 + e^{-\theta^T X}} hθ(x)=sigmoid(θTX)=1+e−θTX1
如何求解最优的 θ \theta θ
首先,我们依旧是要找到一个合适的损失函数,在Logistic回归中的损失函数为:
C o s t ( h θ ( x ) , y ) = { − l o g ( h θ ( x ) ) i f y = 1 − l o g ( 1 − h θ ( x ) ) i f y = 0 Cost(h_{\theta}(x),y) = \begin{cases} -log(h_{\theta(x)}) & if \, y = 1\\ -log(1-h_{\theta(x)}) & if \, y = 0 \end{cases} Cost(hθ(x),y)={−log(hθ(x))−log(1−hθ(x))ify=1ify=0
J ( θ ) = − 1 m [ ∑ i = 1 m y ( i ) l o g ( h θ ( x ( i ) ) ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) ] J(\theta) = - \frac{1}{m} \left[ \sum_{i=1}^m y^{(i)}log(h_\theta(x^{(i)})) + (1-y^{(i)}) log(1 - h_\theta(x^{(i)})) \right] J(θ)=−m1[i=1∑my(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]
我们最终给它加一个正则化项:
J ( θ ) = − 1 m [ ∑ i = 1 m y ( i ) l o g ( h θ ( x ( i ) ) ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) ] + λ 2 m ∑ j = 1 m θ j 2 J(\theta) = - \frac{1}{m} \left[ \sum_{i=1}^m y^{(i)}log(h_\theta(x^{(i)})) + (1-y^{(i)}) log(1 - h_\theta(x^{(i)})) \right] + \frac{\lambda}{2m} \sum_{j=1}^{m}\theta_j^2 J(θ)=−m1[i=1∑