背景:笔者做过一段时间的机器学习,了解到一些机器学习相关概念,总结在这里用于复习。欢迎留言指正。
集成学习
GBDT 梯度提升决策树
梯度提升决策树(Gradient Boosting Decision Tree),一种基于boosting集成学习思想的加法模型,训练时采用前向分布算法进行贪婪的学习,每次迭代都学习一棵CART树来拟合之前 t-1 棵树的预测结果与训练样本真实值的残差。
CART(classification and regression tree)分类与回归树
Adaboost
adaboost是一种迭代算法,针对同一个训练集中的不同分类器,然后把这些弱分类器集合起来,构成一个更强的最终分类器。(Adaptive boosting)自适应增强算法,擅长处理分类问题、标签问题和回归问题,用于数据分类问题较为多见。对于分类器而言,它是基于测试过程中错误反馈调节的分类器的分类效果。
GBDT与adaboost的区别
Adaboost用错分数据点来识别问题,通过调整错分数据点的权重来改进模型。GBDT通过负梯度来识别问题,通过计算负梯度来改进模型。
GBDT每一轮训练时所关注的重点是本轮产生结果的残差,下一轮以本轮残差作为输入,尽量去拟合这个残差,使下一轮输出的残差不断变小。所以GBDT可以做到每一轮一定向损失函数减小的梯度方向变化,而传统的boosting算法只能是尽量向梯度方向减小,这是GBDT与传统boosting算法最大的区别,这也是为什么GBDT相比传统boosting算法可以用更少的树个数与深度达到更好的效果。
Random Forest 随机森林
集成学习中的 Bagging,随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定
神经网络
LSTM 长短期记忆神经网络
长短期记忆神经网络(LSTM)是一种特殊的循环神经网络(RNN)。原始的RNN在训练中,随着训练时间的加长以及网络层数的增多,容易出现梯度爆炸或梯度消失的问题,导致无法处理较长序列数据,从而无法获取长距离数据的信息。为解决该问题,提出了它的改进方案,即LSTM神经网络。选择一个记忆细胞,对信息有选择性地记忆。LSTM被广泛用于许多序列任务(包括天然气负荷预测,股票市场预测,语言建模,机器翻译),并且比其他序列模型(例如RNN)表现更好,尤其是在有大量数据的情况下。 LSTM经过精心设计,可以避免RNN的梯度消失问题。
单元状态、隐藏状态、输入门、忘记门、输出门
RNN 循环神经网络
RNN是一类用于处理序列数据的神经网络
神经元常用算法
RBF
RBF:径向基函数,中心点径向对称且衰减的非负线性函数,高斯径向基函数
回归分析
SVR
SVR: SVM计算测试样本到决策边界的距离,然后通过sign()函数输出类别1或者-1
ARIMA
ARIMA:Autoregressive Integrated Moving Average model),差分整合移动平均自回归模型,又称整合移动平均自回归模型(移动也可称作滑动),是时间序列预测分析方法之一
ARMA
ARMA: 自回归滑动平均模型(Auto-Regressive Moving Average Model).使用两个多项式的比率近似一个较长的AR多项式,即其中p+q个数比AR(p)模型中阶数p小。前二种模型分别是该种模型的特例。一个ARMA过程可能是AR与MA过程、几个AR过程、AR与ARMA过程的迭加,也可能是测度误差较大的AR过程
LSSVM
LSSVM: 最小二乘支持向量机, LSSVM和SVM的区别就在于,LSSVM把原方法的不等式约束变为等式约束,从而大大方便了Lagrange乘子alpha的求解,原问题是QP问题,而在LSSVM中则是一个解线性方程组的问题。
lasso回归
lasso回归:Least absolute shrinkage and selection operator最小绝对收缩和选择算子。是一种压缩估计。它通过构造一个惩罚函数得到一个较为精炼的模型,使得它压缩一些回归系数,即强制系数绝对值之和小于某个固定值;同时设定一些回归系数为零。因此保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计。LASSO 回归的特点是在拟合广义线性模型的同时进行变量筛选(variable selection)和复杂度调整(regularization)。因此不论目标因变量(dependent/response varaible)是连续的(continuous),还是二元或者多元离散的(discrete),都可以用 LASSO 回归建模然后预测。L1正则化,拉普拉斯分布
ridge岭回归
ridge岭回归:一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法。L2正则化,高斯分布。通常岭回归方程的R平方值会稍低于普通回归分析,但回归系数的显著性往往明显高于普通回归,在存在共线性问题和病态数据偏多的研究中有较大的实用价值。
贝叶斯回归
贝叶斯回归:将线性模型的参数视为随机变量(random variable),并通过模型参数(权重系数)的先验(prior)计算其后验(posterior)。贝叶斯线性回归可以使用数值方法求解,在一定条件下,也可得到解析型式的后验或其有关统计量
PSO
PSO: Particle Swarm Optimization粒子群优化算法, 模仿昆虫、兽群、鸟群和鱼群等的群集行为,这些群体按照一种合作的方式寻找食物,群体中的每个成员通过学习它自身的经验和其他成员的经验来不断改变其搜索模式。
聚类
PCA
PCA: 主成分分析(Principal Component Analysis是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。主成分分析被广泛应用于区域经济发展评价,服装标准制定,满意度测评,模式识别,图像压缩等许多领域
K-MEANs
K-MEANs: 基于划分的聚类算法,该算法具有运算速度快,执行过程简单的优点. 利用相似性度量方法来衡量数据集中所有数据之间的关系,将关系比较密切的数据划分到一个集合中。K-means算法首先需要选择K个初始化聚类中心
(2) 计算每个数据对象到K个初始化聚类中心的距离,将数据对象分到距离聚类中心最近的那个数据集中,当所有数据对象都划分以后,就形成了K个数据集(即K个簇)
(3)接下来重新计算每个簇的数据对象的均值,将均值作为新的聚类中心
(4)最后计算每个数据对象到新的K个初始化聚类中心的距离,重新划分
(5)每次划分以后,都需要重新计算初始化聚类中心,一直重复这个过程,直到所有的数据对象无法更新到其他的数据集中
相似度计算
DTW
DTW: Dynamic Time Warping,动态时间归整. 基于动态规划(DP)的思想,解决了发音长短不一的模板匹配问题,是语音识别中出现较早、较为经典的一种算法,用于孤立词识别. 最简单的相似度计算方法可能是计算两个时间序列的欧氏距离。DTW算法的步骤为:计算两个序列各个点之间的距离矩阵。寻找一条从矩阵左上角到右下角的路径,使得路径上的元素和最小。
知识图谱
知识图谱是结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系,其基本组成单位是“实体—关系—实体”三元组,以及实体及其相关属性—值对,实体间通过关系相互联结,构成网状的知识结构。
评价指标
聚类 轮廓系数
轮廓系数的核心思想是判断:类间距离 与 类内距离 的相对大小,如果 类间距离 > 类内距离,则说明 聚类结果好,反之,则不好。
回归分析 AIC
AIC: 最小信息准则,Akaike information criterion赤池信息准则,是衡量统计模型拟合优良性的一种标准.它建立在熵的概念基础上,可以权衡所估计模型的复杂度和此模型拟合数据的优良性。 AIC=-2 ln(L) + 2 k. 它既考虑了模型的拟合情况,又考虑了复杂度情况,采用在同等拟合优度条件下参数最少的模型作为估计模型。
回归分析 BIC
BIC准则:Bayesian Information Criterions,贝叶斯信息准则.BIC的惩罚项比AIC的大,考虑了样本数量,样本数量过多时,可有效防止模型精度过高造成的模型复杂度过高。BIC=ln(n)k-2ln(L) AIC是从预测角度,选择一个好的模型来预测,BIC是从拟合角度,选择一个对现有数据拟合最好的模型。
回归分析 RMSE,MSE,R^2
RMSE,MSE,R^2, Root Mean Squared Error均方根误差,先平方、再平均、然后开方.
均方误差 (MSE)通常用作回归问题的损失函数.
R^2决定系数,反应因变量的全部变异能通过回归关系被自变量解释的比例。为回归平方和与总离差平方和的比值,表示总离差平方和中可以由回归平方和解释的比例,这一比例越大越好,模型越精确,回归效果越显著。R平方介于0~1之间,越接近1,回归拟合效果越好,一般认为超过0.8的模型拟合优度比较高。求和(预测值-平均值)^2/求和(真实值-平均值)^2
回归分析 Z-Score
Z-Score: 也叫标准分数(standard score)是一个数与平均数的差再除以标准差的过程。z分数能够真实的反应一个分数距离平均数的相对标准距离。(原始数据-平均数)/标准差。当原始分数的分布形态是正态分布时,把所有原始分数都转化为Z分数,就形成了标准正态分布。Z分数的应用主要有:①表示各原始数据在数据组中的相对位置;②对于正态数据,可表示该数据以下或以上数据的比例,具体说可以求解诸如分数线问题或人数比例问题;③表示标准化测验的分数;④用于异常值的取舍。标准分数在学生教育评价中常有以下五种应用:纵横比较、成绩等级化、标准转化、等级比例确定、品质评定数量化。
标准差是方差的算术平方根。
正态分布(Normal distribution),也称“常态分布”,又名高斯分布。呈钟型,两头低,中间高,左右对称。若随机变量X服从一个数学期望为μ、方差为σ2的正态分布,记为N(μ,σ2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ = 0,σ = 1时的正态分布是标准正态分布。
神经网络 交叉验证
交叉验证: 随机地将数据集切分成三部分,分别为训练集(training set)、验证集(validation set)和测试集(test set)。训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对学习方法的评估。在学习到的不同复杂度的模型中,选择对验证集有最小预测误差的模型。 由于验证集有足够多的数据,用它对模型进行选择也是有效的。应用最多的是S折交叉验证,首先随机地将已给数据切分为S个互不相交的大小相同的子集;然后利用S-1个子集的数据训练模型, 利用余下的子集测试模型;将这一过程对可能的S种选择重复进行; 最后选出S次评测中平均测试误差最小的模型。
算法库
1.tensorflow 谷歌大脑团队 深度学习和神经网络
2.NLTK 文本分类和自然语言处理库。可以用于词干提取、词形还原、标记和在文档中搜索关键字。NLTK可用于高级语言分析,比如情感、评论分析、文本分类器、检查评论中的关键词、文本挖掘和许多其他与人类语言相关的操作。NLTK需要文本处理来训练的模型来识别和创建。
3.scikit-learn 用于各种数据建模概念,如回归、分类、聚类、模型选择等
4.Keras 包含常用神经网络的标准块,以及使图像和文本处理更快更流畅的工具。除了标准的神经网络块外,它还提供重复出现的神经网络。
5.PyTorch 脸谱AI实验室(FAIR) 深度学习、自然语言处理和计算机视觉,开发和训练深度学习模型
6.mlpack 社区,佐治亚理工学院支持 是基于C++的机器学习库,支持几乎所有著名的机器学习算法和模型,如 GMM、K均值、最小角度回归、线性回归等。开发该库的主要重点是使其成为快速、可扩展且易于理解的以及易于使用的库,即使是编程小白也可以毫无问题地理解和使用它
7.OpenCV 英特尔公司发起,致力于计算机视觉和图像处理的开源平台.有2500多种专用于计算机视觉和机器学习的算法。它可以跟踪人体运动、检测移动物体、提取3D模型、将图像拼接在一起以创建高分辨率图像,探索AR的可能性。OpenCV被广泛用于各种闭路电视监控,各大相机厂商也都在使用OpenCV使其产品更智能和用户友好
8.Caffe 考虑了代码清洁、可读性及速度的深度学习框架
常用机器学习模块
Pandas 数值数据和时间序列的数据操作,对于大型数据集非常有用且速度非常快
Numpy 用于处理多维数据和复杂的数学函数
Matplotlib 数据可视化