본문 바로가기
Note/Machine learning

기계학습 개요

by sooyeoon 2021. 7. 18.

Deep learning, Youshua Bengio et al. (2016)

똑같은 코드인데 점점 성능이 좋아지는 이유

→ 경험을 학습했기 때문, 사람과 마찬가지로 똑같은 작업을 통해서 학습을 했기 때문

 

Tom Mitchell 의 정의 :

  • E : experience 경험을 통해
  • T : task 특정 과제, 작업의
  • P : performance 퍼포먼스를 개선

기계학습은 어떤 목표로 작업을 진행, 수행 경험을 학습해서 성능이 개선되는 컴퓨터 프로그래밍이다.

기계학습을 할 때 가장 많이 사용되고 표준적으로 표현되는 말로,

어떤 작업과 알고리즘이 있는데 경험에 의해 성능이 향상된다면 기계학습이다.

 

EX 1) 알파고의 인공지능 playing Baduk

E : experience 알파고에게 있어 경험이란? 바둑기사들이 둔 기록

T : 바둑을 이기는 것 (바둑을 두는 것이 아님)

P : 승률

 

EX 2) 자동 필기체인식

E : 데이터를 계속 넣어주며 경험, 학습

T : 필기체를 인식하는 것 - 7로 쓰인것을 7로 인식

P : 인식률 - 7과 9를 제대로 구분

데이터가 많을수록 학습률이 좋아지는 것은 변함없는 사실이며 데이터의 퀄리티가 보장되는 것이다.

오류데이터, outlier, 등 잘못된 데이터를 집어넣는 것이 아니라면 데이터는 많을수록 항상 성능이 좋다.

나중에 딥러닝, 머신러닝등 성능을 높이기 위한 가장 기본적인 방법은 데이터를 더 추가하는 것이다.

인공지능 (큰 개념) > 기계 학습 > 딥러닝 구조


하지만, 이미지와 같은 경우 설명하기가 어려움

하늘 , 색상 의 정의?

→ 이런 한계에 도달했을 때, 기계 학습의 개념이 생겨나게됨

기계학습은 뿌리가 다르다. 데이터를 중심으로

"사람이 경험을 통해 지혜로워지듯, 기계 또한 데이터를 주어서 지혜롭게 만들자"

 

지식기반 방식은 한계가 있음

→ 데이터로부터 학습을 해서 문제를 해결하는 기계학습이 점점 해결책이 되어가고 있음

학습하고 있는 최신 알고리즘이 나타나고 이미지 인식 분야는 (CNN)

이미지를 설명해서 규칙으로 학습시키는 것보다,

→ 차라리 비슷한 이미지의 데이터를 입력해서 학습시키는 것이 훨씬 인식력이 좋은 모델을 만들 수 있음을 알게 됨

 

  1. 이미지 데이터
  2. 알고리즘의 성능이 향상됨
  3. 점차 데이터들이 많아지고 쌓이면서 이전에 해결하지 못했던 문제들을 해결할 수 있게 되었음

⇒ 인공지능의 주도권이 지식기반에서 기계학습으로 전환되었음!

 

기계학습으로 할 수 있는 것

분류, 비지도학습으로 그룹, 생성, 차원축소등..

실무에서 가장 많이 필요로 하고 인공지능으로 적용되고 있는 분야는 "예측"

주식거래 예측, 환자 예측, 가능성 예측 

  • 기계가 학습을 하기 위해서는 데이터가 있어야함
  • 데이터로부터 학습을 해서 어떤 패턴이 있는지를 찾아냄
  • 학습된 데이터를 가지고 직선의 방정식을 찾아냄
  • 수식을 가지고 다음 수를 예측할 수 있게됨
  • 기계는 어떻게 수식을 찾아내는가?

→ Training Data : 학습을 할 데이터

기계는 랜덤으로 선택된 값과 실제 값을 비교하여 차이를 계산한다.

= 목적함수 ⭐생성 

 

기계가 랜덤으로 값을 바꿔서 훈련하는데, 그 값을 바꾸는 전략이 필요하고 어느방향으로 값을 변경하는 것이 좋을까? 

딥러닝이든 모든 기계함수는 목적함수라는 것을 갖고 있는데, 목적함수의 값이 작아지도록 값을 변경해주어야 함

 

"미분" : 작은 변화가 있을 때의 변화량

미분을 해서 목적함수가 작아지는 방향을 찾은 다음, 그 방향으로 값을 변형함

 

이 것을 언제까지 지속하는가 ?

→ 목적함수의 값이 0이 되었을 때.

 

목적함수의 값이 최소가 될 수 있도록 최대한 잘 맞출 수 있는 직선을 찾는다. 

기계학습은 가장 잘 예측할 수 있는 최적의 매개변수를 찾는 작업이다. (최적의 직선 방정식을 찾는 것임)

기계 학습의 궁극적인 목표

중요 : 트레이닝 데이터를 통해 모델을 생성하고 트레이닝 데이터에 사용되지 않은 테스트 데이터 집합에 대해서 높은 성능을 보여야한다.

트레이닝 데이터와 테스트 데이터

  • training data : 학습용
  • test data : 시험용

트레이닝 데이터의 성능보다는 테스트 데이터의 성능이 더 좋아야하며 중요.

일반화 : 어떠한 데이터가 들어가도 잘 예측할 수 있어야 함

다양한 데이터를 적용해보아야함

학습한 데이터만 잘 맞추면 중요하지 않음

overfitting : 과적합 = 트레이닝 데이터만 잘 맞추는 것 

 

 

특징 공간에 대한 이해

EX ) 위암환자의 데이터

환자들의 특성 : 나이 성별 흡연 음주습관 기저질환 당뇨 고혈압 등 → 변수 → 기계학습에서는 특징: feature 라고 한다 (같은 말이지만 다른 용어로 사용함)

x 축 -  feature

값이 두개인 경우 : (몸무게와 키)→  feature 로 값을 예측함

예측해야 하는 값 y → 목적 함수

feature가 많을 수록 무조건 좋은 것은 아님.

내가 예측을 하는데 전혀 상관이 없는  feature가 있다면 예측하는 데 방해가 될 수 있음

선별해서 의미있는  feature를 찾아내는 것이 좋음

가지고 있는  feature가 3개 → 3차원 공간

  • 비정형데이터

MNIST (이미지) data set ⇒ 16*16 = 화소 수 784차원

Farm ads (광고에 쓰인 단어의 개수) = 54877차원

텍스트 데이터의 경우 단어 하나하나가 다 feature가 됨

feature가 많아지면 의미있는 feature를 선별하기가 어려워짐 → 딥러닝을 이용

다른 알고리즘과의 특징이 딥러닝은 너무  feature가 많아서 선별이 안될때

스스로 학습해서 불필요한  feature는 값을 0으로 줄이고 필요한 것은 값을 올려주는 역할 을 함 매개변수를 스스로 학습함

도메인 전문가가 하던 일을 딥러닝에게 맡기면 데이터를 읽어서 예측하는데 필요한 변수를 스스로 선별함

딥러닝을 흔히 블랙박스 모델이라고 한다

  • 장점 : 도메인 지식을 잘 몰라도 기계가 예측하는데 필요한 모델을 뽑아낸다
  • 단점 : 결과가 나왔고 예측도 잘 나오지만, 설명이 어려움 왜 이러한 결과 가 나왔는지 알 수 가 없음 '
  • 요즘 최신 기술인 예측 모델을 설명 가능을 추가된 기술이 들어가고 있음

→ 위암 가능성을 설명해주는 인공지능 기술

기계는 데이터의  feature를 학습하면서 잘 예측할 수 있도록 공간 변환을 한다

직선식을 변환 : 딥러닝의 경우 히든레이어가 그 역할 을 한다.

  • 우리가 해야할 것
  1. 기계학습의 개념을 이해 : 기계학습이 일반 컴퓨터 프로그램과 무엇이 다른가 ?
  2. feature : 원래 변수가 의미하는 것에 대한 이해

'Note > Machine learning' 카테고리의 다른 글

의사 결정 트리  (0) 2021.08.08
데이터 변환  (0) 2021.08.08
데이터 정제  (0) 2021.08.01
모델 선택  (0) 2021.08.01
기계학습 개요(2)  (2) 2021.07.18