线性回归
相当于也是多项式回归,对数据进行拟合,拟合时使用最小二乘法,得到模型后可以用于已知变量的结果预测。
逻辑回归
logistics regression为什么会被翻译成逻辑回归?查了下词典,logistics是后勤的意思。这里只是音译,而逻辑回归在计算时会用到对数函数(logit),所以逻辑回归也叫Logit model。逻辑回归相当于建造了一个数据的映射,将二类数据的划分阈值固定为1个固定值,然后选择的这个映射函数就是著名的sigmoid函数,它也叫对数概率函数logistic function。深度学习多分类问题,最后一层会使用softmax函数。激活函数目前常用relu。
逻辑回归是判别模型,它是基于条件概率的。估算参数时,采用极大似然法,构建的损失函数通过演化后成为了交叉熵。似然函数是指,在给定输入x时,关于参数
的对数似然函数
等于给定参数
后变量x的概率的对数。
线性判别分析
Linear Discriminant Analysis。LDA是将数据投影到一条直线上,对于多分类问题,会有多条分类直线。分类目标是,类内距离小,类间距离大,反映为类间的方差大,类内的方差小。
贝叶斯分类器
是一种生成模型,它根据数据生成的规则来进行预测。贝叶斯分类器也是根据现成的数据样本直接对测试样本进行预测,没有参数调节的过程。朴素贝叶斯假设每个数据特征相互独立,可以设计不同的特征条件概率分布。更多可以参考:贝叶斯分类器
决策树
经验熵:根据现成数据样本计算的熵,类似于贝叶斯分类器,会计算到的先验概率(利用极大似然估计来计算)。
ID3选择一个特征作为分类的依据是计算该特征下的信息增益,C4.5选择的是信息增益比。决策树通过剪枝(pruning)来避免过拟合问题,剪枝时,构造决策树损失函数
,通过从叶子节点递归回缩来得到最终剪枝后的树。特征连续时,常用二分法进行离散化处理,而某些数据的特征缺失时,为每个样本赋予权值来进行处理。
CART算法:Classification And Regression Tree。是一个二叉树。CART分类树算法中,使用基尼指数来选择特征,基尼指数的计算和条件熵很类似,区别在于:
- Gini 指数的计算不需要对数运算,更加高效;
- Gini 指数更偏向于连续属性,熵更偏向于离散属性。
CART剪枝:分为前剪枝和后剪枝。
CART回归树在xgboost算法中会使用到。
降维
主成分分析
Principal Component Analysis。PCA是要将数据降维,且降维后的数据应该具有较大的方差。具体解析可参考:PCA主成分分析
协方差:两个变量总体误差的期望,同时也可以根据协方差判断两个变量的相关性(相关系数)。协方差矩阵:数据集中两两数据之间的协方差。主成分分析的算法,是先将每个样本进行中心化操作,也就是数据减去均值(减均值是为了使得投影后计算总方差时不受均值的影响,构造的方差计算公式中包含样本矩阵的协方差矩阵),计算样本矩阵的协方差矩阵
,然后计算该协方差矩阵的特征值和特征向量,最后选择前k个最大特征值对应的特征向量
,作为投影空间的基向量,最后计算
即为降维后的数据。k的计算有两种方法,一是交叉验证法,二是计算前k个特征值之和与所有特征值之和的占比,计算满足大于某阈值时最小的k值。
推广:PCA从高维到低维的映射是线性的,使用核主成分分析(Kernelized PCA)可以实现非线性的映射。计算时将样本集的协方差矩阵变为了核矩阵。具体参考:KPCA
多维缩放MDS:Multiple Dimensional Scaling。要求原始空间中的样本距离在低维空间中得到保持。
Isomap:Isometric map。等度量映射。
LLE:Local Linear Embedding。局部线性嵌入。要求保持邻域内的线性关系。
SVD奇异值分解:Singular Value Decomposition。SVD似乎常用于推荐系统中。计算奇异值的方法和PCA基本一样,只是对样本数据没有做去中心化操作,取较大的奇异值和对应的U,V可以实现对数据的重构。具体解析可参考:SVD奇异值分解
KNN分类
KNN算法其实是没有样本训练的过程的,无需计算参数。KNN回归的结果是最近邻k个样本数据的均值。在样本量大、数据呈高维时,使用暴力的搜索算法非常耗时,因此通常使用kd树来查找最近邻的点。
聚类
K-means聚类:使得聚类簇中的点到聚类中心的距离最短。先假设几个点作为簇均值,在划分好簇之后,重新计算几个簇均值,对于簇的划分,采用最近邻法,离哪个中心近则划为哪一个簇。
高斯混合聚类:高斯混合分布是由K个高斯成分混合而成,每个成分对应一个高斯分布。看上去像一个类别不明确的贝叶斯分类器,这里涉及隐变量的求解,可以使用EM算法。
EM算法:迭代求解包含隐变量的参数的对数似然函数的最大值。隐变量:观测不到的变量在影响观测结果。高斯混合模型计算的是各个高斯分布的参数和类似于0-1分布的具体分布。
GMM用于图像分割:之前需要做一个多目标识别(可以简化为分割单一背景)的任务,起初没理解GMM的原理,以为只需要获得背景的信息即可,与目标无关,在查阅资料和看完原理后,理解了GMM估计的是各类目标 分别的高斯分布,所以同样需要将目标放进模型进行训练。但是视频中的行人检测又是怎么识别的呢?不能把那么多人抓来 全部一起训练吧?实验使用的是Halcon中的算子进行验证的,但是OpenCV中似乎有对背景建模的函数。OpenCV的背景建模是用于视频中的运动前景提取,通过计算静止背景在整个视频中的高斯分布,从而对运动的前景做检测。
密度聚类:Density-based Clustering。一个簇是由密度可达关系导出最大的密度相连样本集合。
层次聚类:hierarchical clustering。AGNES是一种常用层次聚类算法。计算的是簇之间样本对之间的距离,将距离最近的簇进行合并,直到达到需要的簇个数。