三、机器学习基础知识(笔记)

1.1模型评估与模型参数选择

如何评估一些训练好的模型并从中选择最优的模型参数?

对于给定的输入x,若某个模型的输出j=f(x)偏离真实目标值y,那么就说明模型存在误差;ŷ偏离y的程度可以用关于ŷ和y某个函数L(y,ŷ)来表示,作为误差的度量标准:这样的函数L(y,ŷ)称为损失函数。

在某种损失函数度量下,训练集上的平均误差被称为训练误差,测试集上的误差称为泛化误差。由于我们训练得到一个模型最终的目的是为了在未知的数据上得到尽可能准确的结果,因此泛化误差是衡量一个模型泛化能力的重要标准。
之所以不能把训练误差作为模型参数选择的标准,是因为训练集可能存在以下问题:1训练集样本太少,缺乏代表性;2训练集中本身存在错误的样本,即噪声。如果片面地追求训练误差的最小化,就会导致模型参数复杂度增加,使得模型过拟合(Overfitting),如图3.1所示。

为了选择效果最佳的模型防止过拟合的问题通常可以采取的方法有:

(1)使用验证集调参:使用交叉验证来评估模型的泛化能力,并进行超参数调整

(2)对损失函数进行正则化:应用正则化技术来避免模型学习到训练集中的噪声

(3)简化模型:选择合适复杂度的模型,或者减少模型中的参数数量。

(4)增加数据量:使用更多的训练数据可以帮助模型学习到更普遍的特征。

(5)早停:在训练过程中,一旦发现验证误差开始增大,就停止训练,以防止过拟合。

1.1.1验证

在机器学习和数据科学中,通常将数据集分为训练集、验证集和测试集

训练集:模型的主要学习数据,用于训练算法。一般情况下,训练集占据数据集的最大比例。

验证集:用于挑选最优模型超参数的数据集合,有时候也作为模型的辅助训练数据使用。

测试集:一旦模型选定,用来评估模型泛化能力的数据集合,测试集上的结果是模型在未知数据上表现的指标。

通常情况下,会按照一定比例来分配这些数据集,比如常见的6:2:2或者7:1:2的比例来分别分配训练集、验证集和测试集。当数据量不大时,可能会选择更小的比例来分配测试集,以确保训练集足够大,模型能够学到足够的信息。此外,在使用小量数据作为测试集时,重要的是确保测试集的数据分布能够代表整个数据集的实际分布,以便更准确地评估模型的性能。同时,人工标注小量数据作为测试集是常见的做法,尤其在数据标注成本较高或数据难以获取的情况下。

虽然人工标注小量的数据作为测试集是一种实用的做法,但需要考虑到数据集分布的代表性以及为了获得更准确的模型性能评估可能需要较大的数据量。在实际操作中,根据项目需求和资源的可用性来决定最合适的数据集划分策略。

参数的选择(调参)必须在一个独立于训练集和测试集的数据集上进行,这样用于模型参数的数据集被称为开发集或验证集。

然而很多时候我们能得到的数据量非常有限。这个时候我们可以不显式地使用验证集,而是重复使用训练集和测试集,这种方法称为交叉验证。常用的交叉验证方法如下。
(1)简单交叉验证。在训练集上使用不同的超参数训练,使用测试集选出最佳的一组超参数设置。
(2)K重交叉验证(K-fold cross validation)。将数据集划分成K等份,每次使用其中一份作为测试集,剩余的作为训练集;如此进行K次划分之后,选择最佳的模型。

1.1.2正则化

正则化项的具体形式有多种,其中最常见的包括L1正则化和L2正则化:

  • L1正则化:在目标函数中加入 (\lambda |w|_1),其中 (w) 是模型权重向量,而 (\lambda \ge 0) 是一个权衡项,表示正则化的强度。L1正则化有助于产生稀疏解,即某些权重参数的值会变为0。
  • L2正则化:则是在目标函数中加入 (2\lambda |w|_2^2),也可以写作 (2lambda w^T w)。L2正则化倾向于让权重参数的值接近于0,但不完全为0,从而使得模型更加平滑。

在实际应用中,正则化参数 (\lambda) 的选择至关重要,因为它决定了正则化效果的强弱。如果 (\lambda) 太大,可能会导致模型过于简单,无法很好地拟合训练数据;如果太小,则可能无法有效防止过拟合。

1.2监督学习与非监督学习

1.2.1监督学习

监督学习是一种机器学习方法,它通过训练带有标签的数据集来预测或分类新的数据。其过程可以概括为以下几个关键步骤:

  1. 数据准备:收集并准备包含输入特征和对应输出标签的数据集。这些数据通常是由人工标注的,因此称为“有标签”的数据。
  2. 模型选择:根据问题的性质和数据的特点选择合适的机器学习模型,如决策树、逻辑回归、线性回归等。
  3. 模型训练:使用训练数据集来调整模型的参数,以便模型能够学习到输入与输出之间的关系。
  4. 模型评估:在独立的测试集上评估模型的性能,确保模型具有良好的泛化能力。
  5. 模型应用:将训练好的模型应用于实际问题中,对新的输入数据进行预测或分类。

一、监督学习的评估指标主要包括以下几种:

1.准确率 (Accuracy):这是最直观的性能评价指标,它表示所有样本中被正确预测的比例。

2.精确率 (Precision):这个指标告诉我们在所有被预测为正类的样本中,实际上有多少是真正的正类样本。

3.召回率 (Recall):又称为真正率,它表示在所有实际为正类的样本中,有多少被模型正确预测出来了。

4.F1分数 (F1 Score):它是精确率和召回率的调和平均数,用于综合反映模型的精确率和召回率。

5.ROC曲线 (Receiver Operating Characteristic Curve):通过绘制不同阈值下的假正率(FPR)和真正率(TPR),ROC曲线能够展示模型在各种阈值下的表现。

6.AUC值 (Area Under the Curve):AUC值是ROC曲线下的面积,用于量化地比较不同模型的平均性能。

在选择评估指标时,需要根据具体的应用场景和需求来决定。例如,在一些应用中可能更关注模型的精确率,而在另一些应用中则可能更看重召回率。此外,对于不同的问题类型(如二分类、多分类或回归问题),适用的评估指标也会有所不同。

在监督学习中,我们根据训练集{〈x^(i),y^(i)〉}_i=1^N中的观测样本点来优化模型f(⋅),使得给定测试样例x′作为模型输入,其输出y ̂尽可能接近正确输出y′。 y ̂= f(x)

二、回归与分类

监督学习算法主要适用与两大类问题:回归分类。这两类问题的区别在于:回归问题的输出是连续值,而分类问题的输出是离散值。

1.回归

回归问题在生活中非常常见,其最简单的形式之一是一个连续函数的拟合。如果一个购物网站想要计算出其在某个时期的预期收益,研究人员会将相关因素如广告投放量、网站流量、优惠力度等纳入自变量,根据现有数据拟合函数,得到在未来某一时刻的预测值。
回归问题中通常使用均方损失函数来作为度量模型效果的指标,最简单的求解例子之一是最小二乘法。

均方误差损失函数(Mean Squared Error,MSE): 最常用的回归问题的损失函数。其定义为预测值与真实值之间的平方差的平均值。

该损失函数的值越小,表示模型的预测结果越接近真实值。均方损失函数的主要优点是其光滑连续且处处可导的性质,这使得它非常适合使用梯度下降算法进行模型训练。随着误差的减小,损失函数的梯度也在减小,这有助于模型收敛,即使在使用固定学习速率的情况下,也能较快地找到最小值点。然而,MSE的一个缺点是它对异常值比较敏感,因为它是基于误差的平方,所以较大的误差会被放大。

回归分析包括以下几个关键方面:
  1. 理解回归目标:与分类问题不同,在回归问题中,我们的目标是预测或估计一个连续的输出值,例如房价、温度或者股票价格等。
  2. 数据集的特点:在监督学习的回归问题中,每个样本都有一个连续的输出值作为标签,算法的目标是通过这些已知的输出值来预测未知数据的标签。
  3. 模型的选择:选择合适的模型对于解决回归问题至关重要。模型可以是线性的,如多元线性回归,也可以是非线性的,这取决于数据的特性和问题的复杂性。
  4. 性能评估方法:通常使用均方误差(MSE)或均方根误差(RMSE)等指标来评估回归模型的性能。这些指标衡量的是预测值与实际值之间的差异。
  5. 模型优化过程:在训练模型时,我们通常通过最小化损失函数来优化模型参数。在回归问题中,常用的损失函数就是均方损失函数,它能够有效地反映预测值与真实值之间的差距,并通过梯度下降等算法来调整模型参数以减小这一差距。
  6. 模型验证重要性:为了确保模型的泛化能力,需要通过交叉验证等技术来评估模型在未见过的数据上的表现。
  7. 模型应用范围:回归模型可以应用于各种领域,包括但不限于金融、气象、医疗和社会科学等,用于预测和分析各种连续变量。
线性回归可以用于预测什么场景?

线性回归是一种常用的统计方法,它可以用来预测和分析各种连续变量之间的关系。以下是一些具体的应用场景:

经济学领域:线性回归可以帮助分析影响经济指标的各种因素,如通货膨胀率、失业率等,并预测未来的经济趋势。

生物学研究:在生物学中,线性回归可以用来分析基因表达与表型特征之间的关系,或者预测药物剂量对治疗效果的影响。

工程学应用:工程师可以利用线性回归来预测结构应力、热传导等物理量的变化,以优化设计和提高安全性。

医学领域:线性回归可以帮助医生分析不同治疗方法对病情恢复的影响,或者预测患者的康复时间。

金融分析:在金融领域,线性回归用于预测股票价格、利率变动等金融市场的未来走势。

社会科学:线性回归在社会科学研究中也有广泛应用,例如分析教育水平、收入水平与社会流动性之间的关系。

此外,线性回归还可以用于房价预测、销售额度预测和贷款额度预测等商业场景。

2.分类

分类问题也是生活中非常常见的一类问题,例如我们需要从金融市场的交易记录中分类出正常的交易记录以及潜在的恶意交易。度量分类问题的指标通常为准确率(accuracy)、召回率(recall)精确率(precision)。

准确率(Accuracy)

对于测试集中D个样本,有k个被正确分类,D-k个被错误分类,则准确率为: Accuracy=分类正确的样本/样本总数= k/D= (TP+TN)/(TP+TN+FP+FN)

然而在一些特殊的分类问题中,属于各类的样本的并不是均一分布,甚至其出现概率相差很多个数量级,这种分类问题称为不平衡类问题。在不平衡类问题中,准确率并没有多大意义,即如果样本不平衡,准确率就会失效。例如,当检测一批产品是否为次品时,若次品出现的频率为1%,那么即使某个模型完全不能识别次品,只要他每次都“蒙”这件产品不是次品,他仍然能够达到99%的准确率。显然我们需要一些别的指标。
在不平衡类问题中,我们通常使用F-度量来作为评价模型的指标。

以二元不平衡分类问题为例,这种分类问题往往是异常检测,模型的好坏往往取决于其能否很好地检测出异常,同时尽可能不误报异常。定义占样本少数的类为正类(positive class),占样本多数的为负类(negativeclass),那么预测只可能出现4种状况:
(1)将正类样本预测为正类(True Positive, TP);
(2)将负类样本预测为正类(False Positive,FP);
(3)将正类样本预测为负类(False Negative, FN);
(4)将负类样本预测为负类(True Negative, TN)。

召回率(recall)

召回率(查全率)- Recall:实际为正的样本中被预测为正样本的概率 Recall=预测为正样本实际也为样本/实际为正样本= TP/TP+FN

召回率的应用场景: 比如拿网贷违约率为例,相对好用户,我们更关心坏用户,不能错放过任何一个坏用户。因为如果我们过多的将坏用户当成好用户,这样后续可能发生的违约金额会远超过好用户偿还的借贷利息金额,造成严重偿失。 召回率越高,代表实际坏用户被预测出来的概率越高,它的含义类似:宁可错杀一千,绝不放过一个。 召回率越高,也代表网络可以改进的空间越大。

精确率(precision)

1.2.2非监督学习

一.非监督学习衡量指标

二、聚类问题

“物以类聚,人以群分。”将相似的对象归入同一个“类”。

主成分分析PCA是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值