AI算法原理:监督学习与无监督学习实战
(12) feilong.org 修订于2026-08-07 09:33:20 AI教程监督学习与无监督学习的核心区别
机器学习可根据训练数据的标注情况分为监督学习和无监督学习。监督学习依赖带有标签的数据集,通过最小化预测误差实现模型优化;无监督学习则处理未标记数据,目标是发现潜在结构或模式。本文将结合代码实例深入解析两种方法的原理与应用。
监督学习:从理论到实践
基本原理
监督学习的核心在于建立输入特征(X)与输出标签(y)之间的映射关系。常见算法包括线性回归、逻辑回归和支持向量机等。以线性回归为例,其目标是最小化预测值与真实值的均方误差:
$$ \text{MSE} = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2 $$
实战案例:房价预测
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import numpy as np from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split import matplotlib.pyplot as plt 生成模拟数据 np.random.seed(42) X = np.random.rand(100, 1) * 10 y = 3 * X + np.random.randn(100, 1) 划分训练集与测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) 训练模型 model = LinearRegression() model.fit(X_train, y_train) 可视化结果 plt.scatter(X_test, y_test, color='blue', label='真实值') plt.plot(X_test, model.predict(X_test), color='red', label='预测值') plt.legend() plt.xlabel('特征') plt.ylabel('目标变量') plt.title('线性回归模型拟合效果') plt.show() |
关键点说明:
1. 数据预处理需确保特征与标签的对应关系
2. 模型评估应使用独立测试集避免过拟合
3. 特征工程对监督学习性能影响显著
无监督学习:探索数据的隐藏结构
基本原理
无监督学习通过分析数据内在分布实现聚类、降维或异常检测。以K-Means算法为例,其目标是将数据划分为k个簇,使同一簇内样本相似度最大化,不同簇间差异最小化:
$$ \text{目标函数} = \sum_{i=1}^{k}\sum_{x_j \in C_i} ||x_j - \mu_i||^2 $$
实战案例:客户分群分析
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
from sklearn.cluster import KMeans import pandas as pd import seaborn as sns 加载数据集(以鸢尾花数据为例) data = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data', header=None) X = data.iloc[:, :4].values 应用K-Means算法 kmeans = KMeans(n_clusters=3, random_state=42) labels = kmeans.fit_predict(X) 可视化聚类结果(以二维投影展示) sns.scatterplot(x=X[:, 0], y=X[:, 1], hue=labels, palette='viridis') plt.title('K-Means聚类结果') plt.xlabel('萼片长度') plt.ylabel('萼片宽度') plt.show() |
关键点说明:
1. 聚类数量选择需结合业务场景和肘部法则判断
2. 对数据分布的假设会影响算法效果(如K-Means对异常值敏感)
3. 可通过降维技术(如PCA)简化高维数据可视化
两种方法的核心差异对比
| 特征 | 监督学习 | 无监督学习 |
|--------------|------------------------|----------------------------|
| 数据要求 | 需要标签数据 | 不需要标签数据 |
| 应用场景 | 分类、回归任务 | 聚类、降维、异常检测 |
| 模型评估 | 使用准确率/误差指标 | 依赖业务定义的评价标准 |
实际应用中的注意事项
1. 数据质量:监督学习对噪声敏感,需进行清洗和标准化;无监督学习更依赖数据分布特性。
2. 特征选择:高维数据可能导致维度灾难,应结合领域知识筛选关键特征。
3. 算法选型:复杂任务可尝试集成方法(如随机森林、梯度提升树)替代单一模型。
结语
监督学习与无监督学习构成了机器学习的核心框架。理解其原理并掌握实战技巧,是构建智能系统的关键基础。在实际开发中,需根据问题类型选择合适的方法,并结合交叉验证、特征工程等技术手段持续优化模型性能。
更新网址:https://feilong.org/supervised-and-unsupervised-learning
最初发布:20260807 09:33:20 feilong.org 于广州
加入收藏夹,查看更方便。