机器学习学术报告.ppt_第1页
机器学习学术报告.ppt_第2页
机器学习学术报告.ppt_第3页
机器学习学术报告.ppt_第4页
机器学习学术报告.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器学习方法与应用 xxx教授南京邮电大学 机器学习 相关研究领域 机器学习 机器学习方法概述几种机器学习应用 机器学习 缘起 机器学习一词是上世纪50年代由美国电脑游戏和人工智能先驱 亚瑟 萨缪尔在IBM工作时提出的 亚瑟 萨缪尔声名鹊起是因为他开发的国际象棋程序 他编写程序让电脑自己和自己下了成千上万局国际象棋 通过观察下在什么位置更可能获胜 下在什么位置更可能输掉 随着局数的增加 下棋程序逐渐学习并最终超越了萨缪尔 这在当时是一个了不起的结果 此处有视频 1 机器学习 必要性 机器学习是从早期人工智能的研究中兴起的 在过去的15 20年间 它被认为是正在发展的计算机的新能力 事实上 有很多程序人工是无法直接编写出来的如 自动驾驶汽车 通过电脑阅读手写的字母或者数字 编写程序让直升机飞行或倒立飞行然而通过让便编写一个学习型算法 让计算机自己学习 可以很好解决这些问题 如手写识别等 机器学习 定义 对于某类任务T和性能度量P 如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善 那么我们称这个计算机程序在从经验E学习 MachineLearning 许多领域都产生了大量的数据 统计学家的工作就是让所有这些数据变得意义 提取重要的模式和趋势 理解 数据在说什么 我们称之为从数据中学习 统计学习基础 1 学习方式分类 有监督学习Supervisedlearning 半监督学习Unsupervisedlearning 无监督学习Semi supervisedlearning 强化学习Reinforcementlearning 1 有监督学习 输入数据被称为 训练数据 每组训练数据有一个明确的标识或结果 在建立预测模型的时候 监督式学习建立一个学习过程 将预测结果与 训练数据 的实际结果进行比较 不断的调整预测模型 直到模型的预测结果达到一个预期的准确率 监督式学习的常见应用场景如分类问题和回归问题 常见算法有逻辑回归 LogisticRegression 和反向传递神经网络 BackPropagationNeuralNetwork 1 无监督学习 无监督式学习的目的是去对原始资料进行分类 以便了解资料内部结构 概率密度等 其在学习时并不知道其分类结果是否正确 亦即没有受到监督式增强 告诉它何种学习是正确的 其特点是仅对此种网络提供输入范例 而它会自动从这些范例中找出其潜在类别规则 当学习完毕并经测试后 也可以将之应用到新的案例上 典型的例子就是聚类 聚类的目的在于把相似的东西聚在一起 而我们并不关心这一类是什么 因此 一个聚类算法通常只需要知道如何计算相似度就可以开始工作了 1 半监督学习 输入数据部分被标识 部分没有被标识 这种学习模型可以用来进行预测 但是模型首先需要学习数据的内在结构以便合理的组织数据来进行预测 应用场景包括分类和回归 算法包括一些对常用监督式学习算法的延伸 这些算法首先试图对未标识数据进行建模 在此基础上再对标识的数据进行预测 如图论推理算法 GraphInference 或者拉普拉斯支持向量机 LaplacianSVM 1 强化学习 输入数据作为对模型的反馈 不像监督模型那样 输入数据仅仅是作为一个检查模型对错的方式 在强化学习下 输入数据直接反馈到模型 模型必须对此立刻作出调整 常见的应用场景包括动态系统以及机器人控制等 常见算法包括 Qlearning 以及时间差学习 Temporaldifferencelearning 学习型算法 机器学习可以让我们解决一些人为设计和使用确定性程序很难解决的问题 从科学和哲学的角度来看 机器学习受到关注是因为提高我们对机器学习的认识需要提高我们对智能背后原理 学习算法的理解 机器学习算法是一种能够从数据中学习的算法 然而 我们所谓的学习是什么意思呢 一个简洁的定义是 对于某类任务T和性能度量P 一个计算机程序被认为可以从经验E中学习是指 通过经验E改进后 它在任务T上由性能度量P衡量的性能有所提升 下面来分别介绍一下这些名词 1 任务T 从 任务 的相对正式的定义上说 学习过程本身不能算是任务 学习是我们所谓的获取完成任务的能力 例如 我们的目标是使机器人能够行走 那么行走便是任务 我们可以编程让机器人学会如何行走 或者可以人工编写特定的指令来指导机器人如何行走 通常机器学习任务定义为学习系统应该如何处理样本 样本是指我们从某些希望机器学习系统处理的对象或事件中收集到的已经量化的特征的集合 我们通常会将样本表示成一个 其中向量的每一个元素是一个特征 例如 一张图片的特征通常是指这张图片的像素值 1 任务T 分类 机器学习可以解决很多类型的任务 一些非常常见的机器学习任务列举如下 分类 在这类任务中 计算机程序需要指定某些输入属于k类中的哪一类 为了完成这个任务 学习算法通常会返回一个函数f 当y f x 时 模型将向量x所代表的输入分类到数字码y所代表的类别 还有一些其他的分类问题 例如 f输出的是不同类别的概率分布 分类任务中有一个任务是对象识别 其中输入是图片 通常由一组像素亮度值表示 输出是表示图片物体的数字码 例如 WillowGaragePR2机器人能像服务员一样识别不同饮料 并送给点餐的顾客 1 任务T 回归 回归 在这类任务中 计算机程序需要对给定输入预测数值 为了解决这个务 学习算法需要输出函数f 除了返回结果的形式不一样外 这类问题和分类问题是很像的 这类任务的一个示例是预测投保人的索赔金额 用于设置保险费 或者预测证券未来的价格 这类预测也用在算法交易中 1 任务T 机器翻译 机器翻译 在机器翻译任务中 输入是一种语言的符号序列 计算机程序必须将其转化成另一种语言的符号序列 这通常适用于自然语言 如将英语译成法语 1 任务T 转录 转录 这类任务中 机器学习系统观测一些相对非结构化表示的数据 并转录信息为离散的文本形式 例如 光学字符识别要求计算机程序根据文本图片返回文字序列 ASCII码或者Unicode码 谷歌街景以这种方式使用深度学习处理街道编号 Goodfellowetal 2014d 另一个例子是语音识别 计算机程序输入一段音频波形 输出一序列音频记录中所说的字符或单词ID的编码 深度学习是现代语音识别系统的重要组成部分 被各大公司广泛使用 包括微软 IBM和谷歌 1 任务T 密度估计 密度估计 在密度估计问题中 机器学习算法学习样本采样空间的概率密度函数 样本连续 或者概率质量函数 样本离散 要做好这样的任务 学习算法需要学习观测到的数据的结构 算法必须知道什么情况下样本聚集出现 什么情况下不太可能出现 密度估计可以让我们显式地捕获该分布 原则上 我们可以在该分布上计算以便解决其他任务 例如 如果我们通过密度估计得到了概率分布p x 我们可以用该分布解决缺失值填补任务 转化为条件概率 1 性能度量P 为了评估机器学习算法的能力 我们必须设计其性能的定量度量 通常性能度量P是特定于系统执行的任务T而言的 对于诸如分类 缺失输入分类和转录任务 我们通常度量模型的准确率 accuracy 准确率是指该模型输出正确结果的样本比率 我们也可以通过错误率 errorrate 得到相同的信息 错误率是指该模型输出错误结果的样本比率 我们通常把错误率称为0 1损失的期望 在一个特定的样本上 如果结果是对的 那么0 1损失是0 否则是1 1 性能度量P 通常 我们在训练集 trainset 上学习算法 但我们更加关注机器学习算法在未观测数据上的性能如何 因为这将决定其在实际应用中的性能 因此 我们使用测试集 testset 数据来评估系统性能 将其与训练机器学习系统的训练集数据分开 性能度量的选择或许看上去简单且客观 但是选择一个与系统理想表现对应的性能度量通常是很难的 1 性能度量P 某些情况下 这是因为很难确定应该度量什么 例如 在执行转录任务时 我们是应该度量系统转录整个序列的准确率 还是应该用一个更细粒度的指标 对序列中正确的部分元素以正面评价 在执行回归任务时 我们应该更多地惩罚频繁犯一些中等错误的系统 还是较少犯错但是犯很大错误的系统 这些设计的选择取决于应用 1 经验E 根据学习过程中的不同经验 机器学习算法可以大致分类为无监督 unsupervised 算法和监督 supervised 算法 无监督学习算法训练含有很多特征的数据集 然后学习出这个数据集上有用的结构性质 在深度学习中 我们通常要学习生成数据集的整个概率分布 显式地 比如密度估计 或是隐式地 比如合成或去噪 还有一些其他类型的无监督学习任务 例如聚类 将数据集分成相似样本的集合 1 经验E 监督学习算法训练含有很多特征的数据集 不过数据集中的样本都有一个标签或目标 例如 Iris数据集注明了每个鸢尾花卉样本属于什么品种 监督学习算法通过研究Iris数据集 学习如何根据测量结果将样本划分为三个不同品种 注 Iris 鸢尾花卉 数据集 Fisher 1936 是统计学家和机器学习研究者使用了很久的数据集 它是150个鸢尾花卉植物不同部分测量结果的集合 每个单独的植物对应一个样本 每个样本的特征是该植物不同部分的测量结果 萼片长度 萼片宽度 花瓣长度和花瓣宽度 这个数据集也记录了每个植物属于什么品种 其中共有三个不同的品种 1 牛刀小试 线性回归 任务 写一个可以根据房屋大小 位置 成交价等因素来评估一间房屋的价格的小软件 近三个月来 每当你的城市里有人卖了房子 你都记录了下面的细节 卧室数量 房屋大小 地段等等 但最重要的是 你写下了最终的成交价 1 牛刀小试 线性回归 这就是我们的训练数据 为简化模型 只取一个特征 1 牛刀小试 线性回归 使用这些训练数据 我们要来编写一个能够估算该地区其他房屋价值的程序 我们希望使用这些训练数据来预测其他房屋的价格 这就是监督式学习 你已经知道了每一栋房屋的售价 换句话说 你已经知道了问题的答案 并且可以反向找出解题的逻辑 1 牛刀小试 线性回归 为了编写你的软件 你将包含每一套房产的训练数据输入到你的机器学习算法当中去 算法会尝试找出需要做哪些数学运算来得出价格 这就好像是你已经知道了数学测试题的答案 但是算式中的运算符号都被擦去了 1 牛刀小试 线性回归 在监督式学习中 你让计算机为你算出这种关系 而一旦你知道了解决这类特定问题所需要的数学方法后 你就可以解答其它同类问题了 1 牛刀小试 线性回归 回到房价预测问题上 学习算法各参数随机初始化时 误差通常是比较大的 变现为如图 1 牛刀小试 线性回归 这时就需要进行性能增强 通过找寻合适的代价函数并通过梯度下降等算法进行优化 预测函数曲线会越来越好 1 牛刀小试 线性回归 经过计算机训练 最终拟合出一条较合适的预测曲线 1 牛刀小试 思考 有了简单的回归示例 让我们来思考一下几个问题 1 代价函数是什么 有什么用 2 梯度下降算法原理 3 本例使用一次函数训练 若改为二次函数 告辞函数 结果如何 容量 过拟合 欠拟合问题 4 本例样本较为充足 若样本不易搜集怎么办 怎样高效利用小样本来训练算法 小样本学习问题 1 思考 代价函数 在线性回归中我们有一个像这样的训练集 m代表了训练样本的数量 比如m 47 而我们的假设函数 也就是用来进行预测的函数 是这样的线性函数形式 接下来为型选择合适的参数 0和 1 这两个参数称为模型参数 在房价问题这个例子中便是直线的斜率和在y轴上的截距 1 思考 代价函数 我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度 模型所预测的值与训练集中实际值之间的差距 下图中蓝线所指 就是建模误差 1 思考 代价函数 我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数 即使得代价函数最小 这个函数也叫费用函数 1 思考 代价函数 也就是意味着得出 0和 1这两个参数 使得假设函数表示的红色直线尽量与下面的数据点很好的拟合 f x 1x1 2x2 3 思考 梯度下降 我们希望能学习出一个函数f x 使得f x 能够尽可能准确地描述这些数据 如果能求出这个f x 那么任给一组数据 就能预测出房价 那么f x 长什么样 它的形式需要我们来指定 算法只帮我们训练出其中的参数 为方便讲解 我设f x 为下面的形式 也就是一个线性的函数 一般来说 非线性的要比线性的函数的拟合能力要强 这里暂不讨论线性与非线性的问题 1 思考 梯度下降 我们希望f x 能够尽可能准确地描述训练集中的样本 但毕竟是猜的 不可能百分百准确 肯定或多或少会有误差 于是对于一个训练集 总的误差函数 参考代价函数 可以定义如下 其中分别表示第i个样本和其对应的值 房价 1 思考 梯度下降 现在的目标是 找到最优参数 1 2 3 使得函数L 取得最小值 因为损失最小 代表模拟出的函数f x 越准确 我们先随机取一个参数值 1 2 3 然后沿着负梯度的方向调整参数 注意在费用函数中 自变量是参数 而不是X X是已知的样本数据 就可以使我们的损失函数下降得最快 直到无法再降 就是最小值 那时候的参数 就是我们要的参数 1 思考 梯度下降 梯度所指的方向就是函数增长最快的方向 负梯度则指向函数下降最快的方向 故对参数 1 2 3 求偏导为 1 思考 梯度下降 我们先随机取一组参数值 接下来让参数沿着负梯度方向走 也就是每个分量沿着对应的梯度反方向的分量走 因此参数在每次迭代的更新规则如下 是学习率 一般取值为0到1之间 它可以控制参数每步调整的大小 太大的话 有可能走到临近极佳点时 下一步就跨过去了 这样就不收敛了 走得太慢的话 会迭代很多次才收敛 1 思考 梯度下降 ps 网上总是说 大部分人做机器学习 都是调参工程师 说的一个参 就是这个 超参数 此处有视频 1 思考 容量 过拟合 欠拟合 机器学习的主要挑战是我们的算法必须能够在先前未观测的新输入上表现良好 而不只是在训练集上表现良好 在先前未观测到的输入上表现良好的能力被称为泛化 通常情况下 当我们训练机器学习模型时 我们可以使用某个训练集 在训练集上计算一些被称为训练误差的度量误差 目标是降低训练误差 机器学习和优化不同的地方在于 我们也希望泛化误差也被称为测试误差很低 1 思考 容量 过拟合 欠拟合 当我们只能观测到训练集时 我们如何才能影响测试集的性能呢 在样本数据独立同分布 iid 的假设下 我们采样得到训练集 然后挑选参数去降低训练集误差 然后采样得到测试集 在这个过程中 测试误差期望会大于或等于训练误差期望 以下是决定机器学习算法效果是否好的因素 1 降低训练误差 2 缩小训练误差和测试误差的差距 这两个因素对应机器学习的两个主要挑战 欠拟合和过拟合 欠拟合是指模型不能在训练集上获得足够低的误差 而过拟合是指训练误差和和测试误差之间的差距太大 1 思考 容量 过拟合 欠拟合 通过调整模型的容量 我们可以控制模型是否偏向于过拟合或者欠拟合 通俗地 模型的容量是指其拟合各种函数的能力 容量低的模型可能很难拟合训练集 容量高的模型可能会过拟合 因为记住了不适用于测试集的训练集性质 一种控制训练算法容量的方法是选择假设空间 即学习算法可以选择为解决方案的函数集 例如 线性回归算法将关于其输入的所有线性函数作为假设空间 广义线性回归的假设空间包括多项式函数 而非仅有线性函数 这样做就增加了模型的容量 1 思考 容量 过拟合 欠拟合 一次多项式提供了我们已经熟悉的线性回归模型 其预测如下 通过引入作为线性回归模型的另一个特征 我们能够学习关于的二次函数模型 9次多项式 1 思考 容量 过拟合 欠拟合 容量高的模型能够解决复杂的任务 但是当其容量高于任务所需时 有可能会过拟合 我们比较了一次 二次和9次预测器拟合真实二次函数的效果 一次函数无法刻画真实函数的曲率 所以欠拟合 9次函数能够表示正确的函数 但是因为训练参数比训练样本还多 所以它也能够表示无限多个刚好穿越训练样本点的很多其他函数 二次模型非常符合任务的真实结构 因此它可以很好地泛化到新数据上 见下图 1 思考 容量 过拟合 欠拟合 二次函数的拟合情况 拟合函数 一次二次9次 1 思考 容量 过拟合 欠拟合 对于一般情况 在图的左端 训练误差和泛化误差都非常高 这是欠拟合 underfitting 机制 当我们增加容量时 训练误差减小 但是训练误差和泛化误差之间的间距却不断扩大 最终 这个间距的大小超过了训练误差的下降 我们进入到了过拟合 overfitting 机制 其中容量过大 超过了最佳容量 optimalcapacity 1 思考 小样本学习 将数据集分成固定的训练集和固定的测试集后 若测试集的误差很小 这将是有问题的 一个小规模的测试集意味着平均测试误差估计的统计不确定性 使得很难判断算法A是否比算法B在给定的任务上做得更好 当数据集有十万计或者更多的样本时 这不会是一个严重的问题 当数据集太小时 也有替代方法允许我们使用所有的样本估计平均测试误差 代价是增加了计算量 1 思考 小样本学习 这些过程是基于在原始数据上随机采样或分离出的不同数据集上重复训练和测试的想法 常见的有两种方法 1 简单交叉验证 simplecrossvalidation 2 k 折交叉验证 k foldcrossvalidation 1 交叉验证 简单交叉验证 最简单 将数据集随机分成两部分 一部分作为训练集 一部分作为验证集 由于分法不同 验证集上的结果也会有差异 本质上不能称为交叉验证 因为没有涉及数据的交叉使用 只划分了一次 验证集 测试集 一般情况下 验证集取数据集的70 测试集取30 1 交叉验证 k 折交叉验证将样本集随机划分为k份 k 1份作为训练集 1份作为验证集 依次轮换训练集和验证集k次 验证误差最小的模型为所求模型 具体方法如下 1 随

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论