算法基础-杂记1

判别式模型和生成式模型

判别式模型直接对条件概率建模,常见的有LR,决策树,SVM,knn,神经网络

判别式模型直接对联合概率建模,常见的有HMM,朴素贝叶斯,GMM,LDA

  1. 生成式模型更普适;判别式模型更直接,目标性更强
  2. 生成式模型关注数据是如何产生的,寻找的是数据分布模型;判别式模型关注的数据的差异性,寻找的是分类面
  3. 由生成式模型可以产生判别式模型,但是由判别式模式没法形成生成式模型
正负样本不均衡的处理办法

上采样:通过将小种类样本复制多份,来得到多个不同数据集,每个数据集训练一个模型。

缺点:反复出现一些样本,容易过拟合

解决:生成新数据时加入

下采样:从大种类中选取部分样本

缺点:丢失部分信息,只学习到总体的一部分

解决:boosting 和 bagging

数据合成

对损失函数处理:对不同类别分错的代价不同,采用Focal loss

在这里插入图片描述

学习到某层loss为0,梯度消失怎么办?

产生原因:随着层数的加深,激活函数(sigmoid,导数值得范围在【0,0.25】)的输出值的整体分布逐渐往激活函数的取值区间上下限(饱和区)靠近,从而导致在反向传播时低层神经网络的梯度消失。

解决:

1.使用relu,maxout等激活函数代替

2.使用BN

3.适当调整学习率和权重衰减项

4.LSTM结构

5.残差网络

LR和NN的关系

可以将LR认为只含有一个神经元的单层神经网络

机器学习项目中的开发流程

理解实际问题。抽象为机器学习能处理的数学问题 理解实际业务场景问题是机器学习的第一步,机器学习中特征工程和模型训练都是非常费时的,深入理解要处理的问题,能避免走很多弯路。

数据获取。“ 数据决定机器学习结果的上限,而算法只是尽可能的逼近这个上限”。总的来说数据要有具有“代表性”,对于分类问题,数据偏斜不能过于严重,不同类别的数据数量不要有数个数量级的差距。不仅如此还要对评估数据的量级,样本数量、特征数量,估算训练模型对内存的消耗。如果数据量太大可以考虑减少训练样本、降维或者使用分布式机器学习系统。数据预处理、数据清洗等等都非常重要。

特征工程。 特征工程包括从原始数据中特征构建、特征提取、特征选择,非常有讲究。深入理解实际业务场景下的问题,丰富的机器学习经验能帮助我们更好的处理特征工程。特征工程做的好能发挥原始数据的最大效力,往往能够使得算法的效果和性能得到显著的提升,有时能使简单的模型的效果比复杂的模型效果好。数据挖掘的大部分时间就花在特征工程上面,是机器学习非常基础而又必备的步骤。、筛选显著特征、摒弃非显著特征等都非常重要。

模型训练、诊断、调优。模型诊断中至关重要的是判断过拟合、欠拟合,常见的方法是绘制学习曲线,交叉验证。通过增加训练的数据量、降低模型复杂度来降低过拟合的风险,提高特征的数量和质量、增加模型复杂来防止欠拟合。诊断后的模型需要进行进一步调优,调优后的新模型需要重新诊断,这是一个反复迭代不断逼近的过程,需要不断的尝试,进而达到最优的状态。

模型验证、误差分析。通过测试数据,验证模型的有效性,观察误差样本,分析误差产生的原因,往往能使得我们找到提升算法性能的突破点。误差分析主要是分析出误差来源与数据、特征、算法。

模型融合(可选)。提升算法的准确度主要方法是模型的前端(特征工程、清洗、预处理、采样)和后端的模型融合。

连续特征离散化的好处

原因:算法需要,相对于连续特征更容易理解,克服数据中的隐藏缺陷,结果更稳定

好处:离散特征增加或者减少更加容易,易于快速迭代
稀疏向量内积乘法运算快,易存储
有很强的鲁棒性
可以进行特征交叉
简化模型的作用

偏差和方差

偏差:预测值的期望和真实值之间的差异,偏差越大,越偏离真实数据。学习能力不强导致,衡量欠拟合。
方差:预测值的变化情况,离散程度,也就是离其期望值的距离,学习能力太强导致,衡量过拟合

SVM和LR的应用场景
  • 如果feature数量很大,和样本数量差不多,选用LR或者Linear Kernel的SVM
  • 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel
  • 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况
极大似然估计和最大后验的区别

MLE:在已经得到实验结果估计满足这个分布的参数,将使这个样本出现的概率最大的参数theta作为其真实参数的估计。用似然函数求解。

MAP:根据经验数据,获得对难以观察的量的点估计。与MLE不同的是,MAP融入了被估计量的先验分布,即模型参数本身的概率分布。

EM算法:

有时候因为样本的产生和隐含变量有关(隐含变量是不能观察的),而求模型的参数时一般采用最大似然估计,由于含有了隐含变量,所以对似然函数参数求导是求不出来的,这时可以采用EM算法来求模型的参数的(对应模型参数个数可能有多个)

在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐变量。
经过两个步骤的交替计算:
第一步是计算期望(E),选取一组参数,求出在该参数下隐含变量的条件概率值
第二步时最大化(M),在E步上求得最大似然估计值计算参数的值,M步上找到的参数估计值被用于下一个E步的计算中,不断交替进行。

余弦相似度距离

余弦相似度距离:余弦相似度用向量空间中两个向量夹角的余弦相似值作为衡量两个个体间差异的大小。相比距离度量,余弦相似度更加注重两个向量在方向上的差异而非距离或者长度。

什么样的模型对缺失值敏感

树模型对于缺失值敏感度较低,涉及到距离度量时,缺失值就比较重要,如KNN、SVM,线性函数的代价函数往往涉及距离,神经网络、贝叶斯对缺失值也不敏感。

贝叶斯定理

在这里插入图片描述

对偶概念

一个优化问题可以从两个角度进行考察,一个是原始问题,一个是二重问题,就是对偶问题,一般情况下对偶问题给出主问题最优值的下界,在强对偶性成立的情况下由对偶问题可以得到主问题的最优下界,对偶问题是凸优化问题,可以进行较好的求解,SVM中就是将primal问题转换为dual问题进行求解,从而进一步引入核函数的思想。

如何进行特征选择

特征选择是一个重要的数据预处理过程,主要有两个原因:一是减少特征数量、降维,使模型泛化能力更强,减少过拟合;二是增强对特征和特征值之间的理解

常见的特征选择方式:
(1)去除方差较小的特征
(2)正则化。L1正则化能够生成稀疏的模型。L2正则化的表现更加稳定,由于有用的特征往往对应系数非零。
(3)随机森林,对于分类问题,通常采用基尼不纯度或者信息增益,对于回归问题,通常采用的是方差或者最小二乘拟合。一般不需要feature engineering、调参等繁琐的步骤。它的两个主要问题,1是重要的特征有可能得分很低(关联特征问题),2是这种方法对特征变量类别多的特征越有利(偏向问题)。
(4)稳定性选择。是一种基于二次抽样和选择算法相结合较新的方法,选择算法可以是回归、SVM或其他类似的方法。它的主要思想是在不同的数据子集和特征子集上运行特征选择算法,不断的重复,最终汇总特征选择结果,比如可以统计某个特征被认为是重要特征的频率(被选为重要特征的次数除以它所在的子集被测试的次数)。理想情况下,重要特征的得分会接近100%。稍微弱一点的特征得分会是非0的数,而最无用的特征得分将会接近于0。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值