# 【机器学习算法推导】机器学习基本概念 作者:wallace-lai
发布:2023-11-28
更新:2023-11-30
## 一、关键术语 ### 1.1 机器学习定义 机器学习:系统通过计算手段利用经验来改善自身性能的过程,具体地说,机器学习是一门通过分析和计算数据来归纳出数据中普遍规律的学科 ### 1.2 数据集的相关概念 现有一烹饪数据集如下所示: |食材新鲜度|食材是否经过处理|火候|调味品用量|烹饪技术|菜肴评价| | :-: | :-: | :-: | :-: | :-: | :-: | |新鲜|是|大|大|熟练|中等| |不够新鲜|否|中|中|一般|好| |新鲜|是|中|中|熟练|好| |新鲜|否|中|小|一般|差| |不够新鲜|是|小|中|一般|差| **样本**:数据集中的一条记录(一行数据),也被称作实例 **特征**:影响烹饪结果的各种因素,比如食材新鲜度、火候等,也被称为属性 **数据量**:样本的数量(有几条记录) **特征维度**:特征的数量 **训练集和测试集**:整个数据集将被划分成两个部分,一部分用于训练特征,一部分用于测试模型在未知数据上的效果 ### 1.3 机器学习任务分类 #### 分类问题 假设我们要预测的目标是离散值,那么该机器学习任务就是一个分类(Classification)问题。 #### 回归问题 但如果我们要预测的目标是连续值,那么这种任务就叫做回归(Regression)问题. #### 监督学习 分类和回归问题可以统称为监督学习,为什么?难道是因为这两种学习方式都需要具体标签? #### 聚类 但当收集的数据没有具体标签时,我们也可以仅根据输入特征来对数据进行聚类。这种无标签情形下的机器学习成为无监督学习 ## 二、机器学习三要素 ### 2.1 机器学习三要素 任何一个机器学习方法都是由(1)模型(model);(2)策略(strategy);(3)算法(algorithm)三个要素构成的。 机器学习模型在一定优化策略下使用相应求解算法来达到最优目标的过程。 ### 模型 【略,理解各机器学习算法后再回头看三要素】 ### 策略 【略,理解各机器学习算法后再回头看三要素】 ### 算法 【略,理解各机器学习算法后再回头看三要素】 ## 三、机器学习核心 机器学习的核心目的在于**训练模型,使其不仅能够对已知数据而且能对未知数据具有较好的预测能力**。常常困扰机器学习开发人员的是**过拟合**问题,即模型对已知数据预测效果很好,但是对于未知数据预测效果很差,这是由于学习到了训练集中的特殊模式,而这种特殊模式并不是所有数据中普遍存在的共性模式。 ## 四、机器学习流程 机器学习的基本流程: (1)需求分析 (2)数据采集 (3)数据清洗 (4)数据分析与可视化 (5)建模调优与特征工程 (6)模型结果展示与分析报告 (7)模型部署与上线反馈优化 ### 4.1 需求分析 需求分析的主要目标是**为项目确定方向和目标**,为项目展开制定计划,明确机器学习的学习目标,输入是什么,输出是什么。 ### 4.2 数据采集 数据才是机器学习最重要的资源,而不是算法。 ### 4.3 数据清洗 生产环境下采集到的数据没有公开数据集那么“干净”,需要花大量的时间清洗。 举例说明,生产环境采集的数据会有哪些“噪音”?如何进行数据清洗? ### 4.4 数据分析与可视化 数据分析与可视化主要是在训练前先了解数据的特征情况以及目标变量的分布情况,以便后续进行针对性的训练。 ### 4.5 建模调优与特征工程 指的是在训练完一个基线后,进行模型调参(炼丹)和优化。实际工作中一般是一边调参一边进行特征设计。

注:什么是特征设计?

特征设计指的是在机器学习中,根据业务需求和数据的特性,人为地构造或选择输入特征,以使得机器学习模型能够更好地学习和预测数据。这些特征可以是原始数据中的某些字段,也可以是由多个字段组合或计算得出的新字段。

### 4.6 模型部署与上线反馈优化 到了这一阶段,更多考虑的是工程方面的问题,比如模型是以web接口形式提供给开发部分,还是直接嵌入到软件中,后续如何收集用户反馈给产品迭代参考等 ## 五、机器学习算法体系 机器学习知识体系可以分为4大部分,分别是 (1)监督学习单模型; (2)监督学习集成模型; (3)无监督学习模型; (4)概率模型 监督学习单模型主要包括: (1)线性回归 (2)对数几率回归 (3)回归模型扩展(包括LASSO和Ridge回归) (4)线性判别器LDA (5)k近邻算法 (6)决策树 (7)神经网络 (8)支持向量机 监督学习集成模型主要包括: (1)AdaBoost (2)GBDT (3)XGBoost (4)LightGBM (5)CatBoost (6)随机森林 无监督学习模型主要包括: (1)聚类分析 (2)k均值聚类算法 (3)主成成分分析PCA (4)奇异值分解SVD 概率模型主要包括: (1)最大信息熵模型 (2)贝叶斯模型 (3)EM算法 (4)隐马尔科夫模型HMM (5)条件随机场CRF (6)马尔科夫链蒙特卡洛方法MCMC 画成更直观的思维导图如下所示: ```{mermaid} %%{ init: { 'flowchart': { 'curve': 'bumpX' } } }%% flowchart LR l1[机器学习模型] l2_1[监督学习模型] l3_1[单模型] l3_2[集成模型] l2_1 --> l3_1 l2_1 --> l3_2 l2_2[无监督学习模型] l3_3[聚类] l4_8[k均值聚类] l4_9[层次聚类] l4_10[谱聚类] l3_3 --> l4_8 l3_3 --> l4_9 l3_3 --> l4_10 l3_4[降维] l4_11[PCA] l4_12[SVD] l3_4 --> l4_11 l3_4 --> l4_12 l2_2 --> l3_3 l2_2 --> l3_4 l2_3[概率模型] l3_5[最大信息熵模型] l3_6[贝叶斯概率模型] l4_13[朴素贝叶斯] l4_14[贝叶斯网络] l3_6 --> l4_13 l3_6 --> l4_14 l3_7[EM算法] l3_8[概率图模型] l4_15[HMM] l4_16[CRF] l3_8 --> l4_15 l3_8 --> l4_16 l3_9[MCMC] l2_3 --> l3_5 l2_3 --> l3_6 l2_3 --> l3_7 l2_3 --> l3_8 l2_3 --> l3_9 l1 --> l2_1 l1 --> l2_2 l1 --> l2_3 ``` ```{mermaid} %%{ init: { 'flowchart': { 'curve': 'bumpX' } } }%% flowchart LR l3_1[监督学习单模型] l4_1[线性模型] l5_1[线性回归] l5_2[对数几率回归] l5_3[LASSO回归] l5_4[Ridge回归] l5_5[LDA] l4_1 --> l5_1 l4_1 --> l5_2 l4_1 --> l5_3 l4_1 --> l5_4 l4_1 --> l5_5 l4_2[k近邻] l4_3[决策树] l5_6[ID3] l5_7[C4.5] l5_8[CART] l4_3 --> l5_6 l4_3 --> l5_7 l4_3 --> l5_8 l4_4[神经网络] l5_9[感知机] l5_10[神经网络] l4_4 --> l5_9 l4_4 --> l5_10 l4_5[支持向量机] l5_11[线性可分] l5_12[近似线性可分] l5_13[线性不可分] l4_5 --> l5_11 l4_5 --> l5_12 l4_5 --> l5_13 l3_1 --> l4_1 l3_1 --> l4_2 l3_1 --> l4_3 l3_1 --> l4_4 l3_1 --> l4_5 ``` ```{mermaid} %%{ init: { 'flowchart': { 'curve': 'bumpX' } } }%% flowchart LR l3_2[监督模型集成模型] l4_6[Boosting] l5_14[AdaBoost] l5_15[GBDT] l5_16[XGBoost] l5_17[LightGBM] l5_18[CatBoost] l4_6 --> l5_14 l4_6 --> l5_15 l4_6 --> l5_16 l4_6 --> l5_17 l4_6 --> l5_18 l4_7[Bagging] l5_19[随机森林] l4_7 --> l5_19 l3_2 --> l4_6 l3_2 --> l4_7 ```