机器学习基本介绍
一、人工智能三大核心概念(AI、ML、DL)
1.核心概念定义和特征
概念 | 定义 | 核心特征 | 典型应用场景 |
---|---|---|---|
人工智能(AI) | 研究用计算机模拟或替代人类智能的综合领域 | 追求 “类人智能”,涵盖思考、推理、行动等多维度 | 智能家居控制、工业质检、智能客服 |
机器学习(ML) | 从历史数据中自动学习规律,对新数据进行预测的技术 | 无需人工编写规则,依赖数据驱动学习 | 垃圾邮件分类、房价预测、用户行为推荐 |
深度学习(DL) | 基于深度神经网络(多层神经元结构)的机器学习方法 | 仿大脑神经元连接,擅长处理高维复杂数据(图像、语音等) | 图像识别(人脸识别)、语音转文字、自动驾驶感知 |
2.三者关系
层级包含关系:AI 是顶层目标,ML 是实现 AI 的核心途径,DL 是 ML 的重要分支(可理解为 “AI→ML→DL” 的从属关系)。
发展演讲逻辑:早期AI 依赖 “规则编程”(如专家系统),效率低且场景局限;ML通过数据训练模型替代人工规则,解决了大量结构化数据问题;DL突破传统 ML 的特征依赖,通过多层网络自动提取高维特征,推动 AI 进入 “第三次浪潮”(如 AlphaGo、ChatGPT)。
3.关键区别:规则编程 VS 模型学习
对比维度 | 基于规则的编程 | 基于模型的机器学习 |
---|---|---|
核心逻辑 | 程序员手工编写 if-else 规则(如 “邮件标题含‘低价促销’则判定为垃圾邮件”) | 模型从数据中自动学习规律,无需人工定义规则 |
适用场景 | 简单、规则明确的问题(如计算器、固定流程的自动化) | 复杂、规则难以穷尽的问题(图像识别、自然语言处理) |
灵活性 | 场景变化需重新编写规则,扩展性差 | 新场景只需补充数据重新训练,适应性强 |
二、机器学习的应用领域与发展历程
三大主流方向
1.计算机视觉(CV)
定义:让机器 “看懂” 图像 / 视频数据,提取视觉信息。
典型场景:人脸识别(手机解锁)、目标检测(自动驾驶识别行人 / 车辆)、医学影像诊断(CT 影像识别肿瘤)。
2.自然语言处理(NLP)
定义:让机器理解和生成人类语言(文本、语音)。
典型场景:机器翻译(谷歌翻译)、语音助手( Siri)、情感分析(电商评论正负判断)、AIGC(ChatGPT 生成文案)。
3.数据挖掘与预测分析
定义:从结构化数据中挖掘规律,用于决策支持。
典型场景:房价预测(基于面积、地段等特征)、用户流失预警(分析用户行为预测是否卸载 APP)、金融风控(识别欺诈交易)。
发展历程(四次关键浪潮)
时间阶段 | 核心技术流派 | 里程碑事件 |
---|---|---|
1950s-1970s | 符号主义(规则驱动) | 1950 年图灵设计国际象棋程序;1962 年 IBM 跳棋程序战胜人类高手(第一次 AI 浪潮) |
1980s-2000s | 统计主义(数据驱动) | 1993 年 Vapnik 提出 SVM 算法;1997 年 IBM “深蓝” 战胜国际象棋冠军卡斯帕罗夫(第二次 AI 浪潮) |
2010s-2020s | 深度学习(神经网络) | 2012 年 AlexNet 夺冠 ImageNet(CNN 爆发);2016 年 AlphaGo 战胜李世石(深度学习突破) |
2022 年至今 | 大模型(预训练 + 微调) | 2022 年 ChatGPT 发布(NLP 大模型普及);AIGC(文生图、文生视频)爆发 |
AI三要素
1.数据:AI 的 “燃料”,需满足 “量大、质高、多样性”(如 ImageNet 包含 1400 万张标注图像)。
注意:数据质量优先于数量,脏数据(缺失值、异常值)会直接导致模型失效。
2.算法:AI 的 “引擎”,决定模型学习效率和效果。
例如:传统 ML 依赖 SVM、决策树;DL 依赖 CNN(图像)、Transformer(NLP)。
3.算力:AI 的 “动力”,支撑大规模数据和复杂模型的训练。
硬件差异:
CPU:适合 I/O 密集型任务(如数据读取);
GPU:适合计算密集型任务(如神经网络矩阵运算),是 DL 训练的核心硬件;
TPU:谷歌专为大模型设计的专用芯片,算力远超 GPU(如训练 GPT-4 依赖 TPU 集群)。
三、核心术语
术语定义
样本(Sample):一行数据即一个样本(如 “同学 1” 的完整数据),多个样本组成 “数据集”。 注:样本需避免重复或偏见。
特征(Feature):对预测结果有用的输入属性(如培训学科、作业考试),一列数据即一个特征。 关键原则:特征需与目标强相关
数据集划分:将数据集分为 “训练集” 和 “测试集”,核心目的是避免模型 “作弊”(用见过的数据测试)。 常规比例:7:3 或 8:2(训练集占比更高,保证模型充分学习);
理解误区提醒
1.“特征越多越好”—— 多余特征会导致 “维度灾难”(如用 1000 个无关特征训练,模型复杂度飙升);
2.“测试集可以用于训练”—— 会导致模型 “过拟合”(在测试集上表现极好,但对新数据无效)。
四、机器学习算法分类(核心框架)
四大分类及核心差异
算法类型 | 核心特点 | 标签情况 | 典型算法 | 适用场景 |
---|---|---|---|---|
有监督学习 | 基于 “带标签数据” 训练,模型学习 “特征→标签” 的映射关系 | 数据全部有标签 | 分类:逻辑回归、SVM、随机森林;回归:线性回归、XGBoost | 分类(垃圾邮件识别、疾病诊断);回归(房价预测、销量预测) |
无监督学习 | 基于 “无标签数据” 训练,模型自动挖掘数据内在结构 | 数据无标签 | 聚类:K-Means、DBSCAN;降维:PCA、t-SNE | 用户分群(电商用户画像)、异常检测(信用卡欺诈)、数据可视化(高维数据降维) |
半监督学习 | 结合 “少量有标签数据” 和 “大量无标签数据” 训练 | 部分数据有标签 | Label Propagation(标签传播)、半监督 SVM | 标签标注成本高的场景(如医学影像:标注一张 CT 需专业医生 1 小时,可先用少量标注数据训练,再优化无标签数据) |
强化学习 | 智能体(Agent)通过与环境交互 “试错学习”,以最大化 “累计奖励” 为目标 | 无固定标签,依赖环境反馈的 “奖励 / 惩罚” | Q-Learning、DQN、PPO | 游戏 AI(AlphaGo)、自动驾驶(避障决策)、机器人控制(机械臂抓取) |
关键子分类
对比维度 | 分类问题 | 回归问题 |
---|---|---|
标签类型 | 离散值(如 “是 / 否”“类别 1 / 类别 2”) | 连续值(如薪资、温度、股价) |
核心目标 | 判断 “属于哪一类” | 预测 “具体数值是多少” |
评价指标 | 准确率(Accuracy)、F1 分数、AUC | 均方误差(MSE)、平均绝对误差(MAE) |
示例 | 判断邮件是否为垃圾邮件(二分类);识别图像中物体是猫 / 狗 / 鸟(多分类) | 预测未来 7 天的气温(连续值);根据房屋面积预测售价(连续值) |
算法选择原则
1.先看“数据是否有标签”:有标签-->有监督学习;无标签-->无监督学习;标签少-->半监督学习;
2.再看“任务目标”;分类/回归-->有监督;分群/降维-->无监督;决策优化-->强化学习;
3.扩展:实际场景常 “多算法结合”(如先用 PCA 降维,再用 SVM 做分类,减少计算量)
五:机器学习建模流程(标准化步骤)
1.获取数据
来源:公开数据集(Kaggle、UCI)、业务数据库(如电商用户数据)、爬虫采集(需合规);
注意:避免数据偏见(如预测全国房价只采集一线城市数据)。
2.数据基本处理
核心任务:缺失值处理、异常值处理、数据格式的转化
注意:该步骤为重点需要反复验证数据质量
3.特征工程(核心环节)
定义:通过专业技巧处理特征,让模型 “更好地学习”(业界流传 “数据和特征决定上限,模型只是逼近上限”);
五大子任务:
子任务 | 定义 | 示例 |
---|---|---|
特征提取 | 从原始数据中提取有用特征(如从文本中提取 “词频” 作为特征) | 图像:提取边缘、纹理特征;文本:提取 TF-IDF 值 |
特征预处理 | 消除特征量纲差异(如 “身高(cm)” 和 “体重(kg)” 数值范围不同,需标准化) | 标准化(Z-Score)、归一化(Min-Max) |
特征选择 | 筛选与目标强相关的特征,删除冗余特征 | 用 “方差分析(ANOVA)” 选择对分类影响大的特征 |
特征降维 | 降低特征维度(减少计算量,避免过拟合),保留核心信息 | PCA(主成分分析):将 100 维特征降为 10 维 |
特征组合 | 将多个特征合并为新特征(捕捉特征间交互关系) | “面积 × 地段等级” 作为新特征,更能反映房价 |
4.模型训练
选择算法:根据任务类型选择(回归任务就选线性回归,分类任务选随机森林)
调参优化:通过网格搜索(Grid Search)、交叉验证(Cross Validation)优化模型参数(如调整 K-Means 的 “K 值”);
注意:避免 “过拟合”(如模型在训练集准确率 99%,测试集仅 60%)。
5.模型评估与部署
评估:用测试集计算指标(如分类任务看准确率,回归任务看 MSE);
迭代:若效果差,返回前序步骤优化(如补充数据、调整特征工程);
部署:将模型封装为 API(如用 Flask 部署),供业务系统调用(如 APP 的推荐功能)。
6.误区提醒
1.“跳过特征工程直接建模”—— 会导致模型无法学习有效规律(如用原始文本数据直接输入 SVM,模型无法识别语义);
2.“只看训练集指标”—— 训练集指标好不代表模型有用,需重点关注测试集指标(泛化能力)。
六、模型拟合问题(过拟合与欠拟合)
核心概念
拟合类型 | 表现(训练集 / 测试集) | 产生原因 | 解决方法 |
---|---|---|---|
欠拟合(Underfitting) | 训练集效果差、测试集效果差 | 模型过于简单,无法捕捉数据规律(如用线性模型拟合非线性数据) | 1. 增加模型复杂度(如用多项式回归替代线性回归);2. 补充特征(增加与目标相关的特征);3. 减少正则化强度 |
过拟合(Overfitting) | 训练集效果好、测试集效果差 | 1. 模型过于复杂(如用 10 次多项式拟合简单线性数据);2. 数据量少或有噪声;3. 特征过多(维度灾难) | 1. 简化模型(如用决策树剪枝,减少层数);2. 增加数据量(补充更多样本);3. 正则化(L1/L2 正则,限制参数大小);4. 特征选择 / 降维(删除冗余特征) |
泛化能力
定义:模型在训练集上表现的很好,在测试集上很差。(就像学生平时成绩很好,期末成绩很差)
奥卡姆剃刀原则(模型选择指导)
内容:给定两个泛化误差相同的模型,选择更简单的模型;
原因:复杂模型易 “死记硬背” 训练数据(过拟合),简单模型更能适应新数据;
示例:预测房价时,线性回归(简单模型)若与神经网络(复杂模型)测试误差相同,优先选线性回归(易解释、易部署)
七、核心开发环境
核心库 scikit-learn(简写SKlearn)
模块 | 功能 | 常用 API |
---|---|---|
分类(Classification) | 解决分类问题 | LogisticRegression(逻辑回归)、SVC(支持向量机)、RandomForestClassifier(随机森林) |
回归(Regression) | 解决回归问题 | LinearRegression(线性回归)、Ridge(岭回归)、XGBRegressor(XGBoost 回归) |
聚类(Clustering) | 解决无监督分群问题 | KMeans(K 均值聚类)、DBSCAN(密度聚类) |
预处理(Preprocessing) | 特征预处理 | StandardScaler(标准化)、MinMaxScaler(归一化)、OneHotEncoder(独热编码) |
模型选择(Model Selection) | 模型评估与调参 | GridSearchCV(网格搜索)、cross_val_score(交叉验证) |
降维(Dimensionality Reduction) | 特征降维 | PCA(主成分分析)、TSNE(可视化降维) |