머신러닝이란
인공지능 연구 과제 중의 하나로, 인간의 뇌가 자연스럽게 수행하는 "학습"이라는 능력을 컴퓨터로 구현하는 방법.
간단히 설명하면 수많은 데이터를 학습하여 거기에 있는 패턴을 찾아내는 것
최근에는 머신러닝을 활용해 문자 인식, 음성 인식, 바둑 등등 개발이 이뤄지고 있다.
머신러닝에서의 벡터(Vector)
아래의 사진을 보면 Circle 과 Rectangle이 모여있는 것을 확인할 수 있는데 공간에서 벡터는 크기와 방향을 가진 것을 의미한다.
이처럼 어떤 요소가 모여있는 것을 "특징량" 이라고 한다. 머신러닝은 계산을 통해 구분선을 찾아내는 것이다. 구분선을 찾을 때는 점과 점 사이의 거리를 구하고, 거리가 가까우면 비슷한 데이터라고 판정한다.
머신러닝에서의 특징 추출
머신러닝을 하려면 데이터가 어떤 특징을 가지고 있는지 찾고 벡터로 만들어야 한다. 이같은 변환 처리를 "특징 추출" 이라고 한다.
예를들면 문자를 학습기에 학습시킨다고 한다면, 해당 텍스트에서 어떤 특징을 사용할 것인지 찾고 벡터로 변환해야 한다. 글자의 출현 빈도, 단어의 출현 빈도 등을 구해 입력해야 한다. 머신러닝 프레임워크에는 내가 원하는 특징을 추출해주는 기능은 없다. 어떤 특징을 추출할지는 프로그래머가 결정해야한다.
머신러닝에서의 회귀 분석(regression analysis)
Y가 연속된 값일 때 Y = f(x) 와 같은 모델로 나타내는 것이다.
회귀에서 사용되는 기본적인 모델은 Y = aX + b 인데, 이것을 "선형 회귀" 라고 부른다. Y를 연속 측정의 종속(목표) 변수, X를 독립 변수(설명)라고 부른다.
X가 1차원이면 "단순 회귀" , 2차원 이상이면 "다중 회귀"라고 부른다.
머신러닝의 종류
머신러닝에는 여러가지 종류가 있는데 크게 "교사 학습" , "비교사 학습" , "강화 학습"으로 나눌 수 있다.
1. 교사학습(Supervised learning)
선생님(교사)이 옆에서 문제를 주고, 답을 알려주는 것과 같은 학습 방법이다. 즉 데이터와 함께 답을 입력하고 다른 데이터의 답을 예측한다.
교사학습은 데이터를 입력할 때 레이블(답)을 함께 입력한다. 글자인식이 대표적인 예
2. 비교사학습(Unsupervised learning)
비교사 학습은 최종적으로 내야하는 답이 정해져 있지 않다. 일반적으로 사람도 제대로 알 수 없는 본질적인 구조 등을 확인할 때 사용한다.
클러스터 분석, 주성분 분석, 벡터 양자화, 자기 조직화 등이 비교사 학습의 예이다.
3. 강화 학습(Reinforcement learning)
현재 상태를 관찰해서 어떻게 대응해야 할지와 관련된 문제를 다룬다. 강화학습은 교사학습과 비슷하지만 교사가 완전한 답을 제공하지 않는다.
즉 부분적으로 답을 입력하고, 데이터를 기반으로 최적의 답을 찾아낸다. 강화학습의 대표적인 예가 알파고이다.
'기타 > 기타 잡다한 것들' 카테고리의 다른 글
[머신러닝] Pandas 와 metrics 를 이용해서 XOR 연산을 더 간단히 (0) | 2018.09.30 |
---|---|
[머신러닝] 프레임워크 scikit-learn을 사용하여 XOR 연산 해보기 (0) | 2018.09.29 |
[신경망] 파이썬으로 인공 신경망 만들기5 (0) | 2018.09.28 |
[신경망] 파이썬으로 인공 신경망 만들기 4 (0) | 2018.09.28 |
[신경망] 파이썬으로 인공 신경망 만들기 3 (0) | 2018.09.28 |