第三讲_逻辑回归

逻辑回归

参考链接:机器学习:逻辑回归

逻辑回归是一个分类算法

对于分类问题的分类: - 二分类 - 多分类

逻辑回归是一个简单的二分类问题

分类和回归的区别: - 分类的结果取值只有两个 0 或 1 - 回归的结果取值可以是全体实数

数据

可以有多个维度(特征),和线性回归类似

模型

使用的是线性模型:

基础模型:

  • \(z=W^TX+b\)

sigmoid function:也叫激活函数

  • \(sigmoid(z)=\frac{1}{1+e^{-z}}\)

1
2
3
4
5
def sigmoid(x):  # sigmoid函数
return 1/(1+np.exp(-x))

def sigmoid_derivative(x): # sigmoid函数导数
return x*(1-x) # 这个也需要记一下
  • \(\hat{y}=sigmoid(z)\)
1
2
def modlel_predict(x, theta):
return sigmoid(np.dot(x, theta))

损失函数

Cross-entropy loss function: 交叉熵损失函数

  • \(L_i=-y_i\log(\hat{y_i})-(1-y_i)\log(1-\hat{y_i})\)

\(y_i\) 等于 1 时激活 \(log(\hat{y_i})\) 值,\(y_i\) 等于 0 时激活 \(log(1-\hat{y_i})\)

代价函数如下:

  • \(L=\frac{1}{n}\sum_{i=1}^nL_i\)

计算梯度公式:

  • \(\frac{\partial L_i}{\partial W_i}=\frac{\partial L_i}{\partial \hat{y}}\frac{\partial \hat{y}}{\partial z} \frac{\partial z}{\partial W_i}=(\hat{y_i}-y_i)x_i\)

  • \(\frac{\partial L_i}{\partial b}=(\hat{y_i}-y_i)\)

更新公式:

  • \(W_i=W_i-\alpha\frac{\partial L}{\partial W_i}=W_i-\frac{\alpha}{n}\sum_{i=1}^{n}(\hat{y_i}-y_i)x_i\)

  • \(b=b-\alpha\frac{\partial L}{\partial b}=b-\frac{\alpha}{n}\sum_{i=1}^{n}(\hat{y_i}-y_i)\)

模型总结

补充的内容:

注意:在很多分类场景当中我们不一定只关注预测的准确率,而是关注在所有样本中,目标群体是否被全部预测出来

使用混淆矩阵对分类问题进行评估

准确率和召回率:

F1 反应了模型的稳健性 alt text

样本不均衡问题下的评估

假设这样一个情况,如果99个样本癌症,1个样本非癌症,不管怎样我全都预测正例(默认癌症为正例),准确率就为99%但是这样效果并不好,这就是样本不均衡下的评估问题

过采样与欠采样

这部分内容是参考了杭电高飞老师的课件,没有做很详细的笔记

补充的资料:

由 Softmax 想到的(二)—— Logistic 回归的 Loss 函数为什么长成那个样子?

https://sakigami-yang.me/2017/08/10/thinking-from-softmax-02/


第三讲_逻辑回归
http://jrhu0048.github.io/2024/09/18/ji-qi-xue-xi/di-san-jiang-luo-ji-hui-gui/
作者
JR.HU
发布于
2024年9月18日
更新于
2024年10月26日
许可协议