【AI】_01_经典算法

【一】KNN(K邻近算法)
  • 投票机制,多数决
    【AI】_01_经典算法_第1张图片

  • 如何选取 K
    【AI】_01_经典算法_第2张图片
    交叉验证
    【AI】_01_经典算法_第3张图片

  • 缺点

  1. 纬度增加,距离失效(随着纬度的增加,面积变大,体积变小)
    【AI】_01_经典算法_第4张图片
  2. 数据量大,算法超慢

【二】LR(Logistic Regression,逻辑回归)
  • Softmax回归退化二分类 情况下的特殊形式,基于 梯度下降 优化算法,需将特征归一化
    在这里插入图片描述
  1. sigmoid激活函数证明 σ’(z) = σ(z)(1-σ(z))
    【AI】_01_经典算法_第5张图片
  2. 损失函数:Cross Entropy,交叉熵
  3. 损失函数求导:ln(x)’ = 1 / x,ln(1-x)’ = - 1 / (1-x)
【AI】_01_经典算法_第6张图片      
  • Softmax回归:多个 LR 的组合
    在这里插入图片描述
【三】Decision Tree(决策树)
  • Entropy(信息熵)
    【AI】_01_经典算法_第7张图片

  • Information Gain(信息增益,越大越好):ID3 算法
    【AI】_01_经典算法_第8张图片

  • Information Gain Ratio(信息增益率,越大越好):C4.5 算法
    【AI】_01_经典算法_第9张图片

  • Gini Index(Gini系数,越小越好):CART 算法

【四】SVM(Support Vector Machine,支持向量机)
  • 硬间隔支持向量机 - 线性可分

  • 软间隔支持向量机 - 总体近似线性可分 - 松弛变量 ξ

  • 线性不可分 - 核函数

  • 手撕 SVM

    3.1 函数距离(d帽)+ 几何距离(d)
    【AI】_01_经典算法_第10张图片

    3.2 函数距离 和 几何距离 之间的关系(||W|| 是矩阵 W 的模)


    3.3 最大化两条虚线间的间隔


    3.4 数学模型(限制条件)
    【AI】_01_经典算法_第11张图片

    3.5 个别点不满足限制条件:添加松弛变量 ξ
    【AI】_01_经典算法_第12张图片
    【AI】_01_经典算法_第13张图片

    3.6 引入松弛变量 ξ 后的限制条件
    【AI】_01_经典算法_第14张图片

  • 拉格朗日对偶性

  1. 原始问题:
    【AI】_01_经典算法_第15张图片
  2. 广义拉格朗日函数
    【AI】_01_经典算法_第16张图片
  3. 满足原始问题的限制条件
  4. 拉格朗日 极小极大问题
  5. 拉格朗日 极大极小问题
  6. 定理
  7. 定理成立需满足 KKT 条件
    【AI】_01_经典算法_第17张图片
【五】CNN(Convolutional Neural Networks,卷积神经网络)
  • Convolution(卷积)
    在这里插入图片描述
    【AI】_01_经典算法_第18张图片
    【AI】_01_经典算法_第19张图片
    【AI】_01_经典算法_第20张图片

  • Pooling(池化)- 保持特征不变的情况下,减小输入的值
    【AI】_01_经典算法_第21张图片
    【AI】_01_经典算法_第22张图片

  • Fully Connected(全连接)
    【AI】_01_经典算法_第23张图片

【六】Expectation Maximization(EM算法)
  • 一种 迭代算法,用于含 隐变量 的概率模型参数的极大似然估计(E 求期望 + M 求极大)
  • 基本原理(概念)
  1. 观测数据
  2. 未观测数据
  3. 求解 观测数据 的似然函数
  4. 求解模型参数 θ 的对数极大似然估计
  • 具体算法
  1. 输入:观测变量数据 Y,隐变量数据 Z,联合分布 P(Y,Z∣θ) ,条件分布 P(Z∣Y,θ)
    输出:模型参数 θ

  2. E步:
  3. M步:
  4. 重复 E M,直至收敛

【七】Back Propagation(BP算法,反向传播)
  • Activation Function(激活函数)- Sigmoid

  • Learning Law(学习规则)
    【AI】_01_经典算法_第24张图片

  • 具体步骤

  1. Start at the output layer and work backward to the hidden layer. The error signal at the output of neuron k at iteration p is defined by

  2. weight correlation 更新权重 W

  3. Weight correction (use the output of neuron j in the hidden layer to compute)

  4. Error Gradient of Output Layer(输出层的误差梯度,用 error)

  5. Error Gradient of Hidden Layer(隐藏层的误差梯度,用 w 和 后一层梯度)

【八】Bagging(集成学习的一个流派,自助聚合)
  • 提出背景:为了减少 bias,我们可以学习一棵很大很深的 决策树,但是决策树很容易 过拟合;而随机划分数据来训练模型,过拟合的决策树产生不一样的预测结果,variance 很大

  • 特点:各个弱学习器之间 没有 依赖关系

  • 随机采样(bootsrap):从我们的训练集里面采集固定个数的样本,但是每采集一个样本后,都将样本放回。也就是说,之前采集到的样本在放回后有可能继续被采集到。对于我们的 Bagging 算法,一般会随机采集和训练集样本数 m 一样个数的样本。这样得到的采样集和训练集样本的个数相同,但是样本内容不同。如果我们对有 m 个样本训练集做 T 次的随机采样,则由于随机性,T个采样集各不相同

  • m 趋于无穷大时,在 bagging 的每轮 随机采样 中,训练集中大约有 36.8% 的数据没有被采样集采集中

  • But,有个问题

  • 随机森林 (Random Forest)算法 - 随机选择 训练样本子集 & 特征子集

  1. 提出目的:我们希望每一棵树模型都不一样,存在差异,弱相关
  2. RF 使用了 CART 决策树 作为弱学习器,GBDT(梯度提升决策树)也是
  3. RF 随机选择节点上的 一部分 样本特征(从 N 个中选 K 个),然后从中选择 一个最优 的特征来做决策树的左右子树划分 - 增强模型的 泛化能力
  4. K 越小,模型越健壮,但对于训练集的拟合程度会变差(模型的 方差 减小,偏倚 增大)

【九】Boosting(集成学习的一个流派)
  • 特点:各个弱学习器之间 依赖关系,将一些变现一般的模型,通过特定的方法组合来获得一个表现效果较好的模型
  • 借助 convex loss function 在函数空间进行 梯度下降 的一类算法

  • AdaBoost(Adaptive Boosting) - 图片来源:https://cs.nyu.edu/~mohri/mls/ml_boosting.pdf
  1. 原始数据
    【AI】_01_经典算法_第25张图片

  2. 分类原则:提升 错分点的权重

【AI】_01_经典算法_第26张图片          【AI】_01_经典算法_第27张图片
  1. 分类效果
【AI】_01_经典算法_第28张图片    【AI】_01_经典算法_第29张图片
  • GBDT(Gradient Boosting)- 图片来源: http://www.chengli.io/tutorials/gradient_boosting.pdf
  1. 示意图
    【AI】_01_经典算法_第30张图片
  2. 基树(基分类器)采用 CART 回归树,树节点的划分指标是 平方损失函数,叶子节点上的值是落在该叶子节点所有样本的 目标均值
  3. 树与树之间的 Boosting 逻辑:新树拟合的目标是,上一棵树的 损失函数负梯度的值,用到了 一阶导数 信息
  4. GBDT 最终的输出结果:将样本在所有树上的 叶子值相加
  5. 感谢:https://zhuanlan.zhihu.com/p/42740654

  • XGBoost(待补充)
  1. 同时用到了 一阶二阶 导数,对损失函数进行了 二阶泰勒展开
  2. 损失函数 里加入了 正则项,控制模型的复杂度,防止过拟合
  3. 学习速率(eta):在进行完一次迭代后,将叶子节点的权重乘上该系数,削弱每棵树的影响,让后面有更大的学习空间

你可能感兴趣的:(机器学习算法)