반응형

 

 

Lecture 14 - Expectation-Maximization Algorithms | Stanford CS229: Machine Learning (Autumn 2018)

 

 

주요내용

  • Unsupervised Learning(비지도 학습)
    • K-means Clustering
    • Mixture of Gaussian: Gaussian Mixture Model (GMM)
    • EM (Expectation-Maximization)
    • Derivation of EM

 

비지도 학습은 이전까지 배웠던 지도학습과 다른 학습 방법입니다. 예를 들면 지도학습은 긍정 데이터와 부정 데이터들이 주어지고 이들을 잘 분류하는 선형 회귀 모델 같은 것을 만들어서 잘 분류하는 회귀선을 만드는 것이었습니다. 그러나 비지도 학습은 레이블이 없는 데이터들이 주어지고, 지도학습에서는 (x, y)가 주어졌지만 비지도 학습에서는 x 만 제공됩니다. 이런 데이터 셋은 {x(1), x(2), ....x(m)} 으로 주어진 x 데이터 m개를 표현할 수 있습니다. 

 

K-means Clustering

첫번째로 이야기할 비지도 학습은 클러스터링 입니다.  x 데이터가 주어지면 두개 또는 그 이상의 그룹으로 묶는 알고리즘 입니다. 가장 많이 사용되는 클러스터링은 시장 구분(Market Segmentation)입니다. 예를 들면 사용자들을 클러스터링하여 어떤 다른 시장으로 그룹핑할 수 있는지 알 수 있습니다. 고객의 나이, 성별, 교육, 지역 등을 가지고 클러스터링 하여 다른 그룹으로 만들 수 있습니다. 

위와 같은 데이터 셋이 제공되면 2개의 그룹으로 클러스터링 하기를 원할 것입니다. k-means의 경우 임의로 클러스터 갯수에 해당하는 위치를 선정하고 

 

데이터 별로 두개의 중심점 중에서 어느 중심점에 더 가까운지를 기준으로 클러스터(색)를 정합니다.

 

두 번째로는 파란색 점들의 평균을 구해서 새로운 중심점으로 정합니다.  

 

그리고는 새로 정해진 중심점을 기준으로 모든 점들에 대해서 다시 어느 중심점이 더 가까운지 비교하여 새로운 클러스터를 할당합니다.

 

그리고 다시 새롭게 할당된 클러스터의 중심점을 구합니다.

 

 이런 클러스터를 할당하고 새로운 중심점을 구하는 동작을 반복하다 보면 특정 지역에 중심점이 수렴하게 됩니다.

 

이런 알고리즘을 k-means 알고리즘이라고 합니다.

레이블 되지 않은 Data x 가 주어졌을 때 알고리즘은 아래와 같습니다. 1. 먼저 중심점을 초기화 합니다. k 갯수 만큼의 중심점의 초기 값을 정하는 것인데 보통 random 값으로 잡지 않고 실제 Data x 값들 중에서 k 개를 임으로 선택합니다. 

 

 

비용함수를 공식으로 적어보면 아래와 같습니다. c는 각 점들을 의미하고, u 뮤는 중심점을 의미 합니다. 각 x 값과 중심점과의 차이를 모두 더한 값으로 반복할 수록 작은 값으로 수렴하게 됩니다. 아주 많은 데이터를 가지고 이 알고리즘을 돌리다보면 아래의 그래프 처럼 수렴하기 전에라도 어느 정도 중심점이 변하지 않으면 종료하기도 합니다.

 

k-means 클러스터링과 관련해서 가장 많이 받는 질문은 어떻게 k 값을 정하는가? 입니다.  메트릭이 있기는 하지만 잘 쓰지는 않습니다. 보는 사람마다 다르게 판단할 수 있기 때문에 모호합니다.

2가 맞을 까요 4가 맞을까요?

오히려 목적에 맞게 k를 정하는 것을 권합니다. 예를 들어 마케팅을 위해 마켓 세그멘테이션이 필요하고 이를 위해 클러스터링을 한다고 했을때, 그룹핑을 4개로 할 수도 있고 100개로 도 할 수 있지만 업무적으로 프로모션을 위한 그룹 설계가 4개로 준비되어 있을 경우 4개로 그룹핑하여 제공해야 실무에서 마케팅에 사용할 수 있습니다.

k-means 알고리즘은 로컬 미니멈에 빠질 수 있습니다. 이 말은 초기 중심점 값을 어떻게 정하냐에 따라서 알고리즘을 실행할 때마다 다르게 그룹핑 될 수 있다는 의미입니다. 이런 로컬 미니멈에 빠지는 것을 방지하는 방법중 하나는 여러번 알고리즘을 실행 시키고 나서 비용함수의 값이 제일 작은 결과로 정해진 클러스터 결정을 선택하는 것입니다.

 

 

Density estimation

비행기 엔진을 만드는 공장에서 만들어진 엔진의 불량을 탐지하는 모델을 만든다고 생각해 보시죠. 시험 테스트 중에 나온 데이터인 진동 Vibration과 발열 Heat을 가지고 그래프를 만들었을 때 아래와 같이 그려진다고 하겠습니다. 이 때 녹색 점과 같은 데이터를 만들어낸 비행기 엔진의 경우 이상 탐지(Anomaly Detection)으로 탐지 할 수 있습니다.

 

그러나 아래와 같이 분포가 간단하지 않은 경우 그룹핑을 하기 매우 어렵습니다. 이럴때 아래쪽에 있는 두개의 타원형 형태의 가우시안 분포와 이 타원형의 왼쪽에 연결된 또 다른 두개의 타원형 형태의 가우시안 분포, 즉 2개의 가우시안 분포로 전체 분포를 설명할 수 있습니다.

 

1차원 가우시안 분포를 예를 들어 보겠습니다. 아래와 같이 X 데이터가 주어졌을 때 이것은 2개의 가우시안 분포에서 왔을 수 있습니다. 그리고 이번 예시의 경우 두 개의 분포를 연결하면 중앙 부분은 확률이 낮아지는 부분으로 구성된 하나의 분포 곡선을 그릴 수 있습니다. (아래쪽 쌍봉 곡선)

 

Mixture of Gaussians Model: Gaussian Mixture Model (GMM)

이러한 방법으로 여러개의 다변량 분포가 혼합되어 있는 경우 어느 분포에서 추출될 가능성이 높은지를 알 수 있습니다.

latent 는 hidden 또는 unobserved의 의미 입니다. z는 랜덤 변수값이고 다중 분포일때 z ㅌ {1, ... k} , x(i), z(i)는 결합 분포를 가지고 있습니다. 이 것은 P(x(i), z(i)) = P(x(i) | z(i)) P(z(i)) 로 계산됩니다. 

일반적으로 GDA Gaussian Distribution Analysis 는 2개의 분포, 즉 베르누이 분포를 말하지만 여기에서는 k개의 분포를 가지는 다형성의 파이를 갖습니다. 이 것이 첫번째로 GDA와 다른 것이고 두번째는 j분포 갯수의 차이 입니다. z(i)가 j번째 가우시안 분포에서 나왔을때 x(i)가 나올 확률은 평균이 uj 이고 분산이 시그마j 인 정규분포에서 나올 확률과 같습니다.  GDA와 가장 큰 차이점은 GDA는 데이터 y(i)가 관측된 값으로 주어진다는 것입니다. 

 

 

만약 우리가 z(i)의 값들을 알고 있다면 MLE를 사용할 수 있습니다. 그때 가능도는 아래와 같이 구할 수 있습니다.

 

 

EM (Expectation-Maximization)

EM은 관측되지 않는 잠재변수에 의존하는 확률 모델에서 최대가능도(maximum likelihood)나 최대사후확률(maximum a posteriori, 약자 MAP)을 갖는 모수의 추정값을 찾는 반복적인 알고리즘을 말합니다. (위키피디아)

첫번째 E-step은 아래와 같습니다. 우리는 실제 z(i) 값을 모르기 때문에 주어진 값들을 이용해서 기대값을 찾는 단계입니다. 여기서 z(i)란 x(i)가 뽑힐 수 있는 특정 정규분포 j를 말합니다.

 

두번째 단계는 M-step 입니다. 앞에서 찾은 기대값을 최대로하는 모수 값을 찾습니다.

이러한 단계를 거처 기대값을 최대로 하는, 여러개의 분포가 합쳐지는 하나의 분포 곡선을 만들 수 있습니다. 이러한 곡선은 아래처럼 다양합니다.  이로써 찾은 함수를 통해 입력값 x를  실행했을때 결과 확률값이 특정 기준(입실론) 보다 크거나 같으면 정상적인 데이터이고 확률값이 작으면 이상탐지(Anomaly)로 판단할 수 있습니다.

 

 

 

 

 

Derivation of EM

이후 아래는 EM의 공식을 유도하는 내용입니다.

Jensen's inequality

함수 f를 아래로 볼록한 함수(Convex function)이라고 하고 x를 임의의 값이라고 할때, 공식 f(EX) <= E[f(x)] 를 만족합니다.

 

 

 

 

우리는 젠슨의 불균형 공식을 위로 볼록한 Concave 함수로 사용합니다. Concave 함수는 Convex 함수와 위/아래가 바뀐 함수이지요. 그럴 경우 위에서 설명한 모든 부등식을 반대로 바꾸면 됩니다.

임의의 녹색 theta세타 값을 먼저 설정합니다. 이 값에 해당하는 함수곡선(녹색)을 만들고 이 함수와 목표 함수(검정색)가 만나는 점을 찾고 이 녹색 함수의 꼭지점을 찾습니다. 그리고 이 꼭지점으로 이동합니다. 이 꼭지점에 해당하는 theta값으로 변경 후 다시 함수를 찾습니다. 이러한 내용을 반복하면 검정색의 목표 함수의 지역 최대값(꼭지점)에 점점 가깝게 됩니다. 그러나 아래 그림의 오른쪽 처럼 목표함수가 여러개의 지역 최대값을 가지고 있는 경우 전체 최대값을 찾지 못할 수도 있습니다.

 

아래는 이러한 E, M 단계를 공식으로 풀이 증명하는 내용입니다.

 

위 공식의 변형에 필요한 기본 전제 공식은 아래와 같습니다.

 

 

 

 

 

 

아래는 강의 동영상 링크 입니다.

https://www.youtube.com/watch?v=rVfZHWTwXSA&list=PLoROMvodv4rMiGQp3WXShtMGgzqpfVfbU&index=14 

 

 

반응형
반응형

Naive Bayers Classification 나이브 베이지안 분류에는 크게 3가지로 가우시안, 다항분포, 베르누이(이항분포)가 있다.
이중에서 분류의 목적과 데이터 유형에 따라서 사용할 방법을 선택할 수 있다.
이번에는 다항분포 나이브 베이지안 분류에 대해서 알아보자.
비연속적인 데이터 값에 대해서 여러가지의 분류중에서 선택/분류하는 방법이다.
가장 많이 알려진 예시가 바로 스팸 메일 분류다. 즉, 메일의 제목과 내용을 보고 이 메일이 스팸 메일일지 아니면 정상적인 메일일지를 분류하는 알고리즘에 사용할 수 있다. 이러한 방법은 기계학습 방법중에서 지도학습(Supervised Learning)에 해당한다.
한번 생각해보자. 아래의 내용은 메일에 들어있는 내용을 단어로 표시한 것이다. 1번과 2번의 메일 중 어느 것이 스팸 메일 일까?

1번: 광고 출시 기념 할인 대상 선물 대박 핸드폰 
2번: 회의 사장 회사 오전 대표님 연락 메일 예약 출시


당신은 몇번을 선택했나? 왜 그렇게 선택했나?
내 생각에는 1번이 스팸 메일 일 꺼라고 선택했는데, 이유는 1번에 나오는 단어들이 스팸 메일에서 자주 보이는 단어이기 때문이다.
이처럼 각 단어가 스팸 메일에서 나타나는 확률을 계산하고 모든 단어의 확률을 더해서 하나의 메일이 스팸 확률을 계산하는 방법이 바로 다항분포 베이지안 분류 방법이다.


다항분포 나이브 베이지안 알고리즘의 공식을 이해하기 쉽게 풀어서 상세하게 설명하겠다.
(아래 위키 페이지의 내용을 기반으로 설명)

 

나이브 베이즈 분류 - 위키백과, 우리 모두의 백과사전

기계 학습분야에서, '나이브 베이즈 분류(Naïve Bayes Classification)는 특성들 사이의 독립을 가정하는 베이즈 정리를 적용한 확률 분류기의 일종으로 1950 년대 이후 광범위하게 연구되고 있다. 통계

ko.wikipedia.org

 


먼저 간단한 공식 읽는 방법을 이해해 보자

[공식1] C라는 클래스 조건에서 i번째 단어(w)가 나타날 확률

p 는 확률을 말하고, w는 단어, i는 순서를 표시하고, C는 클래스를 말한다. 즉 풀어서 말하면 C라는 클래스에서 단어 wi가 나타날 확률이다. 실제 계산하는 방법은, 모든 C클래스에 속하는 단어의 출현 횟수 중에서 wi가 얼마나 나타났는지 계산하면 된다.(짧게 말하면, C클래스에 나타난 wi 출현 건수 / C클래스에 나타난 모든 단어 출현수 = wi 가 C클래스라는 조건에서 나타날 확률)
예를 들면, p(광고 | 스팸메일) 의 의미는
스팸메일이라는 클래스 조건에서 광고라는 단어가 나올 확률을 말한다.

그래서 우리는 C 클래스가 주어졌을때 D라는 문서가 나타날 확률을 아래와 같이 공식으로 만들 수 있다.

[공식2]

이 공식[공식2]을 풀어서 설명하면
C클래스(스팸메일)에 대하여 D(메일)이 속할 확률은 = C클래스(스팸메일)라는 조건에서 D의 각 단어(wi)가 나타날 확률을 모두 구하고 이 확률 들을 누적곱한 것
이다.
이처럼 [공식2]를 말하는 이유는 계산 할 수 있는 값 이기 때문이다. 즉, 스팸메일로 분류된 메일들의 내용을 통해서 스팸메일에 할당된 문서들의 워드 별로 스팸 메일에서의 출현 확률을 계산해 낼 수 있기 때문이다.

그런데 우리가 원하는 확률 값은 (새로운 메일 문서)D가 주어졌을때 C(스팸)일 확률이다.
수식으로는

[공식[3]

이다

[공식2] 에서와 같이 만들 수 있지만 문제는 D라는 조건에서의 C클래스에 모든 단어가 출현할 확률을 계산할 수 없다. 왜냐하면 우리는 어떤 D가 들어올지 모르기 때문이다. 모든 단어 조합에 해당하는 D를 만들면 해당 문서가 C클래스에 속할 확률을 알 수 있겠지만 모든 단어 조합의 문서를 만든다는 말은 결국 무한대에 가깝기 때문에 만들 수 없다.
그런데 다행히도 우리는 아래의 조건부 확률 공식을 이용해서 공식을 바꿀 수 있다.

[공식4] 조건부 확률

[공식4]를 이용하여 [공식3]을 아래와 같이 바꿀 수 있다.

[공식5]

이와 같은 방법으로 반대도 알 수 있다.

[공식6]


[공식6]을 이용해서 공식 5의 오른 쪽 분자에 있는 p(D ∩ C)를 p(C) p(D|C) 로 아래와 같이 바꿀 수 있다.

우리는 이공식을 공식2에 의해서 아래와 같이 바꿀 수 있다.

그런데 우리는 아직도 p(D)를 계산할 수가 없고
이렇게 계산해서 나온다고해도 그냥 클래스에 속할 확률인 값만 나온다. 예를 들면, 스팸 메일일 확률 88.833%, 일반 메일일 확률 88.799%. 이렇게 나와서 판단 하기 어렵다.
그래서 간단하게 스펨과 일반 두가지의 클래스만 있다고 가정하고 위 공식의 C를 스팸(S)과 일반(-S)로 바꾸면 아래와 같다.


결국 스팸 가능성이 더 큰지, 아니면 일반일 가능성이 더 큰지를 비교하면 되므로 계산해서 나온 두 값을 비율로 만들어서 어느 것이 더 높은지 판단 할 수 있다. 이를 위해 위의 공식 2개를 비율로 만들면 아래와 같다. 같은 항의 값으로 나눈 것이다.

이것을 조금 더 보기 좋게 정리하면 아래와 같다.

이렇게 계산하면 두 클래스간의 유서도비(우도비)율이 나오는데, 문제는 클래스에 속한 단어의 숫자가 일치하지 않고 발생 차이가 많이 날 수 있기 때문에 (예: 스팸단어 1,000개, 일반단어 100,000개) 로그를 취해서 크기/스케일을 맞추어 준다.


이렇게 해서 나온 값이 크면 스팸일 가능성이 높은 것이고 낮으면 일반 메일일 가능성이 높은 것이다. 이러한 구분/분류를 위해 테스트 데이터를 통해 적당한 기준값(Threshold)을 설정해 준다.


자, 이론도 알았으니 다음에는 이러한 나이브 베이지안 알고리즘을 이용하여 분류기를 직접 만들어 보자.











반응형
반응형

인공지능

쉽게말하면, 말 그대로 인공적인 지능을 말한다. 지능이란 인간이 지니는 지적인 능력으로, 합리적으로 생각하고 처리하는 능력이라고 할 수 있다. 인간이 가지는 특징인 지능을 인공적으로 만드는 것이 인공지능이다. 실제로 인공지능은 컴퓨터 프로그램이나 시스템으로 구현되기 때문이 이렇게 구현된 것을 인공지능이라고 한다.
https://ko.wikipedia.org/wiki/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5

 

인공지능 - 위키백과, 우리 모두의 백과사전

인공지능 또는 AI는 인간의 학습능력, 추론능력, 지각능력, 그외에 인공적으로 구현한 컴퓨터 프로그램 또는 이를 포함한 컴퓨터 시스템이다. 하나의 인프라 기술이기도 하다.[1][2] 인간을 포함

ko.wikipedia.org

그런데 보통 일반인에게 인공지능이 무엇인가? 라고 질문하면 로봇을 떠올리기 쉽다. 그러나 로봇은 일련의 작업을 수행하는 기계적 장치를 말한다. 즉, 쉽게 말하면 하드웨어인 것이다. https://ko.wikipedia.org/wiki/%EB%A1%9C%EB%B4%87

 

로봇 - 위키백과, 우리 모두의 백과사전

위키백과의 봇에 대해서는 위키백과:봇 문서를 참조하십시오. 로봇(문화어: 로보트, 영어: robot)은 인간과 유사한 모습과 기능을 가진 기계 또는 한 개의 컴퓨터 프로그램으로 작동할 수 있고(prog

ko.wikipedia.org

따라서 인공지능은 소프트웨어라고 할 수 있다. 이처럼 하드위어와 소프트웨어가 합쳐지면 영화에서나 볼법한 정말 사람 같은 로봇이 만들어질 수 있겠다.
위키에서는 컴퓨터 프로그램으로 정의한다.
https://ko.wikipedia.org/wiki/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5

 

인공지능 - 위키백과, 우리 모두의 백과사전

인공지능 또는 AI는 인간의 학습능력, 추론능력, 지각능력, 그외에 인공적으로 구현한 컴퓨터 프로그램 또는 이를 포함한 컴퓨터 시스템이다. 하나의 인프라 기술이기도 하다.[1][2] 인간을 포함

ko.wikipedia.org

그런데 정의가 너무 광범위하다. 인공지능 = 인공적으로 만든 지능 = 컴퓨터 프로그램
그러서 인공지능에 대해서 조금 더 자세히 알아보자

인공지능에 포함되는 분야 중에 하나가 기계학습(Machine Learning, 머신러닝) 이다. 지능 중에서 학습하는 능력을 기계가 갖게 만드는 알고리즘 영역이라고 할 수 있다.
https://ko.wikipedia.org/wiki/%EA%B8%B0%EA%B3%84_%ED%95%99%EC%8A%B5

 

기계 학습 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 기계 학습(機械學習) 또는 머신 러닝(영어: machine learning)은 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘의 연구이다.[1] 인공지능의 한 분야로 간주된다. 컴

ko.wikipedia.org

기계학습이란 용어에 대한 정의는 1959년에 아서 사무엘이 "기계가 일일이 코드로 명시하지 않은 동작을 데이터로부터 학습하여 실행할 수 있도록 하는 알고리즘을 개발하는 연구 분야"라고 정의하였다. 그리고 1998년에 카네기 멜론 대학의 톰 마이클 교수는 아래와 같이 더 구체적으로 정의하였다.

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

  만약에 P에 의해서 측정되는 T라는 작업을 할때 컴퓨터 프로그램의 성능이 경험 E를 통해 증가했다면  컴퓨터 프로그램이 성능 지표 P와 작업 T의 일부 분류 표시를 가지고 경험 E로 부터 배운다 라고 한다.

 

이러한 기계학습은 학습 방법으로 유형을 구분할 수 있다. 지도학습, 비지도학습, 강화학습 이 그것이다.
인공적으로 지능을 만들기 위해서 컴퓨터에게 지능을 만들어 주어야 하는데 이 지능을 만드는 과정/방법을 학습이라고 한 것이다.
이처럼 학습하는 방법을 크게 3가지로 나눈다. 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 강화학습(Reinforcement Learning).

 

지도학습(Supervised Learning)

어린 아이에게 과일의 이름을 학습시키는 상황을 예로 들어보자. 사과를 알려주기 위해서 사과를 보여주고 "이게 사과야" 라고 알려주는 방법이 지도 학습이다. 말 그대로 대상에게 학습할 내용과 정답을 지도해 주는 방법이다. 세상 모든 일에는 장점과 단점이 있듯이 이것도 있다. 먼저 장점, 쉽다. 아이에게 사과를 학습시키고 나서 다시 사과를 물어보면 곧 잘 대답한다. 가르쳐 주기도 쉽다. 사과를 들고 "이게 사과야" 하면되고 바나나를 들고 "이게 바나나야" 라고 알려주면 된다. 그리고 사과가 많이 없어도 학습시킬 수 있다. 반면에 단점도 있다. 배울때 없었던 것을 물어보면 대답을 잘 못한다. 즉, 미니 사과나 반쯤 먹은 사과를 보여주면 엉뚱한(잘못된) 대답을 할 가능성이 높다.
https://ko.wikipedia.org/wiki/%EC%A7%80%EB%8F%84_%ED%95%99%EC%8A%B5

 

지도 학습 - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

 

비지도학습(Unsupervised Learning)

말그대로 지도하지 않는 학습 방법이다. 위에서 본 것처럼 지도라는 말은 정답을 가르쳐 준다는 의미로 이해할 수 있다. 비지도 학습은 정답을 알려주지 않고 지능을 갖게되는 방법이다. 앞선 어린 아이에게 과일의 이름을 학습시키는 동일한 상황에서 이번에는 여러 개의 사과와 여러 개의 바나나를 보여주는 것이다. 사과 바나나를 모아 놓고 알아서 구분해 보라고 하는 것이다. 구분해 놓은 것을 보고 "이런 것들은 사과라고하고 저런 것들은 바나나라고해"라고 알려주는 방법이다. 즉, 정답을 가르처주지 않고 학습하는 방법이다.  장점, 일일히 시간내서 하나씩 가르쳐줄 필요가 없다. 따라서 학습 자료 준비 시간이 빠르다. 그냥 많은 과일을 보여주면 된다. 그리고 또다른 장점으로는 안 배웠던 사과를 보여줘도 곧 잘 정확하게 대답한다. 사과 하나하나의 특징을 학습한 것이 아니라 사과들의 공통된 특징을 학습했기 때문이다. 단점, 사과와 바나나 등 데이터가 많이 있어야 한다. 안그러면 같은 것 끼리의 특성을 잘 못찾기 때문이다. 그리고 가르치기 어렵다. "여기 사과들을 보렴, 사과는 주로 동그란 모양이고 빨간색이야", 데이터를 통해 배우는 방법으로 정확한 정답이 있는 것은 아니다. (다만, 결과가 사람이 인지하는 정답과 매우 유사하게 나오게 할 수록 사람과 비슷한 인공지능이 되는 것이다.)
https://ko.wikipedia.org/wiki/%EB%B9%84%EC%A7%80%EB%8F%84_%ED%95%99%EC%8A%B5

 

비지도 학습 - 위키백과, 우리 모두의 백과사전

비지도 학습 위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

 

강화학습(Reinforcement Learning)

당근과 채찍을 통해 학습하는 방법이다. 잘하면 당근을 못하면 채찍을 통해 알고리즘 프로그램을 보완하여 지능을 갖게하는 방법이다. 다른 학습 방법과의 다른 점은 데이터 한 경우에 따라서 당근/채찍을 주는 것이 아니라 전체를 최적화 할 수 있는 근사치를 찾는 다는 점에서 다르다. 그리고 가장큰 차이점은 주어진 데이터에서 아직 조사되지 않은 영역을 탐험하는 것과 알고있는 지식 사이의 균형을 고려하면서 최적의 행동계획을 수립한다는 것이다. 강화학습의 예로는 미로를 빠저나가는 로봇을 생각해볼 수 있다. 상/하/좌/우 로 움직일 수 있는 행동중에서 어떤 이동의 움직임을 연속해서 선택해야 미로라는 환경에서 가장 빨리 빠져나갈 수 있는지를 여러번의 학습을 통해 찾아내는 것이다.
https://ko.wikipedia.org/wiki/%EA%B0%95%ED%99%94_%ED%95%99%EC%8A%B5

 

강화 학습 - 위키백과, 우리 모두의 백과사전

강화 학습(Reinforcement learning)은 기계 학습의 한 영역이다. 행동심리학에서 영감을 받았으며, 어떤 환경 안에서 정의된 에이전트가 현재의 상태를 인식하여, 선택 가능한 행동들 중 보상을 최대화

ko.wikipedia.org

 

기타

다른 방법으로 인간의 여러가지 인지지능 중 시각과 언어 지능을 인공지능으로 구분할 수 있다. 시각인지 분야는 컴퓨터 비전(Computer Vision) 분야로 그리고 언어인지 분야는 자연어 처리(NLP: Natural Language Proecss)분야로 크게 구분한다. 추론과 기억분야가 추가되기도 한다.
https://ko.wikipedia.org/wiki/%EC%9E%90%EC%97%B0%EC%96%B4_%EC%B2%98%EB%A6%AC

 

자연어 처리 - 위키백과, 우리 모두의 백과사전

자연어 처리(自然語處理) 또는 자연 언어 처리(自然言語處理)는 인간의 언어 현상을 컴퓨터와 같은 기계를 이용해서 묘사할 수 있도록 연구하고 이를 구현하는 인공지능의 주요 분야 중 하나다.

ko.wikipedia.org


사람의 지능은 여러 상황에 따라서 다양한 방법으로 문제를 해결한다. 그러나 인공지능은 아직 인간 수준의 종합지능을 가지고 있지는 못하다. 물론 단일화되고 규격화된, 그리고 제한된 문제 분야에서는 인간을 뛰어넘는 지능을 보여주기도 한다. 알파고와 이세돌기사의 대결에서 알파고가 승리한 것이 좋은 예시가 되겠다.
이처럼 아직 인공지능은 여러 문제를 동시에 구분하고 처리하는데 낮은 성능(지능)이다. 그러나 학습 방법이나 문제 종류에 따라서 세분화된 분야에서는 딥러닝(Deep Neural Network)의 발달로 높은 지능이 개발/발전되고 있다. 이 때문에 실제로 인공지능이나 기계학습을 활용하는 현업에서는 문제 상황과 확보한 데이터 그리고 목적에 맞게 학습 방법을 선택하는 것이 매우 그리고 더 매우 중요하다. 재료인 데이터의 중요성은 더 말할나위 없이 중요하다.

반응형

+ Recent posts