逻辑回归
🚀 3.1逻辑回归
🌟 学习目标
- 了解逻辑回归的现实应用场景
- 掌握逻辑回归的核心原理
- 理解损失函数与优化算法的数学逻辑
🌐 1. 逻辑回归的应用场景
生活中常见的二分类问题都可以用逻辑回归解决:
- ✉️ 垃圾邮件识别(是 / 否)
- ❤️ 疾病诊断(患病 / 健康)
- 💰 金融风控(欺诈 / 正常)
- 📲 账号检测(虚假 / 真实)
- 📈 广告效果(点击 / 不点击)
特点:所有问题都只有两个对立结果,逻辑回归通过概率判断归属。
🧠 2. 逻辑回归的核心原理
🔄 输入层:线性回归的输出
逻辑回归的输入是线性回归的预测值:
🚦 激活函数
- 🐱sigmoid 函数
判断标准
- 回归的结果输入到sigmoid函数当中
- 输出结果:[0, 1]区间中的一个概率值,默认为0.5为阈值
逻辑回归最终的分类是通过属于某个类别的概率值来判断是否属于某个类别,并且这个类别默认标记为1(正例),另外的一个类别会标记为0(反例)。(方便损失计算)
输出结果解释(重要):假设有两个类别A,B,并且假设我们的概率值为属于A(1)这个类别的概率值。现在有一个样本的输入到逻辑回归输出结果0.55,那么这个概率值超过0.5,意味着我们训练或者预测的结果就是A(1)类别。那么反之,如果得出结果为0.3那么,训练或者预测结果就为B(0)类别。
例如,在判断一封邮件是否为垃圾邮件的问题中,如果逻辑回归模型输出的概率值为 0.7,超过了 0.5 的阈值,那么我们可以判断这封邮件是垃圾邮件(标记为 1);如果输出概率值为 0.2,小于 0.5,则判断为正常邮件(标记为 0)。
📌 阈值可调:根据业务需求调整(如风控可设为 0.7)
比如上面举例中,如果你把阈值设置为 0.6,那么输出的结果 0.55,就属于 B 类。
在不同的应用场景中,我们可以根据实际需求调整阈值。例如,在医疗诊断中,为了尽可能减少漏诊(将患病判断为未患病),可以适当降低阈值,使得更多的样本被判断为患病,再进行进一步的检查确认;而在一些对误判成本较高的场景中,可能需要提高阈值,以保证判断的准确性。
在之前,我们用最小二乘法衡量线性回归的损失。在逻辑回归中,当预测结果不对的时候,我们该怎么衡量其损失呢?
我们来看下图 (下图中,设置阈值为 0.6):
那么如何去衡量逻辑回归的预测结果与真实结果的差异呢?
📉 3. 损失函数与优化算法
🔥3.1 损失
其中\(y\)为真实值,\(h_{\theta}(x)\)为预测值。
怎么理解单个的式子呢?这个要根据\(\log\)的函数图像来理解:
无论何时,我们都希望损失函数值,越小越好
分情况讨论,对应的损失函数值:
- 当y=1时,我们希望hθ(x)值越大越好;
- 当y=0时,我们希望hθ(x)值越小越好
综合完整损失函数
接下来我们带入上面那个例子来计算一遍,就能理解意义了:
我们已经知道,\(\log(P)\),\(P\)值越大,结果越小,所以我们可以对着这个损失的式子去分析。
🧐 3.2 优化
同样使用梯度下降优化算法,去减少损失函数的值。这样去更新逻辑回归前面对应算法的权重参数,提升原本属于 1 类别的概率,降低原本是 0 类别的概率。
梯度下降算法通过计算损失函数关于参数\(\theta\)的梯度,然后沿着梯度的反方向更新参数,使得损失函数逐渐减小。具体步骤如下:
- 初始化参数\(\theta\)。
- 计算损失函数关于\(\theta\)的梯度\(\nabla_{\theta} J(\theta)\)。
- 根据学习率\(\alpha\),更新参数\(\theta\):\(\theta = \theta - \alpha \nabla_{\theta} J(\theta)\)。
- 重复步骤 2 和 3,直到损失函数收敛或达到最大迭代次数。
通过不断地迭代更新参数,逻辑回归模型能够逐渐学习到数据中的模式,提高分类的准确性。
🎉 4.总结
逻辑回归作为一种经典的机器学习算法,在实际应用中具有广泛的用途。它简单易懂、计算效率高,并且能够输出概率值,为决策提供了更多的信息。通过深入理解逻辑回归的原理、损失函数和优化方法,我们能够更好地应用它来解决各种分类问题。
🐱 彩蛋:逻辑回归虽然名字带”回归”,但实际是分类模型,这就是机器学习的”名不副实”冷知识~