机器学习笔记

hhh江月 hhh江月     2023-01-29     198

关键词:

机器学习笔记(一)

文章目录

概述

机器学习是目前信息技术中最激动人心的方向之一,其应用已经深入到生活的各个层面且与普通人的日常生活密切相关。本系列是个人学习机器学习时的一些笔记,希望对大家有一定的帮助。

机器学习的定义

机器学习正是这样的一门学科,人的“经验”对应计算机中的“数据”,让计算机来学习这些经验数据,生成一个算法模型,在面对新的情况中,计算机便能作出有效的判断,这便是机器学习。

还有一个经典教材的作者给出了如下所示的定义:
假设:

P:计算机程序在某任务类T上的性能

T:计算机程序希望实现的任务类

E:表示经验,即历史的数据集

若该计算机程序通过利用经验E在任务T上获得了性能P的改善,则称该程序对E进行了学习。

机器学习的一些基本术语

  • 所有记录的集合为:数据集
  • 每一条记录为:一个实例(instance)或样本(sample)
  • 单个的特点为特征(feature)或属性(attribute)
  • 一个样本的特征数为:维数(dimensionality)
  • 所有训练样本的集合为:训练集(trainning set)
  • 所有测试样本的集合为:测试集(test set)
  • 机器学习出来的模型适用于新样本的能力为:泛化能力(generalization),即从特殊到一般
  • 预测值为离散值的问题为:分类(classification)
  • 预测值为连续值的问题为:回归(regression)
  • 训练数据有标记信息的学习任务为:监督学习(supervised learning)
  • 训练数据没有标记信息的学习任务为:无监督学习(unsupervised learning)
    以上就是机器学习中常见的一些术语,当然还有一些其他的术语,会在后续的学习中陆续的接触到的。

误差与过拟合

我们将学习器对样本的实际预测结果与样本的真实值之间的差异成为:误差(error)。并且,误差是有不同的种类的,如下所示:
1、在训练集上的误差称为训练误差(training error)或经验误差(empirical error);
2、在测试集上的误差称为测试误差(test error);
3、学习器在所有新样本上的误差称为泛化误差(generalization error)。

显然,我们希望得到的是在新样本上表现得很好的学习器,即泛化误差小的学习器。因此,我们应该让学习器尽可能地从训练集中学出普适性的“一般特征”,这样在遇到新样本时才能做出正确的判别。然而,当学习器把训练集学得“太好”的时候,即把一些训练样本的自身特点当做了普遍特征;同时也有学习能力不足的情况,即训练集的基本特征都没有学习出来。

为了描述上述的学得太好以及学习的不足,我们引入两个概念:过拟合以及欠拟合。学习能力过强,以至于把训练样本所包含的不太一般的特性都学到了,称为:过拟合(overfitting)。学习能力过强,以至于把训练样本所包含的不太一般的特性都学到了,称为:过拟合(overfitting)。

从上面的定义我们可以发现,在过拟合问题中,训练误差十分小,但测试误差教大;但是,在欠拟合问题中,训练误差和测试误差都比较大。目前的状况是,目前,欠拟合问题比较容易克服,例如增加迭代次数等,但过拟合问题还没有十分好的解决方案,过拟合是机器学习面临的关键障碍。

评估的方法

我们希望得到的是泛化误差小的学习器,理想的解决方案是对模型的泛化误差进行评估,然后选择泛化误差最小的那个学习器。但是,泛化误差指的是模型在所有新样本上的适用能力,我们无法直接获得泛化误差。因此,通常我们采用一个“测试集”来测试学习器对新样本的判别能力,然后以“测试集”上的“测试误差”作为“泛化误差”的近似。

训练集与测试集的划分

如上所述:我们希望用一个“测试集”的“测试误差”来作为“泛化误差”的近似,因此我们需要对初始数据集进行有效划分,划分出互斥的“训练集”和“测试集”。对训练集以及测试集的划分有以下所示的集中常用的方法:

留出法

将数据集D划分为两个互斥的集合,一个作为训练集S,一个作为测试集T,常见的划分为:大约2/3-4/5的样本用作训练,剩下的用作测试。

需要注意的是:训练/测试集的划分要尽可能保持数据分布的一致性,以避免由于分布的差异引入额外的偏差,常见的做法是采取分层抽样。

同时,由于划分的随机性,单次的留出法结果往往不够稳定,一般要采用若干次随机划分,重复实验取平均值的做法。

交叉验证法

将数据集D划分为k个大小相同的互斥子集,同样地尽可能保持数据分布的一致性,即采用分层抽样的方法获得这些子集。

交叉验证法的思想是:每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集,这样就有K种训练集/测试集划分的情况,从而可进行k次训练和测试,最终返回k次测试结果的均值。交叉验证法也称“k折交叉验证”,k最常用的取值是10。

与留出法类似,将数据集D划分为K个子集的过程具有随机性,因此K折交叉验证通常也要重复p次,称为p次k折交叉验证,常见的是10次10折交叉验证,即进行了100次训练/测试。特殊地当划分的k个子集的每个子集中只有一个样本时,称为“留一法”,显然,留一法的评估结果比较准确,但对计算机的消耗也是巨大的。

自助法

我们希望评估的是用整个D训练出的模型。但在留出法和交叉验证法中,由于保留了一部分样本用于测试,因此实际评估的模型所使用的训练集比D小,这必然会引入一些因训练样本规模不同而导致的估计偏差。留一法受训练样本规模变化的影响较小,但计算复杂度又太高了。“自助法”正是解决了这样的问题。

自助法的基本思想是:给定包含m个样本的数据集D,每次随机从D 中挑选一个样本,将其拷贝放入D’,然后再将该样本放回初始数据集D 中,使得该样本在下次采样时仍有可能被采到。重复执行m 次,就可以得到了包含m个样本的数据集D’。

这样,通过自助采样,初始样本集D中大约有36.8%的样本没有出现在D’中,于是可以将D’作为训练集,D-D’作为测试集。自助法在数据集较小,难以有效划分训练集/测试集时很有用,但由于自助法产生的数据集(随机抽样)改变了初始数据集的分布,因此引入了估计偏差。在初始数据集足够时,留出法和交叉验证法更加常用。

以上就是训练集以及测试数据集的划分的三种基本的方法。

机器学习笔记

机器学习笔记(一)文章目录机器学习笔记(一)概述机器学习的定义机器学习的一些基本术语误差与过拟合评估的方法训练集与测试集的划分留出法交叉验证法自助法概述机器学习是目前信息技术中最激动人心... 查看详情

机器学习常见性能指标《机器学习实战》笔记

均方根误差平均绝对误差 查看详情

机器学习基石笔记1

机器学习基石笔记1lecture1:TheLearningProblem1.机器学习是什么通过对数据的经验计算(experiencecomputed),提升性能度量3个关键性质a)存在一种可以学习的潜在的模式(underlyingpattern)b)没有明确的可编程的定义c)存在和模式相关的数据2.机器... 查看详情

机器学习基石笔记11——机器可以怎样学习

Lecture11:LinearModelsforClassification11.1LinearModelsforBinaryClassification11.2StochasticGradientDescent11.3MulticlassviaLogisticRegression11.4MulticlassviaBinaryClassification题外话: 查看详情

机器学习笔记

10:281.引言(Introduction)1.1Welcome1.2什么是机器学习(WhatisMachineLearning)1.3监督学习(SupervisedLearning)1.4无监督学习(UnsupervisedLearning)2单变量线性回归(LinearRegressionwithOneVariable)2.1模型表示(ModelRepresentation)2.2代价函数( 查看详情

《机器学习》学习笔记:线性回归逻辑回归

《机器学习》学习笔记(一):线性回归、逻辑回归   本笔记主要记录学习《机器学习》的总结体会。如有理解不到位的地方,欢迎大家指出,我会努力改正。   在学习《机器学习》时,我主要是通过Andrew... 查看详情

莫凡《机器学习》笔记

...地址:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/机器学习方法1.1机器学习通常来说,机器学习的方法包括:监督学习supervisedlearning:(有数据有标签)在学习过程中,不断的向计算机提供数据和这些数据对应的值,如给出... 查看详情

python机器学习笔记(代码片段)

Python机器学习笔记一机器学习概述1.1人工智能概述1.1.1机器学习与人工智能、深度学习关系机器学习和人工智能、深度学习的关系机器学习是人工智能的一个实现途径深度学习是机器学习的一个方法发展而来达特茅斯会议(Da... 查看详情

python机器学习笔记(代码片段)

Python机器学习笔记一机器学习概述1.1人工智能概述1.1.1机器学习与人工智能、深度学习关系机器学习和人工智能、深度学习的关系机器学习是人工智能的一个实现途径深度学习是机器学习的一个方法发展而来达特茅斯会议(Da... 查看详情

机器学习基础教程笔记---机器学习概述(代码片段)

目录机器学习概述1.1人工智能概述1.1.1机器学习与人工智能、深度学习1.1.2机器学习、深度学习能做些什么1.1.3人工智能阶段课程安排1.2什么是机器学习1.2.1定义1.2.2解释1.2.3数据集构成1.3机器学习算法分类学习目标分析1.2中的例子... 查看详情

andrewng机器学习课程笔记之应用机器学习的建议

AndrewNg机器学习课程笔记(五)之应用机器学习的建议版权声明:本文为博主原创文章,转载请指明转载地址http://www.cnblogs.com/fydeblog/p/7368472.html 前言学习了AndrewNg课程,开始写了一些笔记,现在写完第5章了,先把这5章的内... 查看详情

机器学习初学笔记

机器学习是人工智能的一个分支。人工智能的研究是从以“推理”为重点到以“知识”为重点,再到以“学习”为重点,一条自然、清晰的脉络。显然,机器学习是实现人工智能的一个途径,即以机器学习为手段解决人工智能中... 查看详情

斯坦福大学andrewng-机器学习笔记--机器学习算法的选择与评估

  大概用了一个月,AndrewNg老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结。笔记难免有遗漏和误解,欢迎讨论。  鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深表感谢... 查看详情

[机器学习]coursera笔记-supportvectormachines

序言  机器学习栏目记录我在学习MachineLearning过程的一些心得笔记,包括在线课程或Tutorial的学习笔记,论文资料的阅读笔记,算法代码的调试心得,前沿理论的思考等等,针对不同的内容会开设不同的专栏系列。  机器学... 查看详情

深度学习李宏毅《机器学习》学习笔记

【深度学习】李宏毅《机器学习》学习笔记2021年8月16日P1-P2节-机器学习介绍和为什么要学习机器学习1950年,人工智能就出现了好厉害~~机器学习中包含了深度学习。早期的人工智能其实都是想当于给河狸装上一个先天的本能... 查看详情

机器学习对前人学习笔记的学习

             查看详情

机器学习笔记(十三)-异常检测

本次学习笔记主要记录学习机器学习时的各种记录,包括吴恩达老师视频学习、李宏毅老师视频学习、周志华老师的《机器学习》(西瓜书)以及李航老师的《统计学习方法》。作者能力有限,如有错误等,... 查看详情

《机器学习》啃书笔记|目录

待关联 查看详情