分类目录归档:algorithm

树算法族

1 决策树

决策树通过树结构存储判断流程和规则,实现复杂规则的有效记录

一般来说,树的非叶节点存储了判断逻辑,并通过树分支表达多个判断结果 通过自上而下的多层逻辑判断,最终在叶节点输出预测的分类结果

决策树示例:

1.1 决策树ID3算法

ID3算法主要利用信息增益进行特征的选择,并通过递归方法构建特征

  • 从根节点开始,计算所有特征的信息增益
  • 选择信息增益最大的特征作为此节点的判断逻辑,并构建子节点
  • 对子节点递归地调用以上方法,直到最大信息增益过低或没有特征停止递归

Read more

支持向量机

支持向量机(support vector machine,简称为SVM)

  • 作为经典的有监督学习算法,常用于分类与回归分析问题中
  • 支持向量机有着完备而优雅的数学理论,并且计算成本低效果好
  • 在集成学习与深度学习流行前,SVM 在很多领域都是非常主流的算法

SVM 算法图解:

  • SVM 核心思想在于通过寻找一个超平面,尽可能的分隔不同类别间的样本
  • 支持向量(support vector):用于确定超平面边缘的部分样本

SVM 借助核技巧将输入隐式映射到高维特征空间中,从而有效地进行非线性分类

常见的核函数:

核函数 表达式 备注
Linear Kerne

Read more

回归算法族

1 线性回归

面对$N$个形式为$(x_i,y_i)$样本组成的样本集,线性回归就是为了寻找形式为$y_{N\times1}=X_{N \times d}\theta_{d\times 1}$的线性方程,使其能最大程度拟合样本,而第一步便是建立线性回归的损失函数/目标函数: $$Loss(\theta)= (y-X\theta)^T(y-X\theta) $$

其中$y$表示真实值,$X\theta$表示的预测值,所以损失函数$Loss(\theta)$表示的便是真实

Read more

最小二乘法

1 最小二乘法

狭义上的最小二乘法,主要针对线性回归问题,以残差平方和的总和最小为原则,化一般情况下,运用矩阵运算寻找最优的系数解,具体实现可参考1 线性回归的求解过程。

广义上的最小二乘法,增加了针对非线性问题的处理,围绕均方误差构建损失函数,使用迭代优化策略(比如梯度下降法)解决最小化优化问题

狭义最小二乘法的算法分析:

  • 求解方便,不需要迭代优化,可以直接通过矩阵运算求出解析解
  • 仅能处理线性回归问题,当特征维度高时矩阵求逆的运算成本偏高

Read more

最小角回归

在统计学中,最小角回归(LARS)是一种将线性回归模型拟合到高维数据的算法

用 $T(\hat{\boldsymbol{\beta}})$ 表示 $\hat{\boldsymbol{\beta}}$ 的绝对值范数 $$T(\hat{\boldsymbol{\beta}})=\sum_{j=1}^m|\hat{\beta_j}|\tag{7}$$ 则Lasso即为下面的约束优化问题: $$\min S(\hat{\boldsymbol{\beta}}) \quad \text{s.t.} \quad T(\hat{\boldsymbol{\beta}}) \le t\tag{8}$$ Las

Read more

坐标轴下降法

坐标下降法(英语:coordinate descent)是一种非梯度优化算法。算法在每次迭代中,在当前点处沿一个坐标方向进行一维搜索以求得一个函数的局部极小值。在整个过程中循环使用不同的坐标方向。对于不可拆分的函数而言,算法可能无法在较小的迭代步数中求得最优解。

附件/Pasted image 20210819215357.png

为了加速收敛,可以采用一个适当的坐标系,例如通过主成分分析获得一个坐标间尽可能不相互关联的新坐标系,即自适应坐标下降法。

#坐标下降法 #非梯度 #CoordinateDescent

Read more

梯度下降法族

1 梯度下降法-简单版

大部分机器学习模型的构建都是寻找最小损失函数的过程,而梯度下降法(Gradient Descent)便是一种常见迭代优化算法,用于寻找损失最小的参数解。

以简单二次函数为例进行算法的简单说明,模型形式

Read more

集成算法

1 集成学习概述

核心思想:三个臭皮匠顶个诸葛亮

集成学习三步走

  1. 特征抽取
  2. 反复建模(弱学习器)
  3. 模型集成(强学习器)

1.1 模型集成的策略

1.1.1 平均法

最终的预测输出 = 若干个弱学习器的预测输出的平均

1.1.2 投票法

最终的预测输出 = 若干个弱学习器的预测输出的投票结果

  • 常见的几种投票法
  • 相对多数投票法:少数服从多数

Read more

贝叶斯算法

1 朴素贝叶斯

朴素贝叶斯(Naive Bayes classifier)以贝叶斯定理为基础的简单分类器

贝叶斯定理: $$P(B|A)=\frac{P(A|B)P(B)}{P(A)}$$

朴素贝叶斯主要通过统计历史数据中各种事件的发生频率,并从中寻找统计上的相关性,以实现对事件的预测。

假设事件$A$表示头疼,事件$B$表示感冒,可通过以下案例理解朴素贝叶斯的计算过程:

  • 假设存在一位经验丰富的医生,在过去的一年里曾面诊过1000位的患者
  • 其中出现头疼症状的患者有300位,即$P(A)=0.3$
  • 最终确诊为感冒的患者有500位,即$P(B)=0.5$
  • 确诊为感冒的患者

Read more

粒子群算法

1 基本概念

粒子群优化(particle swarm optimization,PSO)算法是计算智能领域的一种群体智能的优化算法(其他群体算法举例:蚁群算法,鱼群算法等),该算法最早由Kennedy和Eberhart在1995年提出的,该算法源自对鸟类捕食问题的研究。

鸟类捕食的生物过程:

  • 假设一群鸟在觅食,在觅食范围内,只在一个地方有食物
  • 所有鸟儿都看不到食物(即不知道食物的具体位置。当然不知道了,知道了就不用觅食了),但是能闻到食物的味道(即能知道食物距离自己是远是近。鸟的嗅觉是很灵敏的)
  • 假设鸟与鸟之间能共享信息(即互

Read more