Skip to content

Commit

Permalink
1.3.1.3 搜索 done
Browse files Browse the repository at this point in the history
  • Loading branch information
goldmermaid authored and astonzhang committed Feb 17, 2021
1 parent 12a364c commit 93e818c
Showing 1 changed file with 29 additions and 9 deletions.
38 changes: 29 additions & 9 deletions chapter_introduction/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -311,11 +311,10 @@
在这种情况下,食用蘑菇造成的损失为 $0.2 \times \infty + 0.8 \times 0 = \infty$,而丢弃蘑菇的损失为$0.2 \times 0 + 0.8 \times 1 = 0.8$。
我们的谨慎是有道理的:正如任何真菌学家都会告诉我们的那样,:numref:`fig_death_cap` 中的蘑菇实际上是一个死帽蕈。

分类可能变得比二元分类、多类分类甚至*多标签分类*(multilabel classification)复杂得多
分类可能变得比二元分类、多类分类复杂得多
例如,有一些分类任务的变体可以用于寻找层次结构,层次结构假定在许多类之间存在某种关系。
因此,并不是所有的错误都是均等的。
我们宁愿错误地分入一个相关的类别,也不愿错误地分入一个遥远的类别。
通常,这被称为*层次分类*
我们宁愿错误地分入一个相关的类别,也不愿错误地分入一个遥远的类别,这通常被称为*层次分类*(hierarchical classification)。
早期的一个例子是[卡尔·林耐](https://en.wikipedia.org/wiki/Carl_Linnaeus)人,他们把动物组织分类成等级制。

在动物分类的应用中,把一只狮子狗(一种狗的品种)误认为雪纳瑞(另一种狗的品种)可能不会太糟糕。
Expand All @@ -326,23 +325,44 @@

#### 标记问题

有些分类问题很适合于二元分类或多类分类设置。例如,我们可以训练一个普通的二元分类器来区分猫和狗。鉴于目前计算机视觉的现状,我们可以用现成的工具轻松地做到这一点。尽管如此,无论我们的模型有多精确,当分类器遇到一个名为“不来梅的城市音乐家”的图像时,我们可能会发现自己陷入困境,这是一个流行的德国童话故事,讲述了:numref:`fig_stackedanimals`中的四只动物。
有些分类问题很适合于二元分类或多类分类。
例如,我们可以训练一个普通的二元分类器来区分猫和狗。
运用最前沿的计算机视觉的算法,我们可以轻松地训练这个模型。
尽管如此,无论我们的模型有多精确,当分类器遇到新的动物时可能会束手无策。
比如这张“不来梅的城市音乐家”的图像 :numref:`fig_stackedanimals` (这是一个流行的德国童话故事),图中有一只猫,一只公鸡,一只狗,一头驴,背景是一些树。
取决于我们最终想用我们的模型做什么,将其视为二元分类问题可能没有多大意义。
取而代之,我们可能想让模型描绘输入图像的内容,一只猫、一只狗、一头驴,还有一只公鸡。

![一头驴,一只狗,一只猫和一只公鸡。](../img/stackedanimals.png)
:width:`300px`
:label:`fig_stackedanimals`

如你所见,:numref:`fig_stackedanimals`中有一只猫,一只公鸡,一只狗,一头驴,背景是一些树。取决于我们最终想用我们的模型做什么,将其视为二元分类问题可能没有多大意义。取而代之的是,我们可能想让模型选择说图像描绘了一只猫、一只狗、一头驴,还有一只公鸡。
学习预测不相互排斥的类别的问题称为*多标签分类*(multilabel classification)。
举个例子,人们在技术博客上贴的标签,比如“机器学习”、“技术”、“小工具”、“编程语言”、“Linux”、“云计算”、“AWS”。
一篇典型的文章可能会用5-10个标签,因为这些概念是相互关联的。
关于“云计算”的帖子可能会提到“AWS”,而关于“机器学习”的帖子也可能涉及“编程语言”。

学习预测不相互排斥的类别的问题称为“多标签分类”。标记问题通常最好描述为多标签分类问题。想想人们在技术博客上贴的标签,比如“机器学习”、“技术”、“小工具”、“编程语言”、“Linux”、“云计算”、“AWS”。一篇典型的文章可能会应用5-10个标记,因为这些概念是相互关联的。关于“云计算”的帖子可能会提到“AWS”,而关于“机器学习”的帖子也可能涉及“编程语言”。
此外,在处理生物医学文献时,我们也会遇到这类问题。
正确地标记文献很重要,有利于研究人员对文献进行详尽的审查。
在国家医学图书馆,一些专业的注释员会检查每一篇在PubMed中被索引的文章,以便将其与Mesh中的相关术语相关联(Mesh是一个大约有28000个标签的集合)。
这是一个十分耗时的过程,注释器通常在归档和标记之间有一年的延迟。
这里,机器学习算法可以提供临时标签,直到每一篇文章都有严格的人工审核。
事实上,近几年来,BioASQ组织已经[举办比赛](http://bioasq.org/)来完成这项工作。

在处理生物医学文献时,我们也必须处理这类问题,正确地标记文章很重要,因为它允许研究人员对文献进行详尽的审查。在国家医学图书馆,一些专业的注释员会检查每一篇在PubMed中被索引的文章,以便将其与Mesh中的相关术语相关联,Mesh是一个大约有28000个标签的集合。这是一个耗时的过程,注释器通常在归档和标记之间有一年的延迟。机器学习在这里可以用来提供临时标签,直到每一篇文章都可以有一个适当的手动审核。事实上,近几年来,BioASQ组织已经[举办比赛](http://bioasq.org/)来完成这项工作。

#### 搜索

有时,我们不仅仅希望将每个样本分配给一个类别或一个实值。在信息检索领域,我们希望对一组项目进行排序。以网络搜索为例。我们的目标不是确定特定页面是否与查询相关,而是确定过多的搜索结果中哪一个与特定用户最相关。我们非常关心相关搜索结果的排序,我们的学习算法需要从更大的集合中产生有序的元素子集。换句话说,如果要求我们产生字母表中的前5个字母,返回“A、B、C、D、E”和“C、A、B、E、D”是不同的。即使结果集是相同的,集内的顺序也很重要。
有时,我们不仅仅希望输出为一个类别或一个实值。
在信息检索领域,我们希望对一组项目进行排序。
以网络搜索为例,我们的目标不是简单的“查询(query)-网页(page)”分类,而是在海量搜索结果中找到用户最需要的那部分。
搜索结果的排序也十分重要,我们的学习算法需要输出有序的元素子集。
换句话说,如果要求我们输出字母表中的前5个字母,返回“A、B、C、D、E”和“C、A、B、E、D”是不同的。
即使结果集是相同的,集内的顺序有时却很重要。

该问题的一种可能的解决方案:首先为集合中的每个元素分配相应的相关性分数,然后检索评级最高的元素。[PageRank](https://en.wikipedia.org/wiki/PageRank),谷歌搜索引擎背后最初的秘密武器就是这种评分系统的早期例子,但它的奇特之处在于它不依赖于实际的查询。
在这里,他们依靠一个简单的相关性过滤来识别一组相关条目,然后根据PageRank对包含查询条件的结果进行排序。
如今,搜索引擎使用机器学习和用户行为模型来获取网页相关性得分,很多学术会议也致力于这一主题。

该问题的一种可能的解决方案是首先为集合中的每个元素分配相应的相关性分数,然后检索评级最高的元素。[PageRank](https://en.wikipedia.org/wiki/PageRank),谷歌搜索引擎背后最初的秘密武器就是这种评分系统的早期例子,但它的奇特之处在于它不依赖于实际的查询。在这里,他们依靠一个简单的相关性过滤来识别一组相关条目,然后根据PageRank对包含查询条件的结果进行排序。如今,搜索引擎使用机器学习和行为模型来获得依赖于查询的相关性得分。很多学术会议都致力于这一主题。

#### 推荐系统
:label:`subsec_recommender_systems`
Expand Down

0 comments on commit 93e818c

Please sign in to comment.