各种机器学习问题|监督学习|非监督学习|强化学习

机器学习:监督、无监督与强化学习

监督学习

监督学习(supervised learning)擅长在“给定输入特征”的情况下预测标签。 每个“特征-标签”对都称为一个样本(example)。 有时,即使标签是未知的,样本也可以指代输入特征。 我们的目标是生成一个模型,能够将任何输入特征映射到标签(即预测)。
监督学习之所以能发挥作用,是因为在训练参数时,我们为模型提供了一个数据集,其中每个样本都有真实的标签。 用概率论术语来说,我们希望预测“估计给定输入特征的标签”的条件概率。
虽然监督学习只是几大类机器学习问题之一,但是在工业中,大部分机器学习的成功应用都使用了监督学习。 这是因为在一定程度上,许多重要的任务可以清晰地描述为,在给定一组特定的可用数据的情况下,估计未知事物的概率。
![[Pasted image 20241229132516.png]]

监督学习的学习过程一般可以分为三大步骤:

  1. 从已知大量数据样本中随机选取一个子集,为每个样本获取真实标签。有时,这些样本已有标签(例如,患者是否在下一年内康复?);有时,这些样本可能需要被人工标记(例如,图像分类)。这些输入和相应的标签一起构成了训练数据集;
  2. 选择有监督的学习算法,它将训练数据集作为输入,并输出一个“已完成学习的模型”;
  3. 将之前没有见过的样本特征放到这个“已完成学习的模型”中,使用模型的输出作为相应标签的预测。
    ![[Pasted image 20241229110739.png]]

即使使用简单的描述给定输入特征的预测标签,监督学习也可以采取多种形式的模型,并且需要大量不同的建模决策,这取决于输入和输出的类型、大小和数量。

回归

回归(regression)是最简单的监督学习任务之一。
假设有一组房屋销售数据表格,其中每行对应一个房子,每列对应一个相关的属性,例如房屋的面积、卧室的数量、浴室的数量以及到镇中心的步行距离,等等。 每一行的属性构成了一个房子样本的特征向量。
当人们在市场上寻找新房子时,可能需要估计一栋房子的公平市场价值。

销售价格(即标签)是一个数值。 当标签取任意数值时,我们称之为回归问题,此时的目标是生成一个模型,使它的预测非常接近实际标签值。

分类

分类问题希望模型能够预测样本属于哪个类别(category,正式称为类(class))。
最简单的分类问题是只有两类,这被称之为二项分类(binomial classification)。
回归是训练一个回归函数来输出一个数值; 分类是训练一个分类器来输出预测的类别。

然而模型怎么判断得出这种“是”或“不是”的硬分类预测呢? 我们可以试着用概率语言来理解模型。 给定一个样本特征,模型为每个可能的类分配一个概率。
预测类别的概率的大小传达了一种模型的不确定性。

当有两个以上的类别时,我们把这个问题称为多项分类(multiclass classification)问题。
与解决回归问题不同,分类问题的常见损失函数被称为交叉熵(cross-entropy)

分类可能变得比二项分类、多项分类复杂得多。
例如,有一些分类任务的变体可以用于寻找层次结构,层次结构假定在许多类之间存在某种关系。 因此,并不是所有的错误都是均等的。 人们宁愿错误地分入一个相关的类别,也不愿错误地分入一个遥远的类别,这通常被称为层次分类(hierarchical classification)。
层次结构相关性可能取决于模型的使用者计划如何使用模型。

标记问题

学习预测不相互排斥的类别的问题称为多标签分类(multi-label classification)。
举个例子,人们在技术博客上贴的标签,比如“机器学习”“技术”“小工具”“编程语言”“Linux”“云计算”“AWS”。 一篇典型的文章可能会用5~10个标签,因为这些概念是相互关联的。 关于“云计算”的帖子可能会提到“AWS”,而关于“机器学习”的帖子也可能涉及“编程语言”。

搜索

有时,我们不仅仅希望输出一个类别或一个实值。 在信息检索领域,我们希望对一组项目进行排序。
以网络搜索为例,目标不是简单的“查询(query)-网页(page)”分类,而是在海量搜索结果中找到用户最需要的那部分。 搜索结果的排序也十分重要,学习算法需要输出有序的元素子集。

该问题的一种可能的解决方案:首先为集合中的每个元素分配相应的相关性分数,然后检索评级最高的元素。

推荐系统

另一类与搜索和排名相关的问题是推荐系统(recommender system),它的目标是向特定用户进行“个性化”推荐。
在某些应用中,客户会提供明确反馈,表达他们对特定产品的喜爱程度。
在其他一些情况下,客户会提供隐性反馈。
总的来说,推荐系统会为“给定用户和物品”的匹配性打分,这个“分数”可能是估计的评级或购买的概率。 由此,对于任何给定的用户,推荐系统都可以检索得分最高的对象集,然后将其推荐给用户。
工业生产的推荐系统要先进得多,它会将详细的用户活动和项目特征考虑在内。 推荐系统算法经过调整,可以捕捉一个人的偏好。

尽管推荐系统具有巨大的应用价值,但单纯用它作为预测模型仍存在一些缺陷。 首先,我们的数据只包含“审查后的反馈”:用户更倾向于给他们感觉强烈的事物打分。
此外,推荐系统有可能形成反馈循环:推荐系统首先会优先推送一个购买量较大(可能被认为更好)的商品,然而目前用户的购买习惯往往是遵循推荐算法,但学习算法并不总是考虑到这一细节,进而更频繁地被推荐。 综上所述,关于如何处理审查、激励和反馈循环的许多问题,都是重要的开放性研究问题。

序列学习

以上大多数问题都具有固定大小的输入和产生固定大小的输出。
在这些情况下,模型只会将输入作为生成输出的“原料”,而不会“记住”输入的具体内容。

如果输入的样本之间没有任何关系,以上模型可能完美无缺。
但是如果输入是连续的,模型可能就需要拥有“记忆”功能。

序列学习需要摄取输入序列或预测输出序列,或两者兼而有之。 具体来说,输入和输出都是可变长度的序列,例如机器翻译和从语音中转录文本。 虽然不可能考虑所有类型的序列转换,但以下特殊情况值得一提。
标记和解析
这涉及到用属性注释文本序列。 换句话说,输入和输出的数量基本上是相同的。
通常,目标是基于结构和语法假设对文本进行分解和注释,以获得一些注释。

Tom has dinner in Washington with Sally
Ent  -    -    -     Ent      -    Ent

自动语音识别
在语音识别中,输入序列是说话人的录音,输出序列是说话人所说内容的文本记录。
音频和文本之间没有1:1的对应关系,因为数千个样本可能对应于一个单独的单词。
这也是“序列到序列”的学习问题,其中输出比输入短得多。
文本到语音
这与自动语音识别相反。 换句话说,输入是文本,输出是音频文件。
在这种情况下,输出比输入长得多。 虽然人类很容易识判断发音别扭的音频文件,但这对计算机来说并不是那么简单。
机器翻译
在语音识别中,输入和输出的出现顺序基本相同。
而在机器翻译中,颠倒输入和输出的顺序非常重要。 换句话说,虽然我们仍将一个序列转换成另一个序列,但是输入和输出的数量以及相应序列的顺序大都不会相同。
![[Pasted image 20241229141013.png]]

无监督学习

到目前为止,所有的例子都与监督学习有关,即需要向模型提供巨大数据集:每个样本包含特征和相应标签值。
“监督学习”模型像一个打工仔,有一份极其专业的工作和一位极其平庸的老板。 老板站在身后,准确地告诉模型在每种情况下应该做什么,直到模型学会从情况到行动的映射。 取悦这位老板很容易,只需尽快识别出模式并模仿他们的行为即可。

如果工作没有十分具体的目标,就需要“自发”地去学习了。
比如,老板可能会给我们一大堆数据,然后要求用它做一些数据科学研究,却没有对结果有要求。

聚类(clustering)问题:
没有标签的情况下,我们是否能给数据分类呢?给定一组用户的网页浏览记录,我们能否将具有相似行为的用户聚类呢?

主成分分析(principal component analysis)问题:
我们能否找到少量的参数来准确地捕捉数据的线性相关属性?

因果关系(causality)和概率图模型(probabilistic graphical models)问题:
我们能否描述观察到的许多数据的根本原因?
如果我们有关于房价、污染、犯罪、地理位置、教育和工资的人口统计数据,我们能否简单地根据经验数据发现它们之间的关系?

生成对抗性网络(generative adversarial networks):
为我们提供一种合成数据的方法,甚至像图像和音频这样复杂的非结构化数据。
![[Pasted image 20241229142132.png]]

与环境互动

到目前为止,不管是监督学习还是无监督学习,我们都会预先获取大量数据,然后启动模型,不再与环境交互。
这里所有学习都是在算法与环境断开后进行的,被称为离线学习(offline learning)。

对于监督学习,从环境中收集数据的过程
![[Pasted image 20241229130248.png]]

简单的离线学习。好的一面是,我们可以孤立地进行模式识别,而不必分心于其他问题。 但缺点是,解决的问题相当有限。 这时我们可能会期望人工智能不仅能够做出预测,而且能够与真实环境互动。
与预测不同,“与真实环境互动”实际上会影响环境。 这里的人工智能是“智能代理”,而不仅是“预测模型”。 因此,我们必须考虑到它的行为可能会影响未来的观察结果。

当训练和测试数据不同时,提出了分布偏移(distribution shift)的问题。

强化学习

使用机器学习开发与环境交互并采取行动,强化学习(reinforcement learning)。
这可能包括应用到机器人、对话系统,甚至开发视频游戏的人工智能(AI)。
深度强化学习(deep reinforcement learning)将深度学习应用于强化学习的问题,是非常热门的研究领域。

在强化学习问题中,智能体(agent)在一系列的时间步骤上与环境交互。 在每个特定时间点,智能体从环境接收一些观察(observation),并且必须选择一个动作(action),然后通过某种机制(有时称为执行器)将其传输回环境,最后智能体从环境中获得奖励(reward)。 此后新一轮循环开始,智能体接收后续观察,并选择后续操作,依此类推。
强化学习的目标是产生一个好的_策略_(policy)。 强化学习智能体选择的“动作”受策略控制,即一个从环境观察映射到行动的功能。
![[Pasted image 20241229131743.png]]

强化学习框架的通用性十分强大,可以将任何监督学习问题转化为强化学习问题。
假设我们有一个分类问题,可以创建一个强化学习智能体,每个分类对应一个“动作”。 然后,我们可以创建一个环境,该环境给予智能体的奖励。 这个奖励与原始监督学习问题的损失函数是一致的。

强化学习者必须处理学分分配(credit assignment)问题:决定哪些行为是值得奖励的,哪些行为是需要惩罚的。

强化学习可能还必须处理部分可观测性问题。 也就是说,当前的观察结果可能无法阐述有关当前状态的所有信息。

最后,在任何时间点上,强化学习智能体可能知道一个好的策略,但可能有许多更好的策略从未尝试过的。 强化学习智能体必须不断地做出选择:是应该利用当前最好的策略,还是探索新的策略空间(放弃一些短期回报来换取知识)。

一般的强化学习问题是一个非常普遍的问题。 智能体的动作会影响后续的观察,而奖励只与所选的动作相对应。 环境可以是完整观察到的,也可以是部分观察到的,解释所有这些复杂性可能会对研究人员要求太高。 此外,并不是每个实际问题都表现出所有这些复杂性。

当环境可被完全观察到时,强化学习问题被称为马尔可夫决策过程(markov decision process)。 当状态不依赖于之前的操作时,我们称该问题为上下文赌博机(contextual bandit problem)。 当没有状态,只有一组最初未知回报的可用动作时,这个问题就是经典的多臂赌博机(multi-armed bandit problem)。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值