기계학습 9

[AI-12] 최적의 분류 평면 찾기, 서포트 벡터 머신(SVM)

회귀 등의 방법을 통해 일반적으로 데이터를 분류하는 방법들은, 각 데이터의 분류를 확률적으로 계산하여 그 소속 여부를 결정한다. 즉, 확률에 대한 어떤 특정한 임계값을 넘는지 못넘는지에 따라 분류 여부를 판단하는 방식으로, 각 데이터가 특정 클래스에 속할 확률을 계산함으로써 분류가 실패할 확률(에러율)을 줄이는 쪽으로 학습을 진행한다. 이는 처음부터 분류 자체를 목적으로 한다기보다는, 데이터가 가까운 쪽의 클래스로 분류됨으로써 자연스럽게 분류가 완성되는 것이다.서포트 벡터 머신(Suppor Vector Machine)은 이러한 방법들과 다르게 분류 자체를 목적으로 두고 데이터 간의 거리를 계산하여 그 사이의 가장 여백(margin)이 큰 경계를 찾는 방식으로 데이터 간에 경계를 나누면서 학습을 진행한다...

[AI-11] 유에서 무로, 다시 유로 : Diffusion Model

확산(Diffusion)이란, 자연 현상에서 무언가 다른 두 물질이 만나 서로 동화되며 섞여가는 과정을 의미한다. 이 때 원래 각각의 물질로서 높은 순도를 가지고 있던 두 물질은 순도가 낮아지고 동화된다. 예를 들어 커피에 우유를 섞으면 처음에는 각각 높은 순도의 커피와 우유였던 두 물질이 점차 서로에게 동화되며 커피와 우유로서의 순도는 낮아지게 된다. 커피가 우유로, 우유가 커피로 확산되면서 높은 엔트로피에서 낮은 엔트로피로 흐르는 것이다.인공지능에서 말하는 '확산 모델'도 이러한 과학에서의 확산 개념과 무관하지 않은데, 학습 과정에서 마치 확산을 시키듯 데이터를 자연 속에 확산시키면 잘 정돈되어있던(High Entrophy) 생성물의 순도는 낮아지게 될 것(Low Entrophy)이다. 즉, 풍화나 ..

[AI-10] 데이터에 따라 스스로를 조직하다: Self Organizing Map

이전 글에서 인공신경망(ANN; Artificial Neural Network)을 공부하면서 입력받은 데이터에 따라 은닉층(Hidden layer)의 가중치를 조정하여 학습하는 인공지능 학습에 대해 살펴본 바 있다. 자기 조직화 지도(SOM; Self Organizing Map) 역시 이와 같이 데이터에 맞춰 각 노드가 가중치를 조정하는 한 방법인데, 오늘은 이에 대해서 공부해보았다.여러 방법론을 공부하다 보면 '지도(Map)'라는 단어를 만나는 경우가 꽤 많은데, 보통 방법론에서 지도라는 단어를 말할 때는 X축과 Y축의 2차원 도식으로 표현이 가능한 경우가 많다. '사용자 여정 지도'나 '사용자 행동 지도'와 같은 경우가 그러하다. 이 '자기 조직화 지도' 역시도 마찬가지인데, 매우 고차원적인 특징(F..

[AI-08] 진흙 속에서 진주 찾기 : KDD

데이터는 일반적으로는 거의 맹목적일 정도로 가치 있는 재화처럼 여겨지지만 사실 의미가 부여될 수 없다면 그 자체로서는 객관적인 현상적 지표에 불과하다. 다만 당장은 가치가 없어보여도 데이터의 특성 상 어떤 것이 가치를 가지게 될 지 모르기 때문에 잠재적인 가치를 보는 것인데, 실제로는 데이터의 군집(Cluster), 상관관계(Correlation), 분류(Classification) 등을 통해 의미를 찾는 것이 중요하다. 이는 마치 흙 속에서 보물을 찾는 것과 비슷하며, 비유적으로 채굴(Mining)이라고 부른다. 우리가 흔하게 말하는 데이터 마이닝(Data Mining)이 그것이다. 그 중에서도 가장 전통적인 방법이 데이터 속에서 지식 찾기(KDD; Knowledge Discovery in Databa..

[AI-07] 어떻게 학습시킬까? : 레이블과 강화

인공지능의 학습 방법은 크게 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning), 그리고 강화학습(Reinforcement Learning)으로 분류된다. 이들은 레이블의 유무에 따른 지도학습과 비지도학습, 그리고 레이블이 아닌 강화를 통해 학습을 유도하는 강화학습의 두 가지로 먼저 나눠볼 수 있다. 먼저 레이블(Label)에 대해 살펴보면, 레이블은 문자 그대로 데이터에 정의를 입혀 학습시키는 것을 의미한다. 즉, 문제에 대해 정답이 존재하는 데이터인데, 예를 들어 OCR(Optical Chracter Recognition)과 같은 기술이 이에 해당한다. 이미지 속의 숫자 또는 문자는 일련의 배치를 가지고 일정 수준 이상 대비도가 차이나는 이미지 픽셀 데..

[AI-06] 신경망의 활동을 표현하다 : 시그모이드 함수

이제까지의 공부를 통해, 데이터를 수치화해 수학적 / 통계적으로 해석함으로써 각 신경망 유닛이 데이터에 부합하는 최적의 식을 찾는 것이 기계학습의 전반적인 원리임을 알아보았다. 이전글에서는 이 식을 간단하게 H(x)=Wx+b와 같이 기본적인 1차함수로만 다루면서 공부하였지만, [AI-04]에서 공부한 내용에서처럼 신경망은 여러 개의 입력값과 복잡한 노드로 연결되기 때문에 이렇게 간단한 식으로 해결되지는 않는다. 예를 들어, 3개의 입력을 처리하는 신경망 노드의 경우, 아래와 같은 식이 필요할 것이다.W₁x₁+W₂x₂+W₃x₃-θ 즉, 3개의 각각의 입력값에 대해 서로 다른 가중치를 적용한 값이 각 노드의 편향(임계값,  θ)보다 높은지 낮은지에 따라 신경망이 1 (반응) 또는 0 (미반응)으로 다음 노드..

[AI-05] 수치화하여 방향성 찾기: 벡터와 텐서

이전에 공부한 내용들을 종합하면, 기계가 학습을 위한 기본 이론과 로직, 그리고 그 학습이 일어나는 환경인 신경망까지 준비되었다. 이제 학습할 데이터를 입력층을 통해 입력해야 하는데, 앞서 공부한 회귀분석을 하려면 먼저 데이터를 분석할 수 있는 숫자로 만들어야 한다. 이 때 사용되는 개념이 벡터(Vector), 나아가 텐서(Tensor)의 개념이다.  이들을 이해하기 위해서 먼저 가장 기본이 되는 스칼라(Scalar)부터 살펴보면, 스칼라는 영어의 'Scale'과 같은 말로, 어떤 개체의 변하지 않는 물리량을 의미한다. 온도나 질량과 같은 값은 개체 고유의 값으로 외부의 특별한 조작 없이는 어떠한 환경에서도 일정하게 유지되며, 방향성을 가지지 않는다. 때문에 이들은 1차원적으로 표현되며, 기본적인 사칙연..

[AI-03] 오차를 줄여나가다: 경사하강법

이전 글을 통해 기계가 어떤 식으로 학습을 하며, 어떤 목표로 학습을 하는 지까지 살펴보았다. 즉, 선형 회귀라는 이론적 배경을 바탕으로 데이터와 가설 간의 격차를 줄여나가며 가장 적은 격차를 갖는 가설을 향해 알고리즘을 수정해간다는 것이다. 이 과정에서 자신의 알고리즘을 검증하고 오차(비용)을 계산하기 위해 제곱오차함수를 사용하여 비용을 계산하는데, 이 함수로부터 최소의 오차를 찾아나가는 방식이 오늘 공부할 경사하강법(傾斜下降法; Gradient Descent)이다. 경사하강이란 이름 그대로 보여주듯이, 경사(傾斜; Gradient, 비스듬히 기울어짐)를 하강(下降; Descent, 내려옴)하는 식으로 극점(極占)을 찾는 것을 의미한다. 즉, 가장 낮은 곳을 찾기 위해 경사를 비스듬히 내려오는 식의 방..

[AI-02] '배움'의 목표를 잡다: 비용함수와 제곱오차

이전 글에서는 기계 학습의 기본적인 개념에 대해 소개하고, 그 본질이 많은 데이터의 분포를 최소의 손실로 아우를 수 있는 최적의 '선형 회귀' 식(式, Function)을 찾는 것이며 식의 가중치(Weight)와 편향(Bias)을 보정하여 가장 적은 손실을 만들어 가는 과정을 기계의 '학습'이라고 부른다는 사실을 공부해보았다. 이 때 데이터와 학습 과정에서의 회귀 식이 그리는 어떤 가상의 선(線) 간의 거리를 비용(Cost)이라고 하는데, 즉 학습의 목표는 특정 작업의 데이터에 대해 이 비용이 가장 적은 선에 대한 식을 찾는 것으로 다시 정리할 수 있겠다. 그런데, 그렇다면 그냥 선과 점 사이의 거리(차)를 모두 구해 더한 평균을 내면 그 식의 비용을 계산할 수 있지 않을까? 위의 도식에서 X=1일때와 ..

반응형