FunnyWii
FunnyWii
Published on 2022-11-23 / 113 Visits
0
0

机器学习八股文 - 模型相关

回归

线性回归的四个假设

  • 线性关系:自变量 x 和因变量y之间存在线性关系。
  • 独立性: 残差是独立的。特别是,时间序列数据中的连续残差之间没有相关性。
  • 同方差性: 残差在 x 的每个水平上都有恒定的方差。
  • 正态性: 模型的残差呈正态分布。

误差和残差

误差是观察值与真实值之间的差;残差是观察值与模型估计值之间的差。

Regression coefficients 回归系数

在回归方程中表示 自变量 x 对 因变量 y 影响大小的参数。 回归系数越大表示 xy 影响越大。

最小二乘法与最大似然估计

为什么叫二乘法?因为是最小化平方和(预测值和观察值之间的平方和)。

在线性回归中,若残差服从正态分布,则最小二乘法就是极大似然估计。

最小二乘是最大似然在高斯误差情况下的特殊形式。

线性回归解决非线性问题

  • 多项式展开,在自变量 x_1,x_2 等的基础上构建新的自变量组合,比如x_1^2x_1\times x_2等选项;
  • 使用局部加权线性回归解决非线性数据的拟合问题

K-means聚类 Clustering

常用的基于欧式距离的聚类算法,其认为两个目标的距离越近,相似度越大

Pros:

  • 高效可伸缩
  • 收敛速度快
  • 原理相对通俗易懂,可解释性强

Cons:

  • 对异常值敏感
  • 不适合多分类任务
  • 是局部最优 解决:对于每个固定的K,尝试运行多次,记录数据点到它们各自簇中心的距离,选择最小距离对应的参数。
  • 算法复杂高

K-means的收敛性

由于每次迭代目标距离的结果都会降低,并且该目标距离函数明显是有下界的,因此必然会收敛

EM算法

EM(Expectation-Maximum)算法也称期望最大化算法。计算方法中每一次迭代都分两步,

其中一个为期望步(E步),E-step会计算每个数据点与每个簇的概率值。

另一个为极大步(M步),M-step会估计每个高斯分布的均值、协方差以及混合系数

比如班里有50男,50女,身高服从正态分布,可以通过极大似然法(MLE)来估算群体的正态分布参数N~(\mu,\sigma^2)。但是如果男女混合起来,我们也不知道其中个体的性别。可以先通过设定男/女身高分布的几个参数,再通过这些参数去判断性别,再通过标注的样本反过来判断并重新估计参数,不断迭代,直至稳定。

GMM 高斯混合模型

Gaussian Mixture Model 在总体分布中含有 K子分布的概率模型,用于表示一种混合的概率分布,其形式为多个高斯分布的加权累加。

GMM和K-means

K-means使用硬分类的方法,而高斯混合模型使用软分类

高斯混合分布会计算每个点到不同簇中心的概率值;

高斯混合模型会估计簇中心与协方差,而K-means只估计中心。

DecisionTree 决策树

回归树和分类树

分类树是针对目标变量是离散型变量,通过二叉树将数据进行分割成离散类的方法。而回归树则是针对目标变量是连续性的变量,通过选取最优分割特征的某个值,然后数据根据大于或者小于这个值进行划分进行树分裂最终生成回归树。

决策树避免overfitting

如果不做任何限制,让决策树随意生长,那么决策树将拟合所有训练样本使得训练正确率达到100%;毫无疑问这是没有意义的,因为它完全过拟合了,这样的决策树不具有泛化能力。

控制树的深度、叶子节点的数量等(也就是控制模型复杂度)

正则化

决策树的正则化

  • 预剪枝 对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化能力(在训练时加入验证集随时进行泛化验证)的提升,则停止划分并将当前结点标记为叶节点
  • 后剪枝 先从训练集中生成一颗完整的树,然后自底向上对非叶节点进行考察,若该节点对应的子树替换为叶节点能够提升泛化能力,则进行剪枝将该子树替换为叶节点,否则不剪枝。

Ensemble Learning 集成学习

Bagging

采用重抽样方法(有放回抽样)从原始样本中抽取一定数量的样本。

随机森林(Random Forest)就属于Bagging。

Boosting

用来减小监督学习中偏差的机器学习算法。

刚开始训练时对每一个训练例赋相等的权重,然后用该算法对训练集训练t轮,每次训练后,对训练失败的训练例赋以较大的权重,也就是让学习算法在每次学习以后更注意学错的样本,从而得到多个预测函数。

Stacking

首先我们先训练多个不同的模型,然后把之前训练的各个模型的输出输入来训练一个模型,以得到一个最终的输出。

Bagging与Boosting

Bagging和Boosting采用的都是采样-学习-组合

但是,Bagging中每个训练集互不相关(可并行),Boosting中训练集要在上一轮的结果上进行调整(不可并行)。

Bagging中预测函数是均匀平等的,但在Boosting中预测函数是加权

GBDT(Gradient Boost Decision Tree) 和 Random Forest

GBDT每一次的计算是为了减少上一次的残差,GBDT在残差减少(负梯度)的方向上建立一个新的模型。

Random Forest

RF的预测输出值是多棵DT的均值,因此,方差也会变为原来的 \frac{1}{n}

Generative Model 与 Discriminative Model

生成模型

统计学和Bayes作为理论基础。

  • Navie Bayes 分类模型

用数学语言表达就是:支持某项属性的事件发生得愈多,则该属性成立的可能性就愈大。

  • 混合高斯模型

判别模型

  • 感知机 (线性分类模型)
  • K-means
  • 决策树
  • SVM
  • Boosting
  • CNN

LDA 和 QDA

LDA (Linear Discriminant Analysis), QDA (Quadratic Discriminant Analysis) 是另两种生成模型分类算法

其它问题

Logistic Regression和 SVM 的差别

NOTE: 逻辑回归不是回归,是做分类,只是用回归的思路做分类罢了。

联系:

LR和SVM都可以处理分类问题,且一般都用于处理线性二分类问题(在改进的情况下可以处理多分类问题)

两个方法都可以增加不同的正则化项,如l1、l2等等,两种算法的结果是很接近的。

区别:

logic 能做的 svm能做,但可能在准确率上有问题,svm 能做的logic有的做不了。

LR是参数模型,SVM是非参数模型

SVM如何引入非线性

支持向量机的核心思想是:最大化数据点与界限之间的距离(Margin)。

PCA

是一种对高维度特征数据预处理方法

  1. 从原始的空间中顺序地找一组相互正交的坐标轴
  2. 第一个新坐标轴原始数据中方差最大的方向
  3. 第二个新坐标轴选取是与第一个坐标轴正交的平面中使得方差最大
  4. 第三个轴是与第1,2个轴正交的平面方差最大

大部分方差都包含在前面的坐标轴中,后面坐标轴的方差可以忽略不计,可以忽略。

Kernel Method 核方法

动机在于解决分类任务中线性不可分的问题。

“在高维空间中,几乎所有的分类问题都是线性可分的”。因此,尝试将数据映射到更高维的空间后,将原本在低维空间中线性不可分的数据转换为在高维空间中线性可分的数据,以大大降低分类任务的难度。

因此,核函数其实同时完成了两件事情:

  • 找到一个映射,使得数据在高维空间中线性可分
  • 求出映射函数的内积

浅入浅出核方法 (Kernel Method) - 知乎 (zhihu.com)

Kernel的类型

  • 线性核 Linear Kernel
  • 二项式核 Binomial Kernel
  • 多项式核 Polynomial Kernel
  • 高斯核 Gaussian Kernel
  • 拉普拉斯核 Laplace Kernel
  • Sigmoid Kernel
  • 以及上述Kernel的线性组合

SVM分类器如何输出预测实例的概率值

机器学习如何处理 不平衡数据

  • 重采样:减少数类样本或增加数类样本的方式,改变原始数据分布,
  • 代价敏感学习:赋予少数类更高的权重

高维数据的问题

  • 密度估计难问题
  • 维度灾难:特征数增加意味着分类所需的样本数量的增加

高维数据问题的解决

  • PCA

Missing Data如何处理

  • 取均值
  • 直接删除
  • 随机数
  • 中位数
  • 众数

Feature Selection 特征选择

  • Filter(过滤法):按照发散性或相关性对各个特征进行评分,设定阈值或者待选择特征的个数进行筛选
    1. Pearson相关系数
    2. 卡方验证
    3. 距离相关系数
  • Wrapper(包装法):根据目标函数(往往是预测效果评分),每次选择若干特征,或者排除若干特征
    1. 贪婪搜索算法
    2. 正向选择
    3. 后向选择
  • Embedded(嵌入法):结合了filter和wrapper方法的特性

Comment