什么是机器学习?

  • 什么是机器学习
  • 机器学习的代码做什么?
  • 当我们说机器在学习时,它是修改自己的代码,还是修改历史(数据库),其中包含了对于给定输入集的代码经验?

回答:

什么是机器学习?

本质上,机器学习是一种教计算机基于某些数据进行预测或改进行为的方法。这里的“数据”是什么?这完全取决于问题本身。可能是机器人在学习走路时传感器的读数,或者是程序对于特定输入的正确输出。

另一种理解机器学习的方式是将其视为“模式识别”——教程序对模式做出反应或识别模式的过程。

机器学习代码做什么?

这取决于你所讨论的类型的机器学习。机器学习是一个庞大的领域,拥有数百种不同的算法来解决各种各样的问题——请参阅维基百科获取更多信息;特别是查看算法类型部分。

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

再次,这取决于具体情况。

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

另一方面,神经网络会根据准备好的刺激和预期的响应自动修改其参数。这使它们能够产生许多行为(理论上,它们可以产生任何行为,因为它们可以以任意精度近似任何函数,只要有足够的时间)。


我应该指出,你使用“数据库”这个术语暗示了机器学习算法通过“记住”信息、事件或经验来工作。这并不一定(甚至经常)是事实。

我已经提到的神经网络,只保留当前的“状态”近似值,并在学习过程中更新它。与其记住发生了什么以及如何反应,神经网络构建了一种“模型”来描述它们的“世界”。这个模型告诉它们如何对某些输入做出反应,即使这些输入是它们从未见过的。

这种最后的能力——对从未见过的输入做出反应的能力——是许多机器学习算法的核心原则之一。想象一下,试图教一台计算机驾驶员在交通中导航高速公路。使用你的“数据库”比喻,你必须准确地教计算机在数百万种可能的情况下该做什么。一个有效的机器学习算法(希望!)能够学习不同状态之间的相似性,并对它们做出相似的反应。

状态之间的相似性可以是任何东西——即使是我们认为“平凡”的事情也可能让计算机感到困惑!例如,假设计算机驾驶员学会了当前面的车辆减速时,它也必须减速。对于人类来说,将车辆替换为摩托车不会改变任何事情——我们认识到摩托车也是一种车辆。对于机器学习算法来说,这实际上可能非常困难!数据库必须分别存储关于前方是汽车和前方是摩托车的情况的信息。另一方面,机器学习算法会从汽车的例子中“学习”,并能够自动推广到摩托车的例子。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注