当前位置:  开发笔记 > 前端 > 正文

什么是机器学习?

如何解决《什么是机器学习?》经验,为你挑选了9个好方法。

机器学习是计算机科学,概率论和优化理论的一个领域,它允许解决复杂的任务,逻辑/程序方法是不可能或不可行的.

机器学习有几种不同的类别,包括(但不限于):

监督学习

强化学习

监督学习
在监督学习中,你有一些从输入到输出的非常复杂的功能(映射),你有很多输入/输出对的例子,但你不知道那复杂的功能是什么.在给定输入/输出对的大数据集的情况下,监督学习算法可以预测您之前可能没有看到的某些新输入值的输出值.基本方法是将数据集分解为训练集和测试集.您有一些具有相关错误功能的模型,您尝试将其最小化到训练集上,然后确保您的解决方案适用于测试集.一旦您使用不同的机器学习算法和/或参数重复此操作,直到模型在测试集上执行得相当好,那么您可以尝试在新输入上使用结果.请注意,在这种情况下,程序不会更改,只会更改模型(数据).虽然理论上可以输出一个不同的程序,但据我所知,这在实践中并没有完成.监督学习的一个例子是邮局使用的数字识别系统,它使用手工标记为0的大量数字图像将像素映射到集合0 ... 9中的标签. ...... 9.

强化学习
在强化学习中,该计划负责制定决策,并定期为其行动获得某种奖励/效用.然而,与监督学习案例不同,结果不是立即的; 该算法可以规定大量的动作,并且只在最后接收反馈.在强化学习中,目标是建立一个良好的模型,使算法产生一系列决策,从而产生最高的长期效用/奖励.强化学习的一个很好的例子是教导机器人如何在其碰撞传感器检测到碰撞到物体时给予负面惩罚.如果编码正确,机器人最终可能将其测距仪传感器数据与其保险杠传感器数据和发送到车轮的方向相关联,并最终选择一种导致其不会撞到物体的导航形式.

更多信息
如果您有兴趣了解更多信息,我强烈建议您阅读Christopher M. Bishop的模式识别和机器学习,或参加机器学习课程.您可能还有兴趣免费阅读CIS 520:Penn机器学习的讲义.



1> Daniel G..:

什么是机器学习?

从本质上讲,它是一种教授计算机的方法,可以根据某些数据制作和改进预测或行为.这个"数据"是什么?嗯,这完全取决于问题.它可以是机器人的传感器在学会走路时的读数,也可以是某个输入的程序的正确输出.

考虑机器学习的另一种方式是它是"模式识别" - 教授程序以反应或识别模式的行为.

机器学习代码有什么作用?

取决于您所谈论的机器学习类型.机器学习是一个巨大的领域,有数百种不同的算法可以解决各种不同的问题 - 有关更多信息,请参阅维基百科 ; 具体来说,请查看算法类型.

当我们说机器学习时,它是修改自己的代码还是修改历史(数据库),它将包含给定输入集的代码体验?

再一次,这取决于.

实际被修改的代码的一个例子是遗传编程,其中你基本上演化了一个程序来完成一个任务(当然,程序不会修改自己 - 但它确实修改了另一个计算机程序).

另一方面,神经网络响应于准备好的刺激和预期响应自动修改它们的参数.这允许它们产生许多行为(理论上,它们可以产生任何行为,因为它们可以将任何函数逼近任意精度,给定足够的时间).


我应该注意到,使用术语"数据库"意味着机器学习算法通过"记住"信息,事件或经验来工作.这不一定(甚至经常!).

我已经提到的神经网络只保留近似的当前"状态",随着学习的发生而更新.神经网络不是记住发生的事情以及如何对其做出反应,而是建立了一种"世界"的"模型".模型告诉他们如何对某些输入做出反应,即使输入是以前从未见过的.

最后一项能力 - 对以前从未见过的输入作出反应的能力 - 是许多机器学习算法的核心原则之一.想象一下,试图教一个计算机驱动程序在高速公路上进行交通.使用您的"数据库"比喻,您必须在数百万种可能的情况下准确地教授计算机应该做什么.一个有效的机器学习算法(希望!)能够学习不同状态之间的相似性并对它们作出类似的反应.

国家之间的相似之处可以是任何东西 - 即使是我们可能认为"平凡"的东西也可以真正绊倒计算机!例如,假设计算机驱动程序了解到,当它前面的汽车减速时,它必须放慢速度.对于人来说,用摩托车取代汽车并没有改变任何东西 - 我们认识到摩托车也是一种车辆.对于机器学习算法,这实际上可能非常困难!数据库必须分别存储关于汽车在前方和摩托车在前方的情况的信息.另一方面,机器学习算法将从汽车示例中"学习"并且能够自动地概括为摩托车示例.


您的解释确实非常值得和赞赏。您能否深入阐述“计算机”驱动程序的示例(关于您的陈述“学习不同状态之间的相似性”)?
很好的例子。感谢您的解释。万分感谢 !

2> Michael Aaro..:

机器学习是计算机科学,概率论和优化理论的一个领域,它允许解决复杂的任务,逻辑/程序方法是不可能或不可行的.

机器学习有几种不同的类别,包括(但不限于):

监督学习

强化学习

监督学习
在监督学习中,你有一些从输入到输出的非常复杂的功能(映射),你有很多输入/输出对的例子,但你不知道那复杂的功能是什么.在给定输入/输出对的大数据集的情况下,监督学习算法可以预测您之前可能没有看到的某些新输入值的输出值.基本方法是将数据集分解为训练集和测试集.您有一些具有相关错误功能的模型,您尝试将其最小化到训练集上,然后确保您的解决方案适用于测试集.一旦您使用不同的机器学习算法和/或参数重复此操作,直到模型在测试集上执行得相当好,那么您可以尝试在新输入上使用结果.请注意,在这种情况下,程序不会更改,只会更改模型(数据).虽然理论上可以输出一个不同的程序,但据我所知,这在实践中并没有完成.监督学习的一个例子是邮局使用的数字识别系统,它使用手工标记为0的大量数字图像将像素映射到集合0 ... 9中的标签. ...... 9.

强化学习
在强化学习中,该计划负责制定决策,并定期为其行动获得某种奖励/效用.然而,与监督学习案例不同,结果不是立即的; 该算法可以规定大量的动作,并且只在最后接收反馈.在强化学习中,目标是建立一个良好的模型,使算法产生一系列决策,从而产生最高的长期效用/奖励.强化学习的一个很好的例子是教导机器人如何在其碰撞传感器检测到碰撞到物体时给予负面惩罚.如果编码正确,机器人最终可能将其测距仪传感器数据与其保险杠传感器数据和发送到车轮的方向相关联,并最终选择一种导致其不会撞到物体的导航形式.

更多信息
如果您有兴趣了解更多信息,我强烈建议您阅读Christopher M. Bishop的模式识别和机器学习,或参加机器学习课程.您可能还有兴趣免费阅读CIS 520:Penn机器学习的讲义.


你提到"......逻辑/程序方法是不可能或不可行的." 能否请您举例说明?谢谢.

3> zs2020..:

机器学习是一种基于样本数据创建模型并使用该模型进行预测或策略的方法.它属于人工智能.



4> Espo..:

机器学习是一门科学学科,它关注算法的设计和开发,这些算法允许计算机根据经验数据(例如传感器数据或数据库)发展行为.阅读Wikipedia上的更多内容

机器学习代码在某种存储中记录"事实"或近似值,并且算法计算不同的概率.

当机器学习时,代码本身不会被修改,只有"它知道"的数据库才会被修改.


如果机器学习程序存储了它所学习的数据,那么就没有计划程序...我们只是查询数据本身.大多数ML程序只创建数据模型,因为数据集可能非常大(几GB),我们希望程序对看不见的数据集具有预测能力.ML程序几乎没有理由存储数据.
您仍然在限制机器学习的特定区域的答案.事实或近似并不总是被记录下来.事物可以被体验,反应和遗忘."存储"不是机器学习的主要内容.它可以使用,但不是必需的.

5> 小智..:

机器学习只是一个通用术语,用于定义各种学习算法,这些算法通过实例(未标记/标记)产生准学习.实际的准确度/误差完全取决于您为学习算法提供的培训/测试数据的质量.这可以使用收敛率来测量.您提供示例的原因是因为您希望您选择的学习算法能够通过指导进行信息化推广.算法可以分为两个主要区域监督学习(分类)和无监督学习(聚类)技术.您应该如何决定如何分离训练和测试数据以及为学习算法提供的质量,这一点非常重要.当您提供数据集时,您还希望在示例中了解过度拟合和保持健康偏见感.然后该算法基本上学习写作是基于泛化而写的,它是从你提供的数据中获得的,用于训练,然后在测试过程中,你试图让你的学习算法根据你的目标训练产生新的例子.在聚类中,该算法基本上试图通过数据之间的模式测量来生成非常少的信息指导,以构建相关的聚类集合,例如kmeans/knearest neighbor.

一些好书:ML(Nilsson/Stanford)简介,ML高斯过程,ML(Alpaydin)简介,信息理论推理和学习算法(非常有用的书),机器学习(Mitchell),模式识别和机器学习(标准在爱丁堡的ML课程书和各种Unis,但相对较重的数学阅读),数据挖掘和Weka的实用机器学习(使用weka和Java实践理论)

强化学习有一本免费的在线书籍,你可以阅读:http: //www.cs.ualberta.ca/~sutton/book/ebook/the-book.html

IR,IE,推荐器和文本/数据/ Web挖掘通常使用很多机器学习原理.您甚至可以在此处应用元启发式/全局优化技术来进一步自动化您的学习过程.例如,应用像GA(遗传算法)这样的进化技术来优化基于神经网络的方法(可能使用一些学习算法).您可以纯粹以可能性机器学习方法的形式进行处理,例如贝叶斯学习.这些算法中的大多数都使用了大量的统计数据.收敛和泛化的概念对许多这些学习算法很重要.



6> Shaggy Frog..:

机器学习是计算科学的研究,通过学习类似信息培训的模式,制作能够对以前从未见过的信息进行分类的算法.在这个意义上,有各种各样的"学习者".例如,神经网络,贝叶斯网络,决策树,k-聚类算法,隐马尔可夫模型和支持向量机.

基于学习者,他们每个人都以不同的方式学习.一些学习者产生人类可理解的框架(例如决策树),而一些学习者通常是不可理解的(例如神经网络).

学习者本质上都是数据驱动的,这意味着他们将状态保存为以后重用的数据.它们本身并不是自我修改的,至少在一般情况下如此.



7> vikram360..:

我认为我读过的最酷的机器学习定义之一来自Tom Mitchell的这本书.易于记忆和直观.

据说计算机程序从经验E中学习某些任务T和性能测量P,如果它在T中的任务中的性能(由P测量)随经验E而改善


尽管不必要地使用符号,但我总是讨厌这个定义是如何重复的,甚至是教导的.更简单,更好:据说计算机程序可以从某些任务类的经验中学习,如果它在这些任务中的表现,就某些性能指标而言,会随着经验而提高.现在让我们再简化一些.据说,如果计算机程序在执行某项任务时的表现随着经验而提高,则可以在执行任务时学习

8> Kevin Crowel..:

从维基百科无耻地撕掉:机器学习是一门科学学科,它关注算法的设计和开发,允许计算机根据经验数据(例如传感器数据或数据库)发展行为.

很简单,机器学习代码完成机器学习任务.从解释传感器数据到遗传算法,这可能是很多事情.

我会说这取决于.不,修改代码不正常,但不在可能范围之外.我也不会说机器学习总是会修改历史.有时我们没有历史可以建立起来.有时我们只是想对环境作出反应,但实际上并没有从过去的经验中学习.

基本上,机器学习是一个非常开放的学科,包含许多方法和算法,使得第3个问题无法得到1个答案.



9> Dani..:

机器学习是一个从人的现实世界中获取的术语,应用于无法实际学习的东西 - 机器.

要添加到其他答案 - 机器学习不会(通常)改变代码,但它可能会改变它的执行路径和基于先前数据或新收集数据的决定,从而改变"学习"效果.

有很多方法可以"教"一台机器 - 你可以对算法的许多参数赋予权重,然后让机器在很多情况下解决它,每次你给她一个关于答案的反馈并且机器根据权重调整权重.机器的答案与你的答案有多接近,或者根据你给出答案的分数,或根据一些结果测试算法.

这是一种学习方式,还有更多......

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有