机器学习ML中提到的几个知识点

本文介绍了机器学习的基础知识,包括损失函数如0-1损失、平方损失、对数损失和指数损失,以及梯度下降与学习率的概念。讨论了欠拟合和过拟合现象及其解决方案,并详细阐述了正则化的作用,特别是L1和L2正则化的区别。此外,还对比了生成模型和判别模型,并讲解了交叉验证方法,如留一法和K折交叉验证。
摘要由CSDN通过智能技术生成

机器学习分为无监督学习、有监督学习和强化学习(强化学习与环境进行交互,不断有反馈)。无监督学习就是没有类标签,常有的算法为聚类、降维(PCA);有监督学习有类标签,分类和回归都属于有监督学习。本文主要介绍机器学习中的几个知识点,便于了解。

1、损失函数(loss function)

      损失函数(loss function)是用来度量模型的预测值与真实值的不一致程度,是一个非负实值函数,损失函数越小,预测正确程度越高。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。模型的结构风险函数包括了经验风险项和正则项,可以表示为:

            

      这个公式为结构风险函数,其中,包括前一部分的经验风险项以及后一部分的正则化项,正则化项用于控制模型复杂度,λ则是用于权衡经验风险和模型复杂度之间的关系. 

所以我们会先定义损失函数,然后最小会损失函数

常见的损失函数: 

(1) 0-1损失函数(Zero-one Loss)

 

0-1 损失函数用于分类,如果预测的标签和数据标注的标签一致,那么就为0,否则就为1 .

(2) 平方损失函数(Square Loss) 

 

由于其计算的优越性,所以常常用于回归中, 权重由可以直接初始化,再通过梯度下降不断更新。

举例说明: 在线性回归中,损失函数可以定义为如下:

注意:此处的1/2的目的是方便在后续的求导计算。

(3) 对数损失函数(Log Loss or Cross-entropy Loss)  

对数损失函数适用于逻辑回归,逻辑回归就是在线性回归的基础上增加了逻辑函数sigmod,那么对于在线性回归基础上加上逻辑函数,则逻辑回归模型可以表示为

 而在逻辑回归中,由于提供了模型的概率估计,所以使用的损失函数为对数损失函数,表示如下:

 

(4) 指数损失函数(Exponential loss)  

 

指数损失函数,主要应用于 Boosting 算法中 。

2、梯度下降与学习率(GD) 

逐步最小化损失函数的过程也就是梯度下降,就如同下山一样,找准方向(斜率)每次迈进一小步,直到到达山底。而每次沿着梯度负方向迈进的步长,也就是学习率。若步长迈的比较大,有时候会掠过最低点,来回震荡;若步长特别小,收敛比较慢,会迭代很多次。

 

3、欠拟合(underfitting)和过拟合(overfitting) 

(1)欠拟合 

欠拟合就是模型没有很好地捕捉到数据特征,不能够很好地拟合数据 。解决方法:

1)添加其他特征项,有时候我们模型出现欠拟合的时候是因为特征项不够导致的,可以添加其他特征项来很好地解决。

2)添加多项式特征

3)减少正则化参数,正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,则需要减少正则化参数。

(2)过拟合

通俗一点地来说过拟合就是模型把数据学习的太彻底,以至于把噪声数据的特征也学习到了,这样就会导致在后期测试的时候不能够很好地识别数据,即不能正确的分类,模型泛化能力太差。

1)重新清洗数据,导致过拟合的一个原因也有可能是数据不纯导致的,如果出现了过拟合就需要我们重新清洗数据。

2)增大数据的训练量,还有一个原因就是我们用于训练的数据量太小导致的,训练数据占总数据的比例过小。

3)采用正则化方法。正则化方法包括L0正则、L1正则和L2正则,而正则一般是在目标函数之后加上对于的范数。

4)采用dropout方法。这个方法在神经网络里面很常用。dropout方法是ImageNet中提出的一种方法,通俗一点讲就是dropout方法在训练的时候让神经元以一定的概率不工作。

4、正则化

正则化是以最小化损失和模型的复杂度为目标,分为L1,L2。L1正则化,又叫Lasso RegressionL1是向量各元素的绝对值之和;

L2正则化,又叫Ridge Regression,L2是向量各元素的平方和。

 

相同点:都用于避免过拟合

不同点:L1可以让一部分特征的系数缩小到0,从而间接实现特征选择。所以L1适用于特征之间有关联的情况。

 L2让所有特征的系数都缩小,但是不会减为0,它会使优化求解稳定快速。所以L2适用于特征之间没有关联的情况

5、生成模型与判别模型

      (1)生成模型: 由数据学习联合概率分布P(X,Y), 然后由P(Y|X)=P(X,Y)/P(X)求出概率分布P(Y|X)作为预测的模型。该方法表示了给定输入X与产生输出Y的生成关系

生成模型:朴素贝叶斯、隐马尔可夫(em算法) 

     (2)判别模型: 由数据直接学习决策函数Y=f(X)或条件概率分布P(Y|X)作为预测模型,即判别模型。判别方法关心的是对于给定的输入X,应该预测什么样的输出Y。

判别模型:k近邻法、感知机、决策树、逻辑回归、线性回归、最大熵模型、支持向量机(SVM)、提升方法、条件随机场(CRF)

6、交叉验证 

交叉验证(Cross Validation)是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(training set),另一部分做为验证集(validation set),首先用训练集对分类器进行训练,在利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标。

       (1)留一法:

介绍:如果设原始数据有N个样本,那么每个样本单独作为验证集,其余的N-1个样本作为训练集,所以LOO-CV会得到N个模型,用这N个模型最终的验证集的分类准确率的平均数作为此下LOO-CV分类器的性能指标。

           (2)K折交叉验证(K-fold Cross Validation) 

介绍:作为2-CV的演进,将原始数据分成K组(一般是均分),将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个模型,用这K个模型最终的验证集的分类准确率的平均数作为此K-CV下分类器的性能指标。

 

参考资料:

https://blog.csdn.net/dwenjun/article/details/81914683 详解机器学习损失函数,比较详细可以看看 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值