机器学习中的监督学习:回归与分类详解

监督学习概述

监督学习主要分为两大类任务:回归(Regression/Prediction)和分类(Classification)。这两种任务在现实中有广泛的应用场景:

机器学习应用实例详解

回归问题应用实例

房价预测

  • 应用场景:上海浦东新区房产中介公司需要为待售房源提供合理定价
  • 输入特征
    • 房屋面积(80-200平方米)
    • 地段(陆家嘴、张江高科、前滩等不同商圈)
    • 房龄(1-30年)
    • 配套设施(地铁距离、学区质量、商场便利度)
    • 楼层(1-50层)
  • 输出:单位面积价格预测(人民币/平方米)
  • 数据来源:链家、贝壳等平台近3年成交数据

金融预测

  • 应用场景:证券公司量化投资部门需要预测沪深300指数未来走势
  • 输入特征
    • 历史收盘价(过去5年每日数据)
    • 成交量变化
    • 宏观经济指标(GDP、CPI、PMI等)
    • 行业板块轮动情况
    • 国际市场关联性指标
  • 输出:未来30日指数点位预测区间
  • 技术难点:处理市场非平稳性和突发事件影响

销售预测

  • 应用场景:某电子产品制造商需要规划下季度生产计划
  • 输入特征
    • 过去24个月月销量数据
    • 季节性因素(节假日、促销活动)
    • 竞品价格变化
    • 线上平台搜索热度
    • 社交媒体讨论量
  • 输出:下季度各型号产品预计销售量(误差控制在±8%以内)
  • 典型算法:时间序列分析(ARIMA)、LSTM神经网络

分类问题应用实例

服装尺码推荐

  • 应用场景:某电商平台男装店铺的智能推荐系统
  • 输入特征
    • 身高(1.85m)
    • 体重(100kg)
    • 肩宽(48cm)
    • 胸围(110cm)
    • 腰围(95cm)
    • 个人偏好(修身/宽松)
  • 输出:T恤推荐尺码(XL、XXL、XXXL等)
  • 数据来源:平台用户历史购买评价和退换货记录

医疗诊断

  • 应用场景:三甲医院肿瘤科辅助诊断系统
  • 输入特征
    • 肿瘤体积(直径2-8cm)
    • 患者年龄(30-80岁)
    • 肿瘤位置(乳腺、肺部等)
    • 影像学特征(边缘规则性、密度均匀性)
    • 生物标志物水平(CA125、CEA等)
  • 输出:恶性概率(0-100%)及置信度
  • 准确率要求:需达到95%以上敏感性

垃圾邮件识别

  • 应用场景:企业邮箱系统的自动过滤功能
  • 输入特征
    • 发件人信誉评分
    • 邮件主题关键词("中奖"、"免费"等)
    • 正文链接数量
    • 附件类型(exe、zip等)
    • 发送频率(短时间内大量发送)
  • 输出:垃圾邮件概率分类(0-1)
  • 处理方式:自动移动到垃圾邮件文件夹或直接删除
  • 更新机制:每周基于用户反馈更新模型参数

线性回归详解

基本概念

线性回归是一种通过属性的线性组合来进行预测的线性模型,其目的是找到一个超平面(二维时为直线,三维时为平面,更高维时为超平面),使得预测值与真实值之间的误差最小化。

维度说明:

  • 2个变量:二维平面中的直线
  • 3个变量:三维空间中的平面
  • 4个及以上变量:高维空间中的超平面

线性回归可分为:

  1. 简单一元线性回归:单特征预测(一次线性方程)
  2. 多元线性回归:多特征预测(多次线性方程)

符号定义

  • m:训练集中样本的数量
  • n:特征的数量
  • x:特征/输入变量
  • y:目标变量/输出变量
  • (x,y):训练集中的样本
  • (x⁽ⁱ⁾,y⁽ⁱ⁾):第i个观察样本
  • h:假设函数(学习算法的解决方案)
  • ŷ:预测值

单变量线性回归

假设函数可表示为:h(x) = w₀ + w₁x 通常设x₀=1,则向量化表示为:h(x) = wᵀx

损失与代价函数
  • 损失函数:度量单样本预测误差
    • 常用类型:0-1损失、平方损失、绝对损失、对数损失等
  • 代价函数:度量全部样本的平均误差
    • 常用类型:均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)等

对于线性回归,常用平方损失函数: J(w) = 1/2 Σ(y⁽ⁱ⁾ - h(x⁽ⁱ⁾))² (其中1/2是为了便于后续求导计算)

目标是找到一组参数w(w₀,w₁)使得残差平方和最小。

求解方法:梯度下降

基本原理

梯度下降法通过迭代调整参数来最小化损失函数J(w)。对于线性回归问题,通常使用均方误差(MSE)作为损失函数。

梯度计算: ∂J(w)/∂wⱼ = Σ(h(x⁽ⁱ⁾) - y⁽ⁱ⁾)xⱼ⁽ⁱ⁾

参数更新规则: wⱼ := wⱼ - α ∂J(w)/∂wⱼ

其中α为学习率,需要谨慎选择:

  • 太小:收敛速度过慢
  • 太大:可能导致无法收敛甚至发散
梯度下降类型
  1. 批量梯度下降(BGD)

    • 每次迭代使用全部训练样本
    • 参数更新稳定但计算量大
  2. 随机梯度下降(SGD)

    • 每次迭代随机使用一个样本
    • 计算速度快但参数更新波动大
  3. 小批量梯度下降(MBGD)

    • 每次迭代使用小批量(batch)样本
    • 平衡了BGD和SGD的优点

多变量线性回归

当特征数量n≥1时,即为多元线性回归模型。求解方法与单变量类似,只是特征矩阵X维度增加。

数据预处理

归一化(Min-Max Scaling)

将数据线性映射到[0,1]区间: x' = (x - min)/(max - min)

特点:

  • 改变原始数据分布
  • 使不同特征对目标影响一致
标准化(Z-score Normalization)

处理后数据均值为0,方差为1: x' = (x - μ)/σ

特点:

  • 保持原始数据分布形态
  • 使不同特征具有可比性
预处理必要性

需要标准化/归一化的情况

  • 基于距离的模型:KNN、SVM、K-means等
  • 线性模型:线性回归、逻辑回归等

不需要标准化/归一化的情况

  • 树模型:决策树、随机森林、XGBoost等
  • 概率模型:朴素贝叶斯等

正规方程法

除梯度下降外,还可通过正规方程直接求解: w = (XᵀX)⁻¹Xᵀy

其中:

  • X:设计矩阵(m×(n+1))
  • y:目标向量(m×1)
  • w:参数向量((n+1)×1)

局限性

  • 当XᵀX不可逆时无法使用
  • 特征数量很大时计算成本高

过拟合与欠拟合处理

过拟合解决方案
  1. 增加训练数据:最有效的方法
  2. 特征选择/降维:如PCA
  3. 集成学习:如随机森林
  4. 正则化:L1/L2正则化
欠拟合解决方案
  1. 添加新特征:特征工程
  2. 增加模型复杂度:如添加多项式特征
  3. 减小正则化系数

正则化技术

正则化通过在损失函数中添加惩罚项来控制模型复杂度:

  1. L1正则化(Lasso): J(w) = MSE + λΣ|wⱼ|

    • 产生稀疏权重
    • 可用于特征选择
  2. L2正则化(Ridge): J(w) = MSE + λΣwⱼ²

    • 使权重平滑
    • 防止过拟合

评估指标

常用

常用线性回归评估指标详解:

  1. 均方误差(MSE)
  • 定义:预测值与真实值差值的平方的平均值
  • 公式:MSE = (1/n) * Σ(yᵢ - ŷᵢ)²
  • 特点:对异常值敏感,数值越大表示误差越大
  • 示例:若真实值为[3,5,7],预测值为[4,4,8],则MSE=(1+1+1)/3≈1.0
  1. 均方根误差(RMSE)
  • 定义:MSE的平方根,与目标变量同量纲
  • 公式:RMSE = √MSE
  • 特点:更直观反映误差大小
  • 应用场景:房价预测中,RMSE=5表示平均误差约5万元
  1. 平均绝对误差(MAE)
  • 定义:预测值与真实值差值的绝对值的平均
  • 公式:MAE = (1/n) * Σ|yᵢ - ŷᵢ|
  • 特点:对异常值不敏感,解释性强
  • 对比:相比MSE/RMSE,MAE不会放大误差
  1. R²得分(决定系数)
  • 定义:模型解释的方差比例,范围[0,1]
  • 公式:R² = 1 - SS_res/SS_tot
  • 解读:
    • 1表示完美拟合
    • 0表示模型不优于均值预测
    • 可为负值表示模型表现极差
  • 优势:无量纲,适合不同模型的横向比较

注意事项:

  • 选择指标应考虑业务需求(如是否需要异常值敏感)
  • 多个指标配合使用可获得更全面的评估
  • 在sklearn中对应:
    • MSE: mean_squared_error
    • RMSE: 需对MSE取平方根
    • MAE: mean_absolute_error
    • R²: r2_score

评估指标:

  1. 均方误差(MSE)
  2. 均方根误差(RMSE)
  3. 平均绝对误差(MAE)
  4. R²得分(决定系数)

总结

本文详细介绍了监督学习中的回归与分类问题,重点讲解了线性回归的原理、求解方法以及实际应用中的注意事项,包括数据预处理、模型优化和评估等关键环节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值