11 监督学习与非监督学习
在计算机视觉的应用中,机器学习是核心组成部分,而在机器学习中,我们常常将算法分为两大类:监督学习
和非监督学习
。本篇将深入探讨这两种学习方式,理解它们的基本原理和实际应用。
监督学习
定义
监督学习
是指以带标签的数据集进行训练的过程。模型学习输入数据与输出标签之间的映射关系,目标是使模型能够基于新的输入数据预测输出。
典型算法
线性回归:用于回归问题,通过拟合一条直线来预测连续值。
示例公式:
$$
y = wx + b
$$
其中 $y$ 为输出,$x$ 为输入特征,$w$ 为权重,$b$ 为偏置。逻辑回归:主要用于二分类问题,通过映射函数(如 Sigmoid 函数)对连续输入进行分类。
示例公式:
$$
P(y=1|x) = \frac{1}{1 + e^{-(wx + b)}}
$$支持向量机(SVM):通过寻找最优超平面来分离不同类别的数据,适用于线性和非线性分类。
案例分析
手写数字识别:图像分类问题的典型案例是手写数字识别(MNIST 数据集)。我们使用 监督学习
方法,通过提供标记的手写数字图像来训练模型,使其能够识别新的手写数字。
1 | from sklearn.datasets import fetch_openml |
在上述代码中,我们使用了随机森林算法来处理 MNIST 数据集,并通过分类报告评估模型性能。
非监督学习
定义
非监督学习
是指在没有标签的数据集上进行模型训练,目标是寻找数据中的模式和结构。常见的方法包括聚类和降维。
典型算法
K-means 聚类:一种常见的聚类技术,通过将数据划分为
K
个簇,最小化簇内距离。示例公式:
$$
J = \sum_{i=1}^{K} \sum_{j=1}^{n} || x^{(j)} - \mu_i ||^2
$$主成分分析(PCA):用于降维,通过线性方式将数据投影到低维空间,以保留尽可能多的方差信息。
自编码器:一种神经网络架构,通过压缩输入数据,再重建回原始数据,常用于特征学习。
案例分析
客户细分:在市场营销中,企业可能希望根据客户行为对其进行细分,非监督学习
(如 K-means)非常有效。
1 | from sklearn.datasets import load_iris |
在此示例中,我们通过 K-means
将鸢尾花数据集聚类,并使用散点图可视化聚类结果。
小结
在计算机视觉的任务中,监督学习
和非监督学习
各有其优势和适用场景。监督学习
能够为特定任务提供精确的预测,而非监督学习
则在探索数据结构与模式方面表现优异。在后面的课程中,我们将进一步探索如何评估和选择合适的模型来解决具体问题。
敬请期待,下一篇将深入探讨模型评估与选择
。
11 监督学习与非监督学习