Day 4:机器学习初探——从监督学习到无监督学习

摘要

本文系统讲解机器学习的核心范式:

  1. 监督学习:用标注数据训练模型(如房价预测)
  2. 无监督学习:发现数据隐藏模式(如客户分群)
  3. 半监督学习:混合标注与未标注数据
  4. 强化学习 :通过奖惩机制优化决策
    配套实战:用Scikit-learn完成鸢尾花分类与顾客聚类分析

目录

  1. 机器学习四大范式对比
  2. 监督学习全解析
    • 分类 vs 回归
    • 损失函数与评估指标
  3. 无监督学习核心方法
    • 聚类(K-Means/DBSCAN)
    • 降维(PCA/t-SNE)
  4. 实战:双任务对比实验
    • 任务1:监督学习分类鸢尾花
    • 任务2:无监督学习聚类顾客数据
  5. 模型选择避坑指南

1. 机器学习四大范式对比

对比表格

类型 输入数据 典型算法 应用场景
监督学习 带标签的数据 随机森林/SVM 垃圾邮件识别
无监督学习 无标签数据 K-Means/PCA 市场细分
半监督学习 部分标注数据 Label Propagation 医学影像分析
强化学习 环境状态+奖励 Q-Learning 游戏AI/机器人控制

💡 关键区别

  • 监督学习需要"标准答案",无监督学习探索"数据本身的结构"

2. 监督学习全解析

(1)分类 vs 回归

流程图

复制代码
输入数据 → 特征工程 → 选择模型(分类/回归) → 训练 → 评估 → 部署

典型算法对比

python 复制代码
# 分类模型(输出离散值)
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier()

# 回归模型(输出连续值)
from sklearn.linear_model import LinearRegression
reg = LinearRegression()

(2)评估指标

核心指标表

| 任务类型 | 指标 | 公式/说明 |
|----------|----------|-------------------------------------------|---------|----|
| 分类 | 准确率 | (TP+TN)/(TP+TN+FP+FN) |
| 分类 | F1-score | 2*(Precision*Recall)/(Precision+Recall) |
| 回归 | MAE | Σ | 预测值-真实值 | /n |
| 回归 | R² | 解释方差比例(0~1) |


3. 无监督学习核心方法

(1)K-Means聚类

算法步骤

  1. 随机选择K个中心点
  2. 将每个点分配到最近的中心
  3. 重新计算中心点位置
  4. 重复2-3步直到收敛

可视化表格

迭代次数 中心点坐标 样本分布
1 [(1,2), (4,5)] Cluster1: 30个样本
10(收敛) [(1.2,2.1), (4.3,4.8)] Cluster1: 28个样本

(2)PCA降维

Python实现

python 复制代码
from sklearn.decomposition import PCA
pca = PCA(n_components=2)  # 降至2维
X_reduced = pca.fit_transform(X)

4. 实战:双任务对比实验

任务1:监督学习分类鸢尾花

完整代码

python 复制代码
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

# 加载数据
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2)

# 训练模型
from sklearn.svm import SVC
model = SVC(kernel='rbf')
model.fit(X_train, y_train)

# 评估
print("测试集准确率:", model.score(X_test, y_test))

任务2:无监督学习聚类顾客数据

关键步骤

python 复制代码
import pandas as pd
from sklearn.cluster import KMeans

# 生成模拟数据
data = pd.DataFrame({
    '年龄': np.random.randint(18,70,100),
    '月消费额': np.random.normal(3000, 500, 100)
})

# 聚类分析
kmeans = KMeans(n_clusters=3)
data['cluster'] = kmeans.fit_predict(data)

# 可视化
import seaborn as sns
sns.scatterplot(data=data, x='年龄', y='月消费额', hue='cluster')

🔥 动手任务:修改n_clusters参数,观察聚类结果变化并截图分享!


5. 模型选择避坑指南

错误1 :用分类算法解决回归问题

解决方案:检查目标变量是否连续

错误2 :忽略数据标准化

正确做法

python 复制代码
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

下一篇预告

Day 5:实战!用Scikit-learn完成你的第一个分类模型
"从数据清洗到模型部署,手把手教你打造能用的AI系统!"


知识图谱总结

graph LR A[机器学习] --> B[监督学习] A --> C[无监督学习] B --> D[分类] B --> E[回归] C --> F[聚类] C --> G[降维]

各位老板,需要补充哪个算法的详细推导过程?或者希望增加其他实战案例?

相关推荐
AI数据皮皮侠2 小时前
中国区域10m空间分辨率楼高数据集(全国/分省/分市/免费数据)
大数据·人工智能·机器学习·分类·业界资讯
张德锋3 小时前
Pytorch实现天气识别
机器学习
Wilber的技术分享5 小时前
【机器学习实战笔记 14】集成学习:XGBoost算法(一) 原理简介与快速应用
人工智能·笔记·算法·随机森林·机器学习·集成学习·xgboost
19895 小时前
【零基础学AI】第26讲:循环神经网络(RNN)与LSTM - 文本生成
人工智能·python·rnn·神经网络·机器学习·tensorflow·lstm
JoernLee6 小时前
机器学习算法:支持向量机SVM
人工智能·算法·机器学习
IT古董13 小时前
【第二章:机器学习与神经网络概述】04.回归算法理论与实践 -(4)模型评价与调整(Model Evaluation & Tuning)
神经网络·机器学习·回归
蓝婷儿18 小时前
Python 机器学习核心入门与实战进阶 Day 3 - 决策树 & 随机森林模型实战
人工智能·python·机器学习
大千AI助手18 小时前
PageRank:互联网的马尔可夫链平衡态
人工智能·机器学习·贝叶斯·mc·pagerank·条件概率·马尔科夫链
我就是全世界18 小时前
TensorRT-LLM:大模型推理加速的核心技术与实践优势
人工智能·机器学习·性能优化·大模型·tensorrt-llm
.30-06Springfield18 小时前
决策树(Decision tree)算法详解(ID3、C4.5、CART)
人工智能·python·算法·决策树·机器学习