机器学习基础知识要点
更多
好的,这是一份用中文整理的机器学习基础知识要点,力求涵盖核心概念、流程和技术:
一、 核心概念与基础
-
什么是机器学习 (ML):
- 一种人工智能的方法。
- 让计算机系统无需进行明确的编程指令,就能通过从数据中学习模式和规律来改进特定任务的性能。
- 核心思想:数据驱动,通过经验(数据)提高性能(预测/决策)。
-
数据集:
- 训练集:用于训练模型、拟合参数的主要数据集。
- 验证集:用于在训练过程中(或训练后)调整超参数、选择模型、避免过拟合的独立数据集。
- 测试集:用于最终评估模型在从未见过的数据上的泛化能力的独立数据集。
- 关键原则: 三者必须互斥,测试集仅在最终评估时使用一次,以确保评估的公正性。
-
特征:
- 数据集中代表样本属性的变量或指标(例如:房价预测中的面积、房间数、地段)。
- 是模型的输入。
- 特征工程的好坏极大影响模型性能(“垃圾进,垃圾出”)。
-
标签/目标变量:
- 在监督学习中,我们想要预测的变量(例如:房价、电子邮件是否是垃圾邮件、图片中的物体类别)。
- 是模型的输出目标。
-
样本/实例:
- 数据集中的一个具体数据点,通常由其特征值和(对于监督学习)可能的标签值组成(例如:一套房子的具体信息)。
-
模型:
- 机器学习算法的学习结果,是一个数学函数或规则集合,它能够根据输入特征进行预测或决策。
- 训练过程就是寻找最优模型参数的过程。
-
训练:
- 使用训练集数据,通过特定的学习算法,调整模型的参数,使其能够从数据中学习模式的过程。
-
预测:
- 使用训练好的模型,对新样本/未知数据(没有标签的数据)的输出进行估计的过程。
-
泛化能力:
- 模型在从未见过的、与训练数据同分布的新数据上表现良好的能力。这是机器学习的核心目标。
-
过拟合:
- 模型在训练集上表现得非常好(甚至完美拟合),但在新数据(验证集/测试集) 上表现很差。
- 原因:模型过于复杂,学习了训练数据中的噪声和特异性,而不是普适的规律(“死记硬背”)。
- 解决方法:获取更多数据、简化模型(降低复杂度)、正则化、交叉验证、早停等。
-
欠拟合:
- 模型在训练集上就表现得不够好。
- 原因:模型过于简单,无法捕捉数据中的基本结构和规律(“没学会”)。
- 解决方法:增加模型复杂度、增加更多特征、减少正则化强度、增加训练轮数等。
-
偏差与方差:
- 偏差:模型预测值与真实值之间的平均误差。高偏差通常与欠拟合相关(模型对数据的基本关系认识错误或不充分)。
- 方差:模型预测值对于训练数据微小变化的敏感程度(波动性)。高方差通常与过拟合相关(模型对噪声过于敏感)。
- 目标:在模型的偏差和方差之间取得平衡,以最小化总误差(偏差-方差权衡)。
-
超参数:
- 在模型训练之前就需要设定的配置参数,不能通过训练过程自动学习得到。
- 作用:控制模型结构、学习过程或正则化强度等(例如:学习率、神经网络层数和每层神经元个数、决策树的深度、KNN中的K值、正则化系数λ)。
- 调整:需要通过实验(如网格搜索、随机搜索)结合验证集或交叉验证来优化。
-
参数:
- 模型内部固有的变量,在训练过程中会随着数据而自动学习和调整(例如:线性回归中的权重和偏置项、神经网络中的连接权重)。
二、 主要机器学习问题类型
-
监督学习:
- 训练数据包含输入特征和对应的输出标签。
- 目标:学习从输入到输出的映射关系,用于预测新数据的标签。
- 主要任务:
- 回归:预测连续值标签(如:房价预测、温度预测)。
- 分类:预测离散类别标签(如:垃圾邮件识别、图像分类、疾病诊断)。
-
无监督学习:
- 训练数据只有输入特征,没有对应的标签。
- 目标:发现数据中隐藏的结构、模式或关系。
- 主要任务:
- 聚类:将相似的样本分组(如:客户细分、新闻主题分组)。
- 降维:在保留关键信息的前提下减少数据特征数量(如:主成分分析-PCA、t-SNE,用于可视化或简化数据)。
- 异常检测:识别与大多数数据显著不同的异常点。
- 关联规则学习:发现数据项之间的有趣关联(如:购物篮分析)。
-
强化学习:
- 模型(智能体)在与环境的交互中学习。
- 智能体采取行动 -> 环境给出奖励/惩罚和新状态。
- 目标:学习一个策略(行动指南),以最大化长期累积奖励。
- 应用:游戏AI(如AlphaGo)、机器人控制、资源管理等。
-
半监督学习:结合少量有标签数据和大量无标签数据进行学习。
三、 核心机器学习流程
- 问题定义:明确业务目标,将其转化为一个可量化的ML问题(回归、分类等)。
- 数据收集与准备:
- 获取相关数据源。
- 数据清洗:处理缺失值、异常值、重复值。
- 数据探索:理解数据分布、特征关系(可视化)。
- 特征工程:
- 特征提取:从原始数据构造新特征(更有意义)。
- 特征选择:选择信息量最大、最相关的特征子集。
- 特征转换:标准化/归一化、离散化、编码分类变量等。
- 模型选择与训练:
- 根据问题类型(回归/分类/聚类)和数据特点选择合适的模型算法。
- 将训练集输入算法进行训练。
- 可能需要使用验证集进行初步模型评估和超参数调整。
- 模型评估:
- 使用测试集对最终模型的性能进行无偏评估。
- 常用评估指标:
- 回归:均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)、决定系数(R²)。
- 分类:准确率(Accuracy)、精确率(Precision)、召回率(Recall/查全率)、F1分数(F1-Score)、ROC曲线、AUC值、混淆矩阵。
- 聚类:轮廓系数(Silhouette Score)、Calinski-Harabasz指数、簇内相似度和簇间分离度(常需要领域知识辅助评估)。
- 分析评估结果,判断模型是否满足需求(避免过拟合/欠拟合)。
- 模型调优与优化:
- 根据评估结果调整模型或数据。
- 包括:修改特征工程步骤、尝试不同模型、优化超参数(反复使用验证集或交叉验证)。
- 模型部署与监控:
- 将训练好的模型集成到实际应用或系统中。
- 持续监控模型在生产环境中的性能,收集新数据。
- 模型漂移:由于现实世界变化,模型性能随时间下降,需要重新训练或更新模型。
四、 关键技术要点
- 交叉验证:
- 一种评估模型泛化能力的强大技术,尤其在小数据集上。
- K折交叉验证:将训练集随机分成K个大小相似的子集(“折”)。轮流使用其中K-1折训练模型,用剩下的一折进行验证。重复K次,每次使用不同的验证折。最终结果取K次验证结果的平均值。有效利用有限数据并降低评估结果的方差。
- 正则化:
- 防止过拟合的核心技术。
- 在损失函数中添加一个对模型复杂度的惩罚项(惩罚大参数值)。
- 目的:约束模型复杂度,鼓励模型学习更简单、更泛化的模式。
- 常用方法:
- L1正则化 (Lasso):惩罚项为参数绝对值之和。倾向于产生稀疏解(某些特征系数为0),具有特征选择作用。
- L2正则化 (岭回归):惩罚项为参数平方和。惩罚大参数值,使所有参数普遍变小但不一定为0。
- 弹性网络:结合L1和L2。
- 学习率:
- 在梯度下降等优化算法中非常重要的超参数。
- 控制每次迭代更新模型参数的步长大小。
- 太高:可能导致在最优解附近震荡甚至发散(无法收敛)。
- 太低:可能导致收敛速度极慢,需要更多迭代轮数。
- 常使用学习率衰减策略(随训练逐步减小学习率)来优化收敛。
五、 常见的经典算法(了解本质思想)
- 监督学习:
- 线性回归:拟合特征的线性组合来预测连续值。基础而重要。
- 逻辑回归:基于线性模型,使用Sigmoid函数,输出概率用于二分类。
- K近邻:基于样本相似度(距离度量)进行分类或回归。
- 支持向量机:寻找能最大化间隔的分类超平面(或回归的超平面)。可处理线性和非线性问题(核技巧)。
- 决策树:通过一系列基于特征的规则进行决策的树形结构。可解释性强。
- 随机森林:集成学习方法,构建多棵决策树并结合它们的预测(Bagging + 随机特征选择),通常效果稳健、抗过拟合。
- 梯度提升机 (如XGBoost, LightGBM, CatBoost):集成学习方法,依次构建新模型来纠正前序模型的错误(Boosting),在比赛中表现优异。
- 无监督学习:
- K均值聚类:将数据划分为K个簇,目标是使簇内样本距离最小化,簇间距离最大化。
- 层次聚类:构建聚类的层级树。
- 主成分分析:将高维数据投影到低维空间(保留最大方差的主成分),用于降维和可视化。
六、 重要基石:数学基础(需掌握概念)
- 线性代数:向量、矩阵运算(矩阵乘法、转置、逆、特征值/特征向量)是理解模型结构(如神经网络)和优化(梯度计算)的基础。
- 概率论与统计:概率分布(正态分布等)、条件概率、贝叶斯定理、期望、方差、协方差、相关性、最大似然估计、统计检验。
- 微积分(偏导数):理解优化算法(如梯度下降)如何通过梯度(函数在各个方向上的变化率)来更新参数。链式法则在反向传播中至关重要。
七、 实践建议
- 动手为王:理论知识必须通过实践(编码、实验)才能真正掌握和理解。
- 熟练使用工具:Python是主流语言。熟练掌握核心库:NumPy (数值计算基础), Pandas (数据处理与分析), Matplotlib/Seaborn (数据可视化), Scikit-learn (最流行的通用ML库,覆盖大部分经典算法)。
- 理解算法本质,而非死记公式:重点理解不同算法的核心思想、优缺点、适用场景。
- 数据质量和特征工程至关重要:在真实项目中,80%的时间可能都在处理数据和特征工程。不要低估其重要性。
- 模型评估是关键环节:永远保持批判性思维,使用合适的指标和独立测试集进行客观评估。
这份要点涵盖了机器学习的核心骨架。深入学习每个部分,结合实践项目,是掌握机器学习的有效途径。祝你学习顺利!
使用Kotlin构建Android应用的基础知识
进行 Android 开发,构建 Android 应用。在此课程中,学生将学习编程的基础知识和 Kotlin 编程语言的基础知识。
2022-03-29 09:20:44
STM32学习基础知识
STM32学习基础知识对于具体开发过程中IO口的使用查阅硬件资料里的数据手册即可!(标注FT的都可以5V)小结和51单片机相比,操作寄存器这种方法的劣势是你需要去掌握每个寄存器的用法,你才能正确
2021-08-16 07:42:09
7天热门专题
换一换
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机