Programing

기계 학습이란 무엇입니까?

crosscheck 2020. 9. 7. 07:39
반응형

기계 학습이란 무엇입니까? [닫은]


  • 기계 학습 이란 무엇입니까 ?
  • 기계 학습 코드 는 무엇을합니까?
  • 기계가 학습한다고 말할 때, 자체 코드를 수정합니까 아니면 주어진 입력 세트에 대한 코드 경험을 포함 할 히스토리 (데이터베이스)를 수정합니까?

기계 학습이란 무엇입니까?

본질적으로 이것은 일부 데이터를 기반으로 예측이나 행동을 만들고 개선하도록 컴퓨터를 가르치는 방법입니다. 이 "데이터"는 무엇입니까? 음, 그것은 전적으로 문제에 달려 있습니다. 걷는 법을 배우는 로봇의 센서에서 읽거나 특정 입력에 대한 프로그램의 올바른 출력 일 수 있습니다.

기계 학습에 대해 생각하는 또 다른 방법은 "패턴 인식"이라는 것입니다. 이는 프로그램이 패턴에 반응하거나 패턴을 인식하도록 가르치는 행위입니다.

기계 학습 코드는 무엇을합니까?

당신이 말하는 기계 학습 유형 에 따라 다릅니다 . 기계 학습은 무수히 많은 문제를 해결하기위한 수백 가지 알고리즘 이있는 거대한 분야 입니다. 자세한 내용 Wikipedia 를 참조하십시오. 특히 알고리즘 유형 아래를 살펴보십시오 .

기계가 학습한다고 말할 때, 자체 코드를 수정합니까, 아니면 주어진 입력 세트에 대한 코드 경험을 포함 할 히스토리 (데이터베이스)를 수정합니까?

다시 한번, 그것은 의존한다 .

실제로 수정되는 코드의 한 가지 예는 유전자 프로그래밍으로 , 본질적으로 작업을 완료하기 위해 프로그램을 진화시키는 것입니다 (물론 프로그램은 자체적으로 수정되지 않지만 다른 컴퓨터 프로그램을 수정합니다).

반면 신경망 은 준비된 자극과 예상되는 반응에 따라 매개 변수를 자동으로 수정합니다. 이를 통해 많은 동작을 생성 할 수 있습니다 (이론적으로 충분한 시간이 주어지면 임의의 정밀도로 함수를 근사화 할 수 있기 때문에 모든 동작을 생성 할 수 있습니다).


"데이터베이스"라는 용어를 사용한다는 것은 기계 학습 알고리즘이 정보, 이벤트 또는 경험을 "기억"함으로써 작동한다는 것을 의미합니다. 이것은 반드시 (또는 자주!) 경우는 아닙니다.

이미 언급 한 신경망은 근사치의 현재 "상태"만 유지하며 학습이 발생하면 업데이트됩니다. 무슨 일이 일어 났고 어떻게 반응하는지 기억하는 대신 신경망은 "세계"에 대한 일종의 "모델"을 구축합니다. 모델은 입력이 이전에 본 적이 없더라도 특정 입력에 반응하는 방법을 알려줍니다.

이 마지막 능력 (이전에 본 적이없는 입력에 반응하는 능력)은 많은 기계 학습 알고리즘의 핵심 원칙 중 하나입니다. 컴퓨터 운전자에게 교통 체증이있는 고속도로를 탐색하도록 가르치려고한다고 상상해보십시오. "데이터베이스"라는 비유를 사용하면 수백만 개의 가능한 상황 에서 수행 할 작업을 컴퓨터에 정확히 가르쳐야합니다 . 효과적인 기계 학습 알고리즘은 다른 상태 간의 유사성을 학습하고 유사하게 반응 할 수 있습니다.

상태 간의 유사점은 무엇이든 될 수 있습니다. 우리가 "평범한"것으로 생각할 수도있는 것조차도 실제로 컴퓨터를 넘어 뜨릴 수 있습니다! 예를 들어, 컴퓨터 운전자가 앞에있는 차가 속도를 늦추면 속도를 늦춰야한다는 것을 배웠다고 가정 해 보겠습니다. 사람의 경우 자동차를 오토바이로 교체한다고해서 변경되는 것은 없습니다. 오토바이도 자동차라는 사실을 알고 있습니다. 기계 학습 알고리즘의 경우 실제로 이것은 놀랍도록 어려울 수 있습니다! 데이터베이스는 자동차가 앞에있는 경우와 오토바이가 앞에있는 경우에 대한 정보를 별도로 저장해야합니다. 반면에 기계 학습 알고리즘은 자동차 예제에서 "학습"하고 자동으로 모터 사이클 예제로 일반화 할 수 있습니다.


기계 학습은 논리적 / 절차 적 접근이 가능하지 않거나 실행 가능하지 않은 복잡한 작업을 해결할 수 있도록하는 컴퓨터 과학, 확률 이론 및 최적화 이론의 분야입니다.

기계 학습에는 다음과 같은 여러 범주가 있습니다.

  • 지도 학습
  • 강화 학습

지도 학습
지도 학습에서는 입력에서 출력으로 매우 복잡한 기능 (매핑)이 있고 입력 / 출력 쌍의 많은 예가 있지만 그 복잡한 기능이 무엇인지 모릅니다. 지도 학습 알고리즘을 사용하면 입력 / 출력 쌍의 큰 데이터 세트가 주어지면 이전에 보지 못했던 일부 새로운 입력 값의 출력 값을 예측할 수 있습니다. 기본 방법은 데이터 세트를 학습 세트와 테스트 세트로 나누는 것입니다. 훈련 세트에 대해 최소화하려는 관련 오류 함수가있는 모델이 있으며 솔루션이 테스트 세트에서 작동하는지 확인합니다. 모델이 테스트 세트에서 합리적으로 잘 수행 될 때까지 다른 기계 학습 알고리즘 및 / 또는 매개 변수를 사용하여이 작업을 반복하면 새 입력에 결과를 사용할 수 있습니다. 이 경우 프로그램은 변경되지 않고 모델 (데이터) 만 변경됩니다. 이론적으로는 다른 프로그램을 출력 할 수 있지만 내가 아는 한 실제로는 수행되지 않습니다. 지도 학습의 예로는 우체국에서 사용하는 숫자 인식 시스템을들 수 있습니다. 여기서는 0에있는 것으로 손으로 레이블이 지정된 큰 숫자 세트를 사용하여 0 ... 9 세트의 레이블에 픽셀을 매핑합니다. ... 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.


  • 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".


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.


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.


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.


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


  • 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.


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...

참고URL : https://stackoverflow.com/questions/2620343/what-is-machine-learning

반응형