“机器学习分类”(Machine Learning Classification)是机器学习中的一个监督学习任务,它的目标是让模型根据输入数据预测所属的类别(class)或标签(label)。简单来说,就是“根据已知样本的经验,判断新样本属于哪一类”。
🧠 一、分类的基本概念
概念 | 说明 |
---|---|
输入(Feature) | 样本的特征,如图片像素、身高体重、文本词频等 |
输出(Label) | 类别,如“猫/狗”、“通过/未通过”、“正面/负面” |
目标 | 学习一个函数 f(x),能对新样本 x 输出正确类别 y |
如何区分哪个 class 是哪个呢
用向量表示
当把回归的一个输出改成多个输出,就是分类
🧩 二、常见分类类型
类型 | 示例 | 特点 |
---|---|---|
二分类 (Binary Classification) | 垃圾邮件识别(垃圾 or 非垃圾) | 只有两类 |
多分类 (Multi-class Classification) | 手写数字识别(0–9) | 多于两类,且互斥 |
多标签分类 (Multi-label Classification) | 一张图里可同时有“猫”和“狗” | 可属于多个类别 |
层次分类 (Hierarchical Classification) | “动物 → 哺乳类 → 猫科” | 分类有层次结构 |
🔧 三、常见算法
算法 | 简介 | 优缺点 |
---|---|---|
逻辑回归 (Logistic Regression) | 基于线性模型的概率分类器 | 简单快速,适合线性可分 |
K近邻 (KNN) | 看最近的K个样本类别 | 简单但计算慢 |
决策树 (Decision Tree) | 基于特征划分构造树 | 可解释性强,易过拟合 |
随机森林 (Random Forest) | 多棵树投票 | 准确率高,鲁棒性好 |
支持向量机 (SVM) | 寻找最大间隔超平面 | 适合中小数据集 |
朴素贝叶斯 (Naive Bayes) | 基于概率的分类器 | 快速,对文本分类有效 |
神经网络 / 深度学习 | 模拟人脑神经元结构 | 精度高但需大量数据 |
🧠 一、Softmax 的定义
$Softmax $ 是一种归一化函数,它可以把一组任意实数(logits)转化为一组 概率分布(各值之和为 1)。
设模型输出为一个向量:
$z=[z1,z2,…,zK]$
$Softmax $ 函数定义为:
$\text{Softmax}(z_i) = \frac{e{z_i}}{\sum_{j=1} e^{z_j}}$
其中 K 是类别数。
🧩 二、Softmax 的作用
Softmax 的主要作用:
- 将模型的原始输出(logits)映射成概率;
- 概率总和为 1;
- 概率最大的类别就是模型的预测结果。
例子:
类别 | 原始输出 ziz_izi | Softmax 概率 |
---|---|---|
猫 🐱 | 2.1 | $e2.1/(e2.1+e1.2+e0.5) ≈ 0.63$ |
狗 🐶 | 1.2 | ≈ 0.23 |
鸟 🐦 | 0.5 | ≈ 0.14 |
所以模型预测 “猫” 的概率最高。
⚙️ 三、Softmax 的性质
性质 | 说明 |
---|---|
非负性 | 每个输出都 ≥ 0 |
归一性 | 所有输出概率之和 = 1 |
平滑性 | 输出对输入的微小变化敏感但连续 |
放大差异性 | 较大的 ziz_izi 会被指数放大,更容易接近 1 |
🧮 四、与交叉熵 (Cross Entropy) 一起使用
在分类任务中,Softmax 通常和 交叉熵损失函数 一起使用:
$L = - \sum_{i=1}^{K} y_i \log(\hat{y_i})$
其中:
- $y_i $是真实标签(one-hot 编码),
- $^\hat{y_i} $是 Softmax 输出的概率。
对于单样本(真实类别为 c):
$L = - \log(\hat{y_c})$
也就是只惩罚模型对真实类别的预测概率。
损失函数有Mean Square Error 和 Crooss-entropy
为什么常用Cross-entropy
Mean square Error 在lagre Loss的时候很平坦,很难更新参数(训练)
🧪 四、分类模型的评估指标
指标 | 含义 |
---|---|
准确率 (Accuracy) | 预测正确样本数 / 总样本数 |
精确率 (Precision) | 预测为正的样本中,实际为正的比例 |
召回率 (Recall) | 实际为正的样本中,被预测为正的比例 |
F1值 (F1 Score) | 精确率与召回率的调和平均值 |
ROC曲线 / AUC值 | 衡量模型区分能力 |
🧭 五、典型应用场景
- 📧 邮件分类(垃圾邮件检测)
- 📷 图像识别(猫狗分类、人脸识别)
- 💬 文本情感分析(正面/负面)
- 🏥 医疗诊断(良性/恶性)
- 💳 信用卡欺诈检测