【机器学习】机器学习的基本分类-监督学习(Supervised Learning)

监督学习是一种通过已有的输入数据(特征)和目标输出(标签)对模型进行训练的机器学习方法,旨在学到一个函数,将输入映射到正确的输出。


1. 监督学习概述

监督学习需要:

  • 输入数据 (特征):X,如图片、文本、数值等。
  • 输出标签y,即目标值,如图片的分类标签、房价等。
  • 目标:通过训练模型,使其能够预测新数据的标签。

公式表示

从训练数据 (X, y) 中学到一个函数 f(x),使得对于新输入 x',预测值 f(x') 与真实值 y' 尽可能接近。


2. 常见任务类型

分类任务

目标:预测离散类别标签。

  • 示例:垃圾邮件检测(垃圾邮件/非垃圾邮件)、图片分类(猫/狗/鸟)。
  • 常见评价指标:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1 分数等。
回归任务

目标:预测连续值。


3. 数据准备与预处理

3.1 数据收集
  • 数据来源:数据库、日志文件、公开数据集(如 Kaggle)。
  • 注意:确保数据多样性和质量。
3.2 数据清洗
  • 处理缺失值:均值填充、中位数填充或删除缺失数据。
  • 处理异常值:通过箱线图、标准差等方法检测并处理。
3.3 特征工程
  • 标准化/归一化:对数值型特征进行标准化,使其均值为 0,标准差为 1。
  • 编码:对类别型特征用独热编码(One-Hot Encoding)或标签编码(Label Encoding)。
  • 特征选择:删除低相关性或多余的特征,提高模型性能。
3.4 数据划分
  • 划分为训练集、验证集和测试集(例如 60%/20%/20%)。

4. 模型训练与评估

4.1 模型选择

根据任务选择合适的算法,如:

  • 分类:逻辑回归、支持向量机(SVM)、决策树、随机森林等。
  • 回归:线性回归、岭回归、Lasso 回归、梯度提升树(GBDT)等。
4.2 训练模型

通过优化损失函数(如均方误差、交叉熵)调整模型参数。

4.3 模型评估
  • 在验证集上评估性能,通过超参数调优(如学习率、正则化强度)优化模型。
  • 避免过拟合:使用正则化(L1/L2)、Dropout 或限制树深度等手段。

5. 常见算法及实现

以下是分类与回归常用算法的 Python 实现:

5.1 分类算法
  • 逻辑回归(Logistic Regression)
python 复制代码
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
  • 支持向量机(SVM)
python 复制代码
from sklearn.svm import SVC
model = SVC(kernel='linear')
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
5.2 回归算法
  • 线性回归
python 复制代码
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
  • 梯度提升树(GBDT)
python 复制代码
from sklearn.ensemble import GradientBoostingRegressor
model = GradientBoostingRegressor()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)

6. 案例分析

案例 1:分类问题(垃圾邮件检测)
  1. 数据:下载带有邮件内容及是否垃圾的标注数据集。
  2. 特征提取:对文本数据进行向量化(如 TF-IDF)。
  3. 模型训练:使用逻辑回归模型。
  4. 评估:计算准确率、F1 分数。
案例 2:回归问题(房价预测)
  1. 数据:房屋面积、卧室数量、地理位置等特征。
  2. 预处理:标准化数值型特征,编码类别型特征。
  3. 模型训练:使用随机森林回归模型。
  4. 评估:计算 MSE 和 R²。

7. 监督学习的挑战与改进

  1. 过拟合与欠拟合

    • 解决过拟合:增加数据量、使用正则化、减少模型复杂度。
    • 解决欠拟合:增加特征、使用更复杂模型。
  2. 数据不平衡

    • 分类问题中类别分布不均。
    • 解决方法:采样技术(过采样/下采样)、使用 F1 分数评估。
  3. 噪声数据与异常值

    • 影响模型性能。
    • 解决方法:清洗数据、使用稳健算法。
  4. 模型解释性

    • 如深度学习模型不易解释。
    • 解决方法:使用可解释性工具(如 SHAP、LIME)。

8. 工具与框架

  1. 数据预处理:pandas, numpy
  2. 机器学习:scikit-learn, xgboost, lightgbm
  3. 可视化:matplotlib, seaborn

通过动手实践小项目(如图片分类或简单预测任务),可以快速理解和掌握监督学习的基本原理和应用技巧!如果有具体需求,我可以进一步提供代码和案例指导。

相关推荐
意疏2 分钟前
从告警风暴到根因定位:SigNoz+CPolar让分布式系统观测效率提升10倍的实战指南
人工智能
尘似鹤15 分钟前
微信小程序学习(六)--多媒体操作
学习·微信小程序·小程序
新智元20 分钟前
Ilya震撼发声!OpenAI前主管亲证:AGI已觉醒,人类还在装睡
人工智能·openai
朱昆鹏29 分钟前
如何通过sessionKey 登录 Claude
前端·javascript·人工智能
汉堡go36 分钟前
1、机器学习与深度学习
人工智能·深度学习·机器学习
UpYoung!1 小时前
无广技术贴!【PDF编辑器】Solid Converter PDF保姆级图文下载安装指南——实用推荐之PDF编辑软件
学习·数学建模·pdf·编辑器·运维开发·个人开发
只是懒得想了1 小时前
使用 Gensim 进行主题建模(LDA)与词向量训练(Word2Vec)的完整指南
人工智能·自然语言处理·nlp·word2vec·gensim
达瓦里氏1231 小时前
重排反应是什么?从分子变化到四大关键特征解析
数据库·学习·化学
johnny2331 小时前
OpenAI系列模型介绍、API使用
人工智能
KKKlucifer1 小时前
生成式 AI 冲击下,网络安全如何破局?
网络·人工智能·web安全