什么是机器学习?

发布于 2024-08-28 07:51:42 字数 1459 浏览 6 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

小伙你站住 2024-09-04 07:51:42

什么是机器学习?

本质上,它是一种教导计算机根据某些数据做出和改进预测或行为的方法。这个“数据”是什么?嗯,这完全取决于问题。它可能是机器人学习行走时传感器的读数,也可能是程序针对某些输入的正确输出。

思考机器学习的另一种方式是,它是“模式识别”——教授程序对模式做出反应或识别模式的行为。

机器学习代码的作用是什么?

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

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

再说一次,这取决于

实际修改代码的一个示例是遗传编程,您本质上是开发一个程序来完成一项任务(当然,该程序不会修改自身 - 但它会修改另一个计算机程序)。

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


我应该指出,您对“数据库”一词的使用意味着机器学习算法通过“记住”信息、事件或经验来工作。这不一定(甚至经常!)。

我已经提到过,神经网络仅保留近似值的当前“状态”,该状态会随着学习的发生而更新。神经网络不是记住发生了什么以及如何应对,而是建立了一种“世界”的“模型”。该模型告诉他们如何对某些输入做出反应,即使这些输入是它以前从未见过的。

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

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

What is a machine learning ?

Essentially, it is a method of teaching computers to make and improve predictions or behaviors based on some data. What is this "data"? Well, that depends entirely on the problem. It could be readings from a robot's sensors as it learns to walk, or the correct output of a program for certain input.

Another way to think about machine learning is that it is "pattern recognition" - the act of teaching a program to react to or recognize patterns.

What does machine learning code do ?

Depends on the type of machine learning you're talking about. Machine learning is a huge field, with hundreds of different algorithms for solving myriad different problems - see Wikipedia for more information; specifically, look under Algorithm Types.

When we say machine learns, does it modify the code of itself or it modifies history (Data Base) which will contain the experience of code for given set of inputs ?

Once again, it depends.

One example of code actually being modified is Genetic Programming, where you essentially evolve a program to complete a task (of course, the program doesn't modify itself - but it does modify another computer program).

Neural networks, on the other hand, modify their parameters automatically in response to prepared stimuli and expected response. This allows them to produce many behaviors (theoretically, they can produce any behavior because they can approximate any function to an arbitrary precision, given enough time).


I should note that your use of the term "database" implies that machine learning algorithms work by "remembering" information, events, or experiences. This is not necessarily (or even often!) the case.

Neural networks, which I already mentioned, only keep the current "state" of the approximation, which is updated as learning occurs. Rather than remembering what happened and how to react to it, neural networks build a sort of "model" of their "world." The model tells them how to react to certain inputs, even if the inputs are something that it has never seen before.

This last ability - the ability to react to inputs that have never been seen before - is one of the core tenets of many machine learning algorithms. Imagine trying to teach a computer driver to navigate highways in traffic. Using your "database" metaphor, you would have to teach the computer exactly what to do in millions of possible situations. An effective machine learning algorithm would (hopefully!) be able to learn similarities between different states and react to them similarly.

The similarities between states can be anything - even things we might think of as "mundane" can really trip up a computer! For example, let's say that the computer driver learned that when a car in front of it slowed down, it had to slow down to. For a human, replacing the car with a motorcycle doesn't change anything - we recognize that the motorcycle is also a vehicle. For a machine learning algorithm, this can actually be surprisingly difficult! A database would have to store information separately about the case where a car is in front and where a motorcycle is in front. A machine learning algorithm, on the other hand, would "learn" from the car example and be able to generalize to the motorcycle example automatically.

若相惜即相离 2024-09-04 07:51:42

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

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

  • 监督学习
  • 强化学习

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

强化学习
在强化学习中,程序负责做出决策,并定期因其行为而获得某种奖励/效用。然而,与监督学习的情况不同,结果不是立竿见影的;该算法可以规定大量的操作序列,并且只在最后接收反馈。在强化学习中,目标是建立一个良好的模型,以便算法能够生成导致最高长期效用/回报的决策序列。强化学习的一个很好的例子是,每当机器人的碰撞传感器检测到它撞到了物体时,就会给予负惩罚,从而教机器人如何导航。如果编码正确,机器人最终可以将其测距传感器数据与其保险杠传感器数据以及发送到车轮的方向相关联,并最终选择一种不会碰撞到物体的导航形式。

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

Machine learning is a field of computer science, probability theory, and optimization theory which allows complex tasks to be solved for which a logical/procedural approach would not be possible or feasible.

There are several different categories of machine learning, including (but not limited to):

  • Supervised learning
  • Reinforcement learning

Supervised Learning
In supervised learning, you have some really complex function (mapping) from inputs to outputs, you have lots of examples of input/output pairs, but you don't know what that complicated function is. A supervised learning algorithm makes it possible, given a large data set of input/output pairs, to predict the output value for some new input value that you may not have seen before. The basic method is that you break the data set down into a training set and a test set. You have some model with an associated error function which you try to minimize over the training set, and then you make sure that your solution works on the test set. Once you have repeated this with different machine learning algorithms and/or parameters until the model performs reasonably well on the test set, then you can attempt to use the result on new inputs. Note that in this case, the program does not change, only the model (data) is changed. Although one could, theoretically, output a different program, but that is not done in practice, as far as I am aware. An example of supervised learning would be the digit recognition system used by the post office, where it maps the pixels to labels in the set 0...9, using a large set of pictures of digits that were labeled by hand as being in 0...9.

Reinforcement Learning
In reinforcement learning, the program is responsible for making decisions, and it periodically receives some sort of award/utility for its actions. However, unlike in the supervised learning case, the results are not immediate; the algorithm could prescribe a large sequence of actions and only receive feedback at the very end. In reinforcement learning, the goal is to build up a good model such that the algorithm will generate the sequence of decisions that lead to the highest long term utility/reward. A good example of reinforcement learning is teaching a robot how to navigate by giving a negative penalty whenever its bump sensor detects that it has bumped into an object. If coded correctly, it is possible for the robot to eventually correlate its range finder sensor data with its bumper sensor data and the directions that sends to the wheels, and ultimately choose a form of navigation that results in it not bumping into objects.

More Info
If you are interested in learning more, I strongly recommend that you read Pattern Recognition and Machine Learning by Christopher M. Bishop or take a machine learning course. You may also be interested in reading, for free, the lecture notes from CIS 520: Machine Learning at Penn.

作业与我同在 2024-09-04 07:51:42
  • 机器学习是一门科学学科,涉及算法的设计和开发,使计算机能够根据经验数据(例如来自传感器数据或数据库的数据)进化行为。阅读维基百科

    了解更多

  • 机器学习代码记录“事实”或某种存储中的近似值,并使用算法计算不同的概率。机器

  • 当机器学习时,代码本身不会被修改,只会修改“它知道”的数据库。

  • Machine learning is a scientific discipline that is concerned with the design and development of algorithms that allow computers to evolve behaviors based on empirical data, such as from sensor data or databases. Read more on Wikipedia

  • Machine learning code records "facts" or approximations in some sort of storage, and with the algorithms calculates different probabilities.

  • The code itself will not be modified when a machine learns, only the database of what "it knows".

凯凯我们等你回来 2024-09-04 07:51:42

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

Machine learning is a methodology to create a model based on sample data and use the model to make a prediction or strategy. It belongs to artificial intelligence.

夜还是长夜 2024-09-04 07:51:42

机器学习只是一个通用术语,用于定义各种学习算法,这些算法从示例(未标记/标记)中产生准学习。实际的准确性/错误完全取决于您提供给学习算法的训练/测试数据的质量。这可以使用收敛速度来测量。您提供示例的原因是因为您希望您选择的学习算法能够通过指导提供信息并进行泛化。这些算法可以分为两个主要领域:监督学习(分类)和无监督学习(聚类)技术。对于计划如何分离训练和测试数据集以及为学习算法提供的质量做出明智的决定非常重要。当您提供数据集时,您还需要注意示例中的过度拟合和保持健康偏见等问题。然后,该算法基本上根据您提供给它的用于训练和测试的数据实现的泛化来学习写入到写入,在过程中您尝试让您的学习算法根据您的目标训练生成新的示例。在聚类中,几乎没有信息指导,该算法基本上尝试通过数据之间的模式测量来生成相关的聚类集,例如 kmeans/最近邻。

一些好书:
机器学习简介(Nilsson/斯坦福),
ML 的高斯过程,
ML(Alpaydin)简介,
信息论推理和学习算法(非常有用的书),
机器学习(米切尔),
模式识别和机器学习(爱丁堡和各个大学的标准机器学习课程书籍,但数学阅读量相对较大),
使用 Weka 进行数据挖掘和实用机器学习(使用 weka 进行理论研究并在 Java 中进行实践)

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

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

Machine learning is simply a generic term to define a variety of learning algorithms that produce a quasi learning from examples (unlabeled/labeled). The actual accuracy/error is entirely determined by the quality of training/test data you provide to your learning algorithm. This can be measured using a convergence rate. The reason you provide examples is because you want the learning algorithm of your choice to be able to informatively by guidance make generalization. The algorithms can be classed into two main areas supervised learning(classification) and unsupervised learning(clustering) techniques. It is extremely important that you make an informed decision on how you plan on separating your training and test data sets as well as the quality that you provide to your learning algorithm. When you providing data sets you want to also be aware of things like over fitting and maintaining a sense of healthy bias in your examples. The algorithm then basically learns wrote to wrote on the basis of generalization it achieves from the data you have provided to it both for training and then for testing in process you try to get your learning algorithm to produce new examples on basis of your targeted training. In clustering there is very little informative guidance the algorithm basically tries to produce through measures of patterns between data to build related sets of clusters e.g kmeans/knearest neighbor.

some good books:
Introduction to ML (Nilsson/Stanford),
Gaussian Process for ML,
Introduction to ML (Alpaydin),
Information Theory Inference and Learning Algorithms (very useful book),
Machine Learning (Mitchell),
Pattern Recognition and Machine Learning (standard ML course book at Edinburgh and various Unis but relatively a heavy reading with math),
Data Mining and Practical Machine Learning with Weka (work through the theory using weka and practice in Java)

Reinforcement Learning there is a free book online you can read:
http://www.cs.ualberta.ca/~sutton/book/ebook/the-book.html

IR, IE, Recommenders, and Text/Data/Web Mining in general use alot of Machine Learning principles. You can even apply Metaheuristic/Global Optimization Techniques here to further automate your learning processes. e.g apply an evolutionary technique like GA (genetic algorithm) to optimize your neural network based approach (which may use some learning algorithm). You can approach it purely in form of a probablistic machine learning approach for example bayesian learning. Most of these algorithms all have a very heavy use of statistics. Concepts of convergence and generalization are important to many of these learning algorithms.

屌丝范 2024-09-04 07:51:42

机器学习是计算科学中的一门研究,它通过从类似信息的训练中学习模式来创建能够对以前从未见过的信息进行分类的算法。从这个意义上讲,“学习者”有各种各样的类型。神经网络、贝叶斯网络、决策树、k 聚类算法、隐马尔可夫模型和支持向量机都是示例。

根据学习者的不同,他们各自以不同的方式学习。一些学习器产生人类可理解的框架(例如决策树),而另一些则通常难以理解(例如神经网络)。

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

Machine learning is the study in computing science of making algorithms that are able to classify information they haven't seen before, by learning patterns from training on similar information. There are all sorts of kinds of "learners" in this sense. Neural networks, Bayesian networks, decision trees, k-clustering algorithms, hidden markov models and support vector machines are examples.

Based on the learner, they each learn in different ways. Some learners produce human-understandable frameworks (e.g. decision trees), and some are generally inscrutable (e.g. neural networks).

Learners are all essentially data-driven, meaning they save their state as data to be reused later. They aren't self-modifying as such, at least in general.

我不会写诗 2024-09-04 07:51:42

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

如果计算机程序在 T 中的任务中的性能(由 P 测量)随着经验 E 的提高而提高,则可以说计算机程序可以从关于某类任务 T 和性能测量 P 的经验 E 中学习

I think one of the coolest definitions of machine learning that I've read is from this book by Tom Mitchell. Easy to remember and intuitive.

A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E

停顿的约定 2024-09-04 07:51:42
  • 无耻地摘自维基百科:机器学习是一门科学学科,涉及算法的设计和开发,这些算法允许计算机根据经验数据(例如来自传感器数据或数据库的数据)进化行为。

  • 很简单,机器学习代码完成机器学习任务。这可以是从解释传感器数据到遗传算法等多种内容。

  • 我想说这要看情况。不,修改代码并不正常,但也不是不可能的。我也不会说机器学习总是会改变历史。有时我们没有历史可以借鉴。有时我们只是想对环境做出反应,但实际上并不想从过去的经验中学习。

基本上,机器学习是一门非常开放的学科,包含许多方法和算法,使得第三个问题不可能有一个答案。

  • Shamelessly ripped from Wikipedia: Machine learning is a scientific discipline that is concerned with the design and development of algorithms that allow computers to evolve behaviors based on empirical data, such as from sensor data or databases.

  • Quite simply, machine learning code accomplishes a machine learning task. That can be a number of things from interpreting sensor data to a genetic algorithm.

  • I would say it depends. No, modifying code is not normal, but is not outside the realm of possibility. I would also not say that machine learning always modifies a history. Sometimes we have no history to build off of. Sometime we simply want to react to the environment, but not actually learn from our past experiences.

Basically, machine learning is a very wide-open discipline that contains many methods and algorithms that make it impossible for there to be 1 answer to your 3rd question.

心安伴我暖 2024-09-04 07:51:42

机器学习是一个取自人的现实世界的术语,应用于实际上无法学习的事物——机器。

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

“教导”机器的方法有很多种——你给算法的许多参数赋予权重,然后让机器解决许多情况,每次你给她一个关于答案的反馈,机器就会根据情况调整权重机器答案与您的答案有多接近,或者根据您给出的答案的分数,或者根据某些结果测试算法。

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

Machine learning is a term that is taken from the real world of a person, and applied on something that can't actually learn - a machine.

To add to the other answers - machine learning will not (usually) change the code, but it might change it's execution path and decision based on previous data or new gathered data and hence the "learning" effect.

there are many ways to "teach" a machine - you give weights to many parameter of an algorithm, and then have the machine solve it for many cases, each time you give her a feedback about the answer and the machine adjusts the weights according to how close the machine answer was to your answer or according to the score you gave it's answer, or according to some results test algorithm.

This is one way of learning and there are many more...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文