有监督学习&无监督学习
有监督学习(Supervised Learning)和无监督学习(Unsupervised Learning)是机器学习中的两种主要方法,它们在目标、数据使用和应用场景上有显著的区别:
- 目标不同:
- 有监督学习:目的是通过训练数据集(包含输入特征和对应的标签)来学习一个模型,以便对新的、未见过的数据进行预测或分类。它的目标是找到输入数据和输出标签之间的关系。
- 无监督学习:目的是在没有标签的数据中发现模式、结构或分布。它试图理解数据的本质,而不是预测或分类。
- 数据使用:
- 有监督学习:需要标注过的训练数据,即每个训练样本都有一个与之对应的标签。
- 无监督学习:使用未标注的数据,算法需要自己找出数据中的结构。
- 应用场景:
- 有监督学习:常用于分类(如垃圾邮件识别)、回归(如房价预测)等任务。
- 无监督学习:常用于聚类(如市场细分)、关联规则学习(如购物篮分析)、异常检测(如信用卡欺诈检测)等任务。
- 算法示例:
- 有监督学习:决策树、支持向量机(SVM)、神经网络、逻辑回归等。
- 无监督学习:K-均值聚类、主成分分析(PCA)、自编码器、生成对抗网络(GANs)等。
- 评估方式:
- 有监督学习:通常使用准确率、召回率、F1分数、均方误差(MSE)等指标来评估模型性能。
- 无监督学习:评估较为复杂,可能使用内部评价指标(如簇内距离)或外部评价指标(如果已知真实标签)。
- 挑战:
- 有监督学习:需要大量的标注数据,标注成本高,且对数据的噪声和不完整性敏感。
- 无监督学习:由于缺乏标签,很难验证模型是否找到了正确的数据结构,且结果的解释性不如有监督学习。
- 半监督学习:介于有监督学习和无监督学习之间,使用少量标注数据和大量未标注数据进行训练。
- 强化学习:虽然不属于有监督或无监督学习,但它是一种通过与环境的交互来学习如何做出决策的方法。
总的来说,有监督学习关注于预测和决策,而无监督学习关注于探索和发现数据的内在结构。
有监督学习
一、监督学习的基本概念
1.1 概念定义
监督学习是通过已知的输入和输出数据样本,来学习一个确定性函数或概率分布模型的方法。在监督学习中,输入和输出变量都是已知的,同时,学习器的输出也必须与人工给定的真实结果一致。监督学习通常可分为两类:回归问题和分类问题。回归问题是指对连续值的预测问题,比如预测房价、股票价格等;分类问题是指对离散值的预测问题,比如判断一封邮件是否为垃圾邮件、预测肿瘤是否为恶性等。
1.2 基本步骤
监督学习的基本步骤可以概括为以下三步:
(1)数据准备:需要将已知数据分为训练集和测试集,通常采用交叉验证方法来划分数据集。
(2)模型选择:需要选择适合问题的模型,比如线性回归模型、决策树模型、支持向量机模型等。
(3)模型训练和预测:使用训练数据对模型进行训练,然后用测试数据集对模型进行预测,并通过评价指标对模型进行评价。
二、常见的监督学习算法
2.1 线性回归
线性回归是一种基本的监督学习算法,适用于解决大部分的回归问题。线性回归假设目标函数是一个线性组合,并利用样本的输入和输出将其拟合。线性回归模型的形式如下:
y
=
w
0
+
∑
i
=
1
n
w
i
x
i
y=w_0+\sum_{i=1}^nw_ix_i
y=w0+i=1∑nwixi
其中,y 表示预测值,x_i 表示输入特征,w_i 表示特征权重,w_0 表示截距。线性回归模型的训练过程就是求解权重向量 w 使得预测值与真实值之间的平均方差最小。
2.2 决策树
决策树是一种基于分支结构的非参数监督学习算法,用于解决分类和回归问题。决策树将样本分成多个子集,每个子集对应于一个叶子节点,其内部节点表示特征选择规则。决策树算法的核心是构建决策树,根据信息增益或基尼指数等指标,选择最优的特征进行分割。常用的决策树算法包括 ID3、C4.5、CART 等。
2.3 支持向量机
支持向量机是一种二分类和回归问题的监督学习算法,主要用于分类问题。支持向量机的主要思想是在特征空间中寻找一个最优划分超平面,使得不同类别的数据点距离该超平面最近时距离最大,可以通过核函数的变换实现非线性分类问题。支持向量机是一种高效的分类算法,被广泛应用于计算机视觉、文本分类等领域。
2.4 朴素贝叶斯
朴素贝叶斯是一种基于贝叶斯定理的分类算法,处理分类问题时,它假设特征之间条件独立,即其后验概率可以通过先验概率和条件概率的乘积求得。朴素贝叶斯分类器拥有简单和快速的分类方法,常被用于垃圾邮件分类、文本分类、情感分析等任务。
三、监督学习的评价指标
3.1 准确率和召回率
准确率和召回率是用于评估分类模型性能的重要指标。准确率是指分类器正确分类所有测试集样本的百分比,其计算公式为:
A
c
c
u
r
a
c
y
=
T
P
+
T
N
T
P
+
T
N
+
F
P
+
F
N
Accuracy=\frac{TP+TN}{TP+TN+FP+FN}
Accuracy=TP+TN+FP+FNTP+TN
其中,TP 表示真阳性(true positive)、TN 表示真阴性(true negative)、FP 表示假阳性(false positive)、FN 表示假阴性(false negative)。
召回率是指分类器能够正确识别出正样本的能力,其计算公式为:
R
e
c
a
l
l
=
T
P
T
P
+
F
N
Recall=\frac{TP}{TP+FN}
Recall=TP+FNTP
3.2 F1 值
F1 值是准确率和召回率的综合度量,可以用来对各种分类算法的性能进行比较。F1 值是准确率和召回率的加权调和平均值,其计算公式为:
F
1
=
2
P
R
P
+
R
F1=\frac{2PR}{P+R}
F1=P+R2PR
其中,P 表示准确率,R 表示召回率。
3.3 AUC
AUC(Area Under Curve)被广泛使用于评估分类模型性能。AUC 总结了分类器所有可能的预测排序,是 ROC 曲线下的面积。AUC 值越接近于 1,说明分类器具有更好的性能,越接近于 0.5,则说明分类器的性能较差。