监督学习概述
监督学习主要分为两大类任务:回归(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个及以上变量:高维空间中的超平面
线性回归可分为:
- 简单一元线性回归:单特征预测(一次线性方程)
- 多元线性回归:多特征预测(多次线性方程)
符号定义
- 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ⱼ
其中α为学习率,需要谨慎选择:
- 太小:收敛速度过慢
- 太大:可能导致无法收敛甚至发散
梯度下降类型
-
批量梯度下降(BGD):
- 每次迭代使用全部训练样本
- 参数更新稳定但计算量大
-
随机梯度下降(SGD):
- 每次迭代随机使用一个样本
- 计算速度快但参数更新波动大
-
小批量梯度下降(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不可逆时无法使用
- 特征数量很大时计算成本高
过拟合与欠拟合处理
过拟合解决方案
- 增加训练数据:最有效的方法
- 特征选择/降维:如PCA
- 集成学习:如随机森林
- 正则化:L1/L2正则化
欠拟合解决方案
- 添加新特征:特征工程
- 增加模型复杂度:如添加多项式特征
- 减小正则化系数
正则化技术
正则化通过在损失函数中添加惩罚项来控制模型复杂度:
-
L1正则化(Lasso): J(w) = MSE + λΣ|wⱼ|
- 产生稀疏权重
- 可用于特征选择
-
L2正则化(Ridge): J(w) = MSE + λΣwⱼ²
- 使权重平滑
- 防止过拟合
评估指标
常用
常用线性回归评估指标详解:
- 均方误差(MSE)
- 定义:预测值与真实值差值的平方的平均值
- 公式:MSE = (1/n) * Σ(yᵢ - ŷᵢ)²
- 特点:对异常值敏感,数值越大表示误差越大
- 示例:若真实值为[3,5,7],预测值为[4,4,8],则MSE=(1+1+1)/3≈1.0
- 均方根误差(RMSE)
- 定义:MSE的平方根,与目标变量同量纲
- 公式:RMSE = √MSE
- 特点:更直观反映误差大小
- 应用场景:房价预测中,RMSE=5表示平均误差约5万元
- 平均绝对误差(MAE)
- 定义:预测值与真实值差值的绝对值的平均
- 公式:MAE = (1/n) * Σ|yᵢ - ŷᵢ|
- 特点:对异常值不敏感,解释性强
- 对比:相比MSE/RMSE,MAE不会放大误差
- 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
评估指标:
- 均方误差(MSE)
- 均方根误差(RMSE)
- 平均绝对误差(MAE)
- R²得分(决定系数)
总结
本文详细介绍了监督学习中的回归与分类问题,重点讲解了线性回归的原理、求解方法以及实际应用中的注意事项,包括数据预处理、模型优化和评估等关键环节。