기계학습

기계학습이란?

윤돌_99 2021. 3. 14. 15:20

기계학습의 정의

- 고전적 정의

컴퓨터가 경험을 통해 학습할 수 있도록 프로그래밍할 수 있다면, 세세하게 프로그래밍해야 하는 번거로움에서 벗어날 수 있을 것이다. (Samual 1959)

 

- 현대적 정의 

사례 데이터, 즉 과거 경험을 이용하여 성능 기준을 최적화하도록 프로그래밍하는 작업(Alpaydin 2010)

 

기계학습의 역사

 

● 인공지능의 탄생

- 컴퓨터의 뛰어난 능력 : 많은 연산량을 필요로 하는 계산식을 고속으로 수행

- 컴퓨터에 대한 기대감 : 컴퓨터의 능력을 과신하며 19050년대 인공지능이라는 분야 등장

 

초창기에는 지식기반 or 규칙기반 방식이 주류

-정형화된 규칙을 통해 프로그래밍 진행

ex) 동그라미가 2개이고 가운데가 홀쭉하다면 그것은 숫자 8이다.

 

이러한 방식은 많은 오류가 발생하였다. (지식 기반의 한계)

ex) 단추설명의 한계 : 단추를 "가운데 구멍이 몇개 있는 물체"라고 규정하면 많은 오류 발생

사람은 변화가 심한 장면을 쉽게 인식하지만, 기계가 왜 그렇게 인식하는지 서술하지 못함.

 

지식기반 -> 기계학습

기계학습 : 데이터 기반 접근방식

ex) 기계에게 8을 알려주기 위해서는 많은 8의 손글씨 데이터들을 통해 기계에게 학습시킨다.

 

기계학습 개념

 

ex) 기계학습 예제

- 가로축은 시간, 세로축은 이동체의 위치

- 관측한 4개의 점이 데이터 

 

 

임의의 시간이 주어지면 이때 이동체의 위치는?

회귀(regression) 문제와  분류(classification)문제로 나누어 진다.

 - 회귀(regression) : 주어진 데이터들을 통해 해당 조건의 예상치를 실수로 나타낸다.

 - 분류(classification) : 주어진 데이터들을 데이터들의 특성에따라집합으로분류

다음의 문제는 회귀문제이다.

 

훈련집합(학습시킬 데이터들의 집합)

- 가로축은 특징, 세로축은 목표치

- 관측한 4개의 점이 훈련집합

 

데이터를 어떻게 모델링할 것인가?

- 데이터들이 눈대중으로 직선을 이루므로 직선을 선택 -> 모델로 직선을 선택

- 직선 모델의 수식

   2개의 매개변수 w와 b : y = wx + b ( 최적의 w와 b을 찾는 것이 기계학습의 목표)

  

결과 :

 

기계학습은 가장 정확하게 예측할 수 있는, 즉 최적의 맥변수를 찾는 작업

처음에는 임의의 값으로 시작하고 기계학습을 진행할수록 최적의 값에 가까워짐

 

기계학습의 목표

훈련집합을 통해 학습시킨 알고리즘에 테스트데이터를 통해 성능을 테스트한다. 

기계가 정말로 학습시킨 데이터를 통해 예상치를 내놓을 수 있는지 확인하는 것이다. 

훈련집합에 없는 새로운 샘플에 대한 오류를 최소화하는 것이 목표 ( 새로운 집합 : 테스트 집합 )

테스트 집합에 대한 높은 성능을 일반화능력이라 부름

(훈련데이터 + 테스트 데이터) - > 데이터베이스라고 부른다.