机器学习基础(笔记1)

常见概念(1)

  1. 为什么要有训练集和测试集?
    我们想要利用收集的猫狗数据构建一个机器学习模型,用来预测新的图片,但在将模型用于新的测量数据之前,我们需要知道模型是否有效,也就是说,我们是否应该相信它的预测结果。不幸的是,我们不能将用于构建模型的数据用于评估模型的性能。因为我们的模型会一直记住整个训练集,所以,对于训练集中的任何数据点总会预测成正确的标签。这种记忆无法告诉我们模型的泛化能力如何,即预测新样本的能力如何。我们要用新数据来评估模型的性能。新数据是指模型之前没见过的数据,而我们有这些新数据的标签。通常的做法是,我们把手头上的数据分为两部分,训练集与测试集。训练集用来构建机器学习模型,测试集用来评估模型性能。

  2. 如何划分训练集和测试集?
    通常我们将手头数据的百分之 70 或 80 用来训练数据,剩下的百分之 30 或 20 作为测试用来评估模型性能。值得注意的是,在划分数据集之前,我们要先把手头上的数据的顺序打乱,因为我们搜集数据时,数据可能是按照标签排放的。比如,现在有 100 张图片,前 50 张是猫,后 50 张是狗,如果将后面的 30 张照片当做测试集,这时测试集中只有狗狗一个类别,这无法告诉我们模型的泛化能力如何,所以我们将数据打乱,确保测试集中包含所有类别的数据。

  3. 什么是欠拟合和过拟合?造成的原因?

    欠拟合:模型在训练集上误差很高;

    欠拟合原因:模型过于简单,没有很好的捕捉到数据特征,不能很好的拟合数据。

    过拟合:在训练集上误差低,测试集上误差高;

    过拟合原因:模型把数据学习的太彻底,以至于把噪声数据的特征也学习到了,这样就会导致在后期测试的时候不能够很好地识别数据,模型泛化能力太差。

  4. 偏差与方差
    模型在训练集上的误差来源主要来自于偏差,在测试集上误差来源主要来自于方差。
    在这里插入图片描述

上图表示,如果一个模型在训练集上正确率为 80%,测试集上正确率为 79% ,则模型欠拟合,其中 20% 的误差来自于偏差,1% 的误差来自于方差。如果一个模型在训练集上正确率为 99%,测试集上正确率为 80% ,则模型过拟合,其中 1% 的误差来自于偏差,19% 的误差来自于方差。
可以看出,欠拟合是一种高偏差的情况。过拟合是一种低偏差,高方差的情况。

偏差:预计值的期望与真实值之间的差距;

方差:预测值的离散程度,也就是离其期望值的距离。

在这里插入图片描述

以射击打靶为例,蓝色的小点是我们在靶子上的射击记录,蓝色点的质心(黑色点)到靶心的距离为偏差,某个点到质心的距离为方差。所以,某个点到质心的误差就是由偏差与方差所组成。那么,为什么欠拟合是一直高偏差情况,过拟合是一种低偏差高方差情况呢?
在这里插入图片描述

我们知道,欠拟合是因为模型过于简单,模型过于简单我们可以当做是我们射击时射击的范围比较小,它所涵盖的范围不包括靶心,所以无论怎么射击,射击点的质心里靶心的距离都很远,所以偏差很高。但是因为射击范围很小,所以所有射击点相互离的比较紧密,则方差低。
在这里插入图片描述

而过拟合是因为模型过于复杂,我们可以理解为这个时候射击的范围很大了,经过不断的训练射击的点的质心离靶心的距离很近了,但是由于数据量有限,而射击范围很大,所以所有射击点之间非常离散,也就是方差很大。

  1. 验证集和交叉验证
    1) 为什么需要验证集?
    在机器学习中,通常需要评估若⼲候选模型的表现并从中选择模型。这⼀过程称为模型选择。可供选择的候选模型可以是有着不同超参数的同类模型。以神经网络为例,我们可以选择隐藏层的个数,学习率大小和激活函数。
    从严格意义上讲,测试集只能在所有超参数和模型参数选定后使⽤⼀次。不可以使⽤测试数据选择模型,如调参。由于⽆法从训练误差估计泛化误差,因此也不应只依赖训练数据选择模型。鉴于此,我们可以预留⼀部分在训练数据集和测试数据集以外的数据来进⾏模型选择。这部分数据被称为验证数据集,简称验证集。
    2) k折交叉验证
    由于验证数据集不参与模型训练,当训练数据不够⽤时,预留⼤量的验证数据显得太奢侈。⼀种改善的⽅法是 K 折交叉验证。在 K 折交叉验证中,我们把原始训练数据集分割成 K 个不重合的⼦数据集,然后我们做K次模型训练和验证。每⼀次,我们使⽤⼀个⼦数据集验证模型,并使⽤其它 K−1 个⼦数据集来训练模型。在这 K 次训练和验证中,每次⽤来验证模型的⼦数据集都不同。最后,我们对这 K 次训练误差和验证误差分别求平均值。
    在这里插入图片描述

还是以考试为例,解释上图内容。交叉验证,相当于把平常的作业题和中期的测试题合并成一个题库,然后等分成几份。图中所示,将题库分成了五份,第一行的意思是,先让学生做后面的四份训练题,再用第一份题进行测试。以此类推,再重复四次,每一次相当于重新进行学习。最后,取五次的平均成绩,平均成绩高,说明老师的教学方法好,对应到模型,就是超参数更好。

  1. 集成学习
    在机器学习的有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模型,在某些方面表现的比较好)。集成学习就是组合这里的多个弱监督模型以期得到一个更好更全面的强监督模型。集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。集成方法是将几种机器学习技术组合成一个预测模型的元算法,以达到减小方差、偏差或改进预测的效果。

  2. 自助法
    在统计学中,自助法是一种从给定训练集中有放回的均匀抽样,也就是说,每当选中一个样本,它等可能地被再次选中并被再次添加到训练集中。自助法以自助采样法为基础,给定包含 m 个样本的数据集 D,我们对它进行采样产生数据集 D’;每次随机从 D 中挑选一个赝本,将其拷贝放入 D’,然后再将该样本放回初始数据集 D 中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行 m 次后,就得到了包含m个样本的数据集 D’,这就是自助采样的结果。自助法在数据集较小、难以有效划分训练/测试集时很有用;此外,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处。然而,自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差。

  3. 衡量回归的性能指标
    1.均方误差 (MSE),2.均方根误差 (RMSE),3.平均绝对误差 (MAE),4. R-Squared 。
    MSE (Mean Squared Error)叫做均方误差,公式如下:

在这里插入图片描述

其中y^i 表示第 i 个样本的真实标签,p^i表示模型对第 i 个样本的预测标签。线性回归的目的就是让损失函数最小。那么模型训练出来了,我们在测试集上用损失函数来评估模型就行了。
RMSE(Root Mean Squard Error)均方根误差,公式如下:
在这里插入图片描述

RMSE 其实就是 MSE 开个根号。有什么意义呢?其实实质是一样的。只不过用于数据更好的描述。

例如:要做房价预测,每平方是万元,我们预测结果也是万元。那么差值的平方单位应该是千万级别的。那我们不太好描述自己做的模型效果。怎么说呢?我们的模型误差是多少千万?于是干脆就开个根号就好了。我们误差的结果就跟我们数据是一个级别的了,在描述模型的时候就说,我们模型的误差是多少万元。

MAE (平均绝对误差),公式如下:
在这里插入图片描述

上面的几种衡量标准针对不同的模型会有不同的值。比如说预测房价 那么误差单位就是万元。数子可能是 3,4 ,5 之类的。那么预测身高就可能是 0.1,0.6 之类的。没有什么可读性,到底多少才算好呢?不知道,那要根据模型的应用场景来。 看看分类算法的衡量标准就是正确率,而正确率又在 0~1 之间,最高百分之百。最低 0 。如果是负数,则考虑非线性相关。很直观,而且不同模型一样的。那么线性回归有没有这样的衡量标准呢?

R-Squared 就是这么一个指标,公式如下:
在这里插入图片描述

其中ymean表示所有测试样本标签值的均值。为什么这个指标会有刚刚我们提到的性能呢?我们分析下公式:
在这里插入图片描述

其实分子表示的是模型预测时产生的误差,分母表示的是对任意样本都预测为所有标签均值时产生的误差,由此可知:

R2leq1R^2 leq1R2leq1,当我们的模型不犯任何错误时,取最大值 1。

当我们的模型性能跟基模型性能相同时,取 0。

如果为负数,则说明我们训练出来的模型还不如基准模型,此时,很有可能我们的数据不存在任何线性关系。

如果使用校正决定系数(Adjusted R-Square):

在这里插入图片描述

其中,n 是样本数量,p 是特征数量。Adjusted R-Square 抵消样本数量对 R-Square的影响,做到了真正的 0~1,越大越好。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《机器学习学习笔记.pdf》是一本关于机器学习的学习笔记的电子书,其内容涵盖了机器学习的基本概念、算法原理和实践应用等方面。 该电子书的主要内容包括但不限于以下几个方面: 1. 机器学习基础:介绍了机器学习的基本概念、发展历史和核心原理,帮助读者建立起对机器学习的整体认识和理解。 2. 机器学习算法:详细介绍了常见的机器学习算法,包括监督学习算法(如线性回归、逻辑回归、决策树、支持向量机等)、无监督学习算法(如聚类算法、降维算法等)和强化学习算法等,使读者能够了解和掌握不同类型的机器学习算法及其应用场景。 3. 机器学习实践:讲解了机器学习的实践方法和流程,涵盖了数据预处理、特征工程、模型选择和评估等方面的内容,帮助读者掌握如何在实际问题中应用机器学习技术。 4. 应用案例:通过实际案例的介绍和分析,展示了机器学习在自然语言处理、计算机视觉、推荐系统等领域的应用,激发读者对机器学习在实际问题中的应用的兴趣和思考能力。 通过阅读《机器学习学习笔记.pdf》,读者可以系统地学习机器学习基础知识和算法原理,了解机器学习的应用场景和实践方法,并通过实际案例的分析加深对机器学习技术的理解。这本电子书可以作为机器学习初学者的入门学习资料,也适合有一定机器学习基础的读者作为参考和进一步学习的资料。希望通过这本电子书的阅读,读者能够理解和掌握机器学习的相关知识,为未来在机器学习领域的学习和研究打下坚实的基础。 ### 回答2: 《机器学习学习笔记.pdf》是一本介绍机器学习的学习资料。机器学习是一种通过利用数据来训练计算机算法的方法,使其能够自动地从数据中学习和提高性能。这本学习笔记涵盖了机器学习的基本概念、原理和方法,适合初学者和对机器学习感兴趣的读者。 首先,学习笔记机器学习的基本概念入手,包括机器学习的定义、应用领域以及机器学习的三个主要任务:监督学习、无监督学习和强化学习。然后,详细介绍了机器学习的基本原理,如训练集测试集、特征选择和模型评估等。此外,学习笔记还介绍了几种常见的机器学习算法,如决策树、支持向量机和深度学习等。 除了理论知识,学习笔记还提供了实践案例和代码示例,帮助读者更好地理解和应用机器学习算法。读者可以通过实践案例来掌握机器学习算法的具体应用,并且可以利用代码示例进行实际编程实践。同时,学习笔记还讨论了机器学习的一些挑战和未来的发展方向,如数据质量、模型解释性和自动化机器学习等。 总的来说,《机器学习学习笔记.pdf》是一本全面介绍机器学习的学习资料。它结合理论和实践,旨在帮助读者建立对机器学习的基本理解,并具备在实际问题中应用机器学习算法的能力。无论是初学者还是有一定机器学习基础的读者,都可以从中获得有益的知识和经验。 ### 回答3: 《机器学习学习笔记.pdf》是一本关于机器学习的学习笔记文档。机器学习是人工智能领域的重要分支,它研究如何使计算机系统自动从数据中学习和改进,以完成特定任务。这本学习笔记以简洁明了的方式介绍了机器学习的基本概念、算法和实践应用。 笔记中首先介绍了机器学习基础知识,包括监督学习、无监督学习和强化学习等不同的学习类型。然后详细讲解了常用的机器学习算法,如线性回归、逻辑回归、决策树、支持向量机等。每种算法都给出了清晰的定义和示例,并详细解释了算法的原理和应用场景。 此外,《机器学习学习笔记.pdf》还包括了机器学习的实践应用和案例分析。它介绍了如何通过Python等编程语言和机器学习库进行实际的机器学习项目开发,包括数据预处理、特征工程、模型训练和评估等环节。对于初学者来说,这部分内容非常有价值,可以帮助他们快速进入实际应用的阶段。 总结来说,《机器学习学习笔记.pdf》是一本很好的机器学习入门教材,它详细介绍了机器学习的基本概念和常用算法,并提供了实际项目的实践指导。无论是对于想要了解机器学习基础知识的初学者,还是对于已经有一定机器学习经验的开发者来说,这本学习笔记都是一本值得阅读和参考的资料。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值