另一方面,神经网络会自动根据预设的刺激和期望响应来修改其参数。这使得它们能够产生许多行为(理论上,它们可以产生任何行为,因为它们可以在足够长的时间内以任意精度逼近任何函数)。
机器学习是计算机科学、概率论和优化理论的一个领域,它允许解决那些逻辑/过程方法无法实现或不可行的复杂任务。
机器学习有几个不同的类别,包括(但不限于):
监督学习
在监督学习中,你有一些从输入到输出的真正复杂的函数(映射),你有大量的输入/输出对的示例,但你不知道那个复杂的函数是什么。监督学习算法可以在给定大量输入/输出对数据集的情况下,预测某些新的输入值的输出值,这些新的输入值可能以前没有见过。基本方法是将数据集分成训练集和测试集。您有一些模型和相关的误差函数,您尝试在训练集上最小化该函数,然后确保您的解决方案在测试集上有效。一旦您使用不同的机器学习算法和/或参数重复了这个过程,直到模型在测试集上表现得相当好,那么您就可以尝试将结果用于新的输入。请注意,在这种情况下,程序不会改变,只有模型(数据)发生了变化。尽管从理论上讲,可以输出不同的程序,但据我所知,在实践中并没有这样做。监督学习的一个例子是邮局使用的数字识别系统,它将像素映射到标签集0...9,使用一组大量手动标记为0...9的数字图片。
强化学习
在强化学习中,程序负责做出决策,并定期获得某种奖励/效用来评估其行动。然而,与监督学习情况不同的是,结果并不是即时的;算法可能会预设一系列的动作,直到最后才收到反馈。在强化学习中,目标是建立一个良好的模型,以便算法生成导致长期效用/回报最高的决策序列。强化学习的一个很好的例子是通过在机器人撞到物体时给予负惩罚来教机器人如何导航。如果编码正确,机器人最终可以将其范围传感器数据与其保险杠传感器数据和发送给车轮的方向相联系,并选择一种导航方式,使其不会撞到物体。
更多信息
如果您有兴趣了解更多信息,我强烈建议您阅读Christopher M. Bishop的《模式识别和机器学习》或参加机器学习课程。您还可以免费阅读宾夕法尼亚大学CIS 520:机器学习的讲座笔记。
机器学习是一门科学学科,涉及设计和开发算法,使计算机能够根据实际数据(例如来自传感器数据或数据库)演化出不同的行为。更多信息请参见维基百科
机器学习代码会记录某些“事实”或近似值,并使用算法计算不同的概率。
当机器学习时,代码本身不会被修改,只有“它知道”的数据库。
机器学习是一种基于样本数据创建模型并使用该模型进行预测或策略的方法论。它属于人工智能领域。
机器学习是一个通用术语,用来定义从示例(未标记/已标记)中产生类似学习的各种学习算法。实际的准确性/误差完全取决于您为学习算法提供的训练/测试数据的质量。这可以使用收敛率进行测量。您提供示例的原因是因为您希望您选择的学习算法能够通过指导有意义地进行概括。算法可以分为两个主要领域——监督学习(分类)和无监督学习(聚类)技术。非常重要的是,您应该对如何分离训练和测试数据集以及您为学习算法提供的质量做出明智的决策。当您提供数据集时,您还要注意过度拟合和保持健康偏见的问题。然后,算法基本上根据它从您提供给它的数据的泛化基础上学习写作,并尝试在有针对性的训练基础上生成新的例子。在聚类中,算法基本上尝试通过数据之间的模式测量来构建相关的簇集,例如kmeans / knearest neighbor。
一些好书籍: 机器学习简介(Nilsson / Stanford), 用于机器学习的高斯过程, 机器学习简介(Alpaydin), 信息理论推断和学习算法(非常有用的书籍), 机器学习(Mitchell), 模式识别和机器学习(爱丁堡大学和各种大学的标准ML课程书籍,但相对来说需要进行较深入的阅读和数学验算), 数据挖掘和实用机器学习(使用weka进行理论工作,并在Java中实践)
关于强化学习,您可以免费在线阅读一本书: http://www.cs.ualberta.ca/~sutton/book/ebook/the-book.html
在信息检索(IR)、信息提取(IE)、推荐系统以及文本/数据/网络挖掘等许多IT技术领域都广泛应用了机器学习原理。你甚至可以在此基础上应用元启发式/全局优化技术,以进一步自动化学习过程。例如,可以应用遗传算法(GA)这样的进化技术来优化基于神经网络的方法(可能使用某些学习算法)。也可以纯粹地采用概率机器学习方法,例如贝叶斯学习。大多数这些算法都极度依赖统计学。收敛和泛化的概念对于许多学习算法都非常重要。
机器学习是计算科学中的研究,其制作算法能够通过学习相似信息的模式,对没有见过的信息进行分类。在这个意义上,有各种各样的“学习者”。神经网络,贝叶斯网络,决策树,k-聚类算法,隐马尔可夫模型和支持向量机等都是例子。
基于学习者的不同,它们的学习方式也各不相同。一些学习者会产生人类可理解的框架(例如决策树),而一些学习者则普遍难以理解(例如神经网络)。
学习者本质上都是数据驱动的,这意味着它们将自己的状态保存为数据以便以后重复使用。至少在一般情况下,它们并不是自我修改的。
我认为我读过的最酷的机器学习定义之一来自Tom Mitchell的这本书。易于记忆和直观。
如果一个计算机程序在某个任务T的表现,根据性能度量P,随着经验E的增加而提高,则称该程序相对于某些任务T从经验E中学习。
如果一个计算机程序在执行某项任务时,其表现随着经验而提高,则被认为是在学习。
- Ninjakannon机器学习是一门科学,涉及设计和开发算法,使计算机能够根据经验数据(如传感器数据或数据库)进化行为。
简单来说,机器学习代码可以完成机器学习任务。这可能是从解释传感器数据到遗传算法的许多事情之一。
我会说这取决于情况。修改代码并不常见,但也不是不可能的。我也不会说机器学习总是修改历史记录。有时我们没有历史记录可以建立。有时我们只想对环境做出反应,而不是真正地从过去的经验中学习。
基本上,机器学习是一个非常开放的学科,包含许多方法和算法,使得无法对第三个问题给出一个答案。
机器学习是从现实世界中借鉴人类的概念,并应用于无法真正学习的机器上的术语。
除了其他答案提到的之外,机器学习通常不会更改代码,但它可能会基于先前数据或新收集的数据改变其执行路径和决策,因此产生“学习”效果。
有许多方法可以“教”一台机器-您对算法的许多参数进行加权,然后让机器为许多情况解决它,每次您向它反馈答案,并根据机器的答案与您的答案相差多少或根据您给出的分数或根据一些结果测试算法来调整权重。
这是一种学习方式,还有许多其他方式...