2019.08.09

패턴 찾기·노이즈 추적에 효과적인 비지도 학습 알아보기

Martin Heller | InfoWorld
지도(supervised) 머신 러닝과 딥 러닝이 성공적인 결과를 거두고 있다. 동시에 비지도(unsupervised) 학습의 잠재력이 더 크다는 주장도 있다. 지도 학습 시스템의 학습은 훈련으로 제어된다. 즉, 지도 학습 시스템은 훈련된 학습 대상의 작업만 학습할 수 있다. 반면 비지도 시스템은 이론적으로는 인간이 학습할 수 있는 모든 작업을 학습하는 능력을 의미하는 “인공 일반 지능(artificial general intelligence)”에 도달할 수 있다. 다만 아직 기술이 그 수준까지 발전하지는 않았다.
 
지도 학습의 가장 큰 문제가 트레이닝 데이터의 레이블링 비용이라면, 데이터가 레이블링되지 않는 비지도 학습의 가장 큰 문제는 제대로 작동하지 않는 경우가 많다는 점이다. 그러나 비지도 학습에도 적합한 용도가 있다. 비지도 학습은 데이터 집합의 차원을 축소하고 데이터의 패턴과 구조를 탐색하고 비슷한 개체 그룹을 찾고 데이터에서 이상점과 노이즈를 찾는 데 효과적인 경우가 있다.
 
일반적으로 연구를 위한 데이터 분석에서 패턴과 군집을 찾고 데이터의 차원을 축소하고 잠복 특징을 발견하고 이상점을 제거하기 위해 비지도 학습 방법을 시도할 가치는 충분하다. 그런 다음 목표와 데이터에 따라 지도 학습으로 전환해서 계속 연구를 진행하거나 사전 학습된 모델을 사용해서 예측을 수행하면 된다.
 

비지도 학습이란?

인간 어린이가 학습하는 방법을 생각하면 된다. 부모나 교사가 어린이에게 개와 고양이를 알아보는 방법을 가르치기 위해 모든 품종의 개와 고양이를 보여줄 필요는 없다. 어린이는 많은 설명 없이 몇 개의 예시만으로 학습하고 스스로 일반화할 수 있다. 물론 치와와를 처음 보는 아이는 고양이라고 착각할 수도 있지만 그 정도는 비교적 신속하게 교정할 수 있다.
 
어린이는 자신이 보는 사물을 직관적으로 그룹으로 분류한다. 비지도 학습의 목표 중 하나는 기본적으로 컴퓨터가 이와 같은 능력을 개발하도록 하는 데 있다. 딥마인드(DeepMind)의 알렉스 그레이브스와 켈리 클랜시는 “비지도 학습: 호기심 많은 아이”라는 블로그 글에서 다음과 같이 썼다.
 
비지도 학습은 주어진 특정 작업 없이 관찰 대상 데이터를 학습하는 데 대해 에이전트(컴퓨터 프로그램)에 보상을 제공함으로써 자율 지능을 생성하도록 설계된 페러다임이다. 즉, 에이전트는 학습을 위해 학습한다.

학습을 위해 학습하는 에이전트는 복잡한 그림을 이분법적 결정(예를 들어 개나 고양이)으로 축소하는 시스템에 비해 잠재력이 훨씬 더 크다. 로렌스 버클리 연구소의 연구진이 수백만 개의 재료과학 초록을 대상으로 텍스트 처리 알고리즘(Word2vec)을 실행해 새로운 열전재료의 발견을 예측함으로써 시연한 바와 같이, 사전 정의된 작업을 수행하는 대신 패턴을 파악하면 놀랍고 유용한 결과를 얻을 수 있다.
 

군집화 방법

군집화(clustering) 문제는 모델에 비슷한 데이터 포인트 그룹을 찾도록 요구하는 비지도 학습 문제다. 현재 여러 가지 군집화 알고리즘이 사용되는데, 알고리즘마다 특상이 조금씩 다르다. 일반적으로 군집화 알고리즘은 척도 또는 데이터 포인트의 특징 벡터 사이의 거리 함수를 살펴본 다음 서로 “가까운” 데이터 포인트를 그룹으로 묶는다. 군집화 알고리즘은 클래스가 겹치지 않을 때 가장 효과적으로 작동한다

계층적 군집화
계층적 군집화 분석(HCA)은 응집적이거나(개별 포인트부터 시작해서 상향식으로 군집을 만들어 최종적으로 단일 군집 생성) 분열적일 수 있다(단일 군집으로 시작해서 개별 포인트가 될 때까지 군집을 분열). 운이 좋다면 유의미한 분류를 반영하는 군집화 프로세스의 중간 단계를 찾을 수 있다.
 
군집화 프로세스는 일반적으로 덴드로그램(트리 다이어그램)으로 표시된다. HCA 알고리즘에는 대체로 많은 계산 시간[O(n3)]과 메모리[O(n2)] 리소스가 필요하다. 이는 비교적 작은 데이터 집합에 이 알고리즘을 적용하기 어려운 제약 요소다.
 
HCA 알고리즘은 다양한 척도와 연결 기준을 사용할 수 있다. 유클리드 거리와 유클리드 제곱거리는 모두 수치 데이터에서 일반적이다. 해밍 거리와 레벤슈타인 거리는 비수치 데이터에 일반적이다. 단일 연결과 완전 연결은 일반적이며, 두 가지 모두 군집화 알고리즘을 간소화할 수 있다(각각 SLINK와 CLINK). SLINK는 최적의 솔루션 발견을 보장하는 소수 군집화 알고리즘 가운데 하나다.

k-평균 군집화
k-평균 군집화 문제는 각 군집 내의 변동(제곱합) 최소화를 목표로 유클리드 거리 척도를 사용해서 n개의 관측을 k개의 군집으로 나눈다. 벡터 양자화의 한 방법이며 특징 학습에 유용하다.
 
로이드의 알고리즘(센트로이드 업데이트를 사용하는 반복적 군집 집합체)은 문제를 해결하는 데 가장 일반적으로 사용되는 휴리스틱이며 비교적 효율적이지만 전역 수렴을 보장하지 않는다. 이를 개선하기 위해 포기(Forgy) 또는 무작위 분할법으로 생성되는 무작위 초기 군집 센트로이드를 사용해서 알고리즘을 여러 번 실행하는 경우가 많다.
 
k-평균은 평균이 군집 중앙을 향해 수렴하도록 분리 가능한 구체 군집을 전제하고 데이터 포인트의 순서에는 의미가 없다고 전제한다. 가장 가까운 군집 중앙으로의 배치가 올바른 배치가 되도록 각 군집의 크기는 비슷해야 한다.
 
k-평균 군집을 해결하기 위한 휴리스틱은 일반적으로 가우시안 혼합 모델의 기댓값 최대화(EM) 알고리즘과 비슷하다.

혼합 모델
혼합 모델은 관찰의 부분모집단이 확률 분포, 일반적으로 수치 관측의 경우 정규 분포, 비수치 데이터의 경우 카테고리 분포에 해당한다고 전제한다. 각 부분모집단은 그 자체의 분포 매개변수, 예를 들어 정규 분포의 평균 및 분산을 가질 수 있다.
 
기댓값 최대화(EM)는 성분 수가 지정된 혼합의 매개변수를 확인하기 위해 가장 많이 사용되는 기법 중 하나다. EM 외에 마르코프 연쇄 몬테카를로, 모멘트 일치, 특이값 분해를 사용하는 스펙트럼법, 도식 해법으로도 혼합 모델을 풀 수 있다.
 
최초의 혼합 모델 응용은 머리와 몸 길이의 비율로 두 가지 종류의 바닷게를 분리하는 작업이었다. 칼 피어슨은 1984년 모멘트 일치를 사용해서 이 문제를 풀었다.
 
혼합 모델의 일반적인 확장은 혼합 성분 정체성을 정의하는 잠재변수가 독립 균등 분산 무작위 변수라고 전제하지 않고 대신 이 변수를 마르코프 연쇄에 연결하는 것이다. 이렇게 해서 나온 결과 모델이 은닉 마르코프 모델로, 가장 일반적인 순차 계층 모델 중 하나다.

DBSCAN 알고리즘
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)은 1996년에 개발된 비모수 데이터 군집화 알고리즘이다. R* 트리 또는 기타 기하학적 인덱스 구조를 사용해서 기하학적 영역 쿼리를 가속화할 수 있는 데이터베이스에서 사용하는 데 최적화됐다.
 
기본적으로 DBSCAN은 일부 거리 엡실론 내의 최소 이웃 수보다 많은 코어 포인트를 군집화하고, 엡실론 내에 이웃이 없는 이상점으로 폐기하고, 코어 포인트의 엡실론 내에 있는 포인트를 해당 군집에 추가한다. DBSCAN은 가장 일반적인 군집화 알고리즘 중 하나이며 임의 형상 군집을 찾을 수 있다.

OPTICS 알고리즘
OPTICS(Ordering Points To Identify the Clustering Structure)는 공간 데이터에서 밀도 기반 군집을 찾기 위한 알고리즘이다. OPTICS는 DBSCAN과 비슷하지만 변동성 포인트 밀도 사례를 다룬다는 차이가 있다.
 
DBSCAN과 OPTICS 아이디어의 변형은 간단한 이상점과 노이즈 탐지 및 제거에도 사용할 수 있다.
 



2019.08.09

패턴 찾기·노이즈 추적에 효과적인 비지도 학습 알아보기

Martin Heller | InfoWorld
지도(supervised) 머신 러닝과 딥 러닝이 성공적인 결과를 거두고 있다. 동시에 비지도(unsupervised) 학습의 잠재력이 더 크다는 주장도 있다. 지도 학습 시스템의 학습은 훈련으로 제어된다. 즉, 지도 학습 시스템은 훈련된 학습 대상의 작업만 학습할 수 있다. 반면 비지도 시스템은 이론적으로는 인간이 학습할 수 있는 모든 작업을 학습하는 능력을 의미하는 “인공 일반 지능(artificial general intelligence)”에 도달할 수 있다. 다만 아직 기술이 그 수준까지 발전하지는 않았다.
 
지도 학습의 가장 큰 문제가 트레이닝 데이터의 레이블링 비용이라면, 데이터가 레이블링되지 않는 비지도 학습의 가장 큰 문제는 제대로 작동하지 않는 경우가 많다는 점이다. 그러나 비지도 학습에도 적합한 용도가 있다. 비지도 학습은 데이터 집합의 차원을 축소하고 데이터의 패턴과 구조를 탐색하고 비슷한 개체 그룹을 찾고 데이터에서 이상점과 노이즈를 찾는 데 효과적인 경우가 있다.
 
일반적으로 연구를 위한 데이터 분석에서 패턴과 군집을 찾고 데이터의 차원을 축소하고 잠복 특징을 발견하고 이상점을 제거하기 위해 비지도 학습 방법을 시도할 가치는 충분하다. 그런 다음 목표와 데이터에 따라 지도 학습으로 전환해서 계속 연구를 진행하거나 사전 학습된 모델을 사용해서 예측을 수행하면 된다.
 

비지도 학습이란?

인간 어린이가 학습하는 방법을 생각하면 된다. 부모나 교사가 어린이에게 개와 고양이를 알아보는 방법을 가르치기 위해 모든 품종의 개와 고양이를 보여줄 필요는 없다. 어린이는 많은 설명 없이 몇 개의 예시만으로 학습하고 스스로 일반화할 수 있다. 물론 치와와를 처음 보는 아이는 고양이라고 착각할 수도 있지만 그 정도는 비교적 신속하게 교정할 수 있다.
 
어린이는 자신이 보는 사물을 직관적으로 그룹으로 분류한다. 비지도 학습의 목표 중 하나는 기본적으로 컴퓨터가 이와 같은 능력을 개발하도록 하는 데 있다. 딥마인드(DeepMind)의 알렉스 그레이브스와 켈리 클랜시는 “비지도 학습: 호기심 많은 아이”라는 블로그 글에서 다음과 같이 썼다.
 
비지도 학습은 주어진 특정 작업 없이 관찰 대상 데이터를 학습하는 데 대해 에이전트(컴퓨터 프로그램)에 보상을 제공함으로써 자율 지능을 생성하도록 설계된 페러다임이다. 즉, 에이전트는 학습을 위해 학습한다.

학습을 위해 학습하는 에이전트는 복잡한 그림을 이분법적 결정(예를 들어 개나 고양이)으로 축소하는 시스템에 비해 잠재력이 훨씬 더 크다. 로렌스 버클리 연구소의 연구진이 수백만 개의 재료과학 초록을 대상으로 텍스트 처리 알고리즘(Word2vec)을 실행해 새로운 열전재료의 발견을 예측함으로써 시연한 바와 같이, 사전 정의된 작업을 수행하는 대신 패턴을 파악하면 놀랍고 유용한 결과를 얻을 수 있다.
 

군집화 방법

군집화(clustering) 문제는 모델에 비슷한 데이터 포인트 그룹을 찾도록 요구하는 비지도 학습 문제다. 현재 여러 가지 군집화 알고리즘이 사용되는데, 알고리즘마다 특상이 조금씩 다르다. 일반적으로 군집화 알고리즘은 척도 또는 데이터 포인트의 특징 벡터 사이의 거리 함수를 살펴본 다음 서로 “가까운” 데이터 포인트를 그룹으로 묶는다. 군집화 알고리즘은 클래스가 겹치지 않을 때 가장 효과적으로 작동한다

계층적 군집화
계층적 군집화 분석(HCA)은 응집적이거나(개별 포인트부터 시작해서 상향식으로 군집을 만들어 최종적으로 단일 군집 생성) 분열적일 수 있다(단일 군집으로 시작해서 개별 포인트가 될 때까지 군집을 분열). 운이 좋다면 유의미한 분류를 반영하는 군집화 프로세스의 중간 단계를 찾을 수 있다.
 
군집화 프로세스는 일반적으로 덴드로그램(트리 다이어그램)으로 표시된다. HCA 알고리즘에는 대체로 많은 계산 시간[O(n3)]과 메모리[O(n2)] 리소스가 필요하다. 이는 비교적 작은 데이터 집합에 이 알고리즘을 적용하기 어려운 제약 요소다.
 
HCA 알고리즘은 다양한 척도와 연결 기준을 사용할 수 있다. 유클리드 거리와 유클리드 제곱거리는 모두 수치 데이터에서 일반적이다. 해밍 거리와 레벤슈타인 거리는 비수치 데이터에 일반적이다. 단일 연결과 완전 연결은 일반적이며, 두 가지 모두 군집화 알고리즘을 간소화할 수 있다(각각 SLINK와 CLINK). SLINK는 최적의 솔루션 발견을 보장하는 소수 군집화 알고리즘 가운데 하나다.

k-평균 군집화
k-평균 군집화 문제는 각 군집 내의 변동(제곱합) 최소화를 목표로 유클리드 거리 척도를 사용해서 n개의 관측을 k개의 군집으로 나눈다. 벡터 양자화의 한 방법이며 특징 학습에 유용하다.
 
로이드의 알고리즘(센트로이드 업데이트를 사용하는 반복적 군집 집합체)은 문제를 해결하는 데 가장 일반적으로 사용되는 휴리스틱이며 비교적 효율적이지만 전역 수렴을 보장하지 않는다. 이를 개선하기 위해 포기(Forgy) 또는 무작위 분할법으로 생성되는 무작위 초기 군집 센트로이드를 사용해서 알고리즘을 여러 번 실행하는 경우가 많다.
 
k-평균은 평균이 군집 중앙을 향해 수렴하도록 분리 가능한 구체 군집을 전제하고 데이터 포인트의 순서에는 의미가 없다고 전제한다. 가장 가까운 군집 중앙으로의 배치가 올바른 배치가 되도록 각 군집의 크기는 비슷해야 한다.
 
k-평균 군집을 해결하기 위한 휴리스틱은 일반적으로 가우시안 혼합 모델의 기댓값 최대화(EM) 알고리즘과 비슷하다.

혼합 모델
혼합 모델은 관찰의 부분모집단이 확률 분포, 일반적으로 수치 관측의 경우 정규 분포, 비수치 데이터의 경우 카테고리 분포에 해당한다고 전제한다. 각 부분모집단은 그 자체의 분포 매개변수, 예를 들어 정규 분포의 평균 및 분산을 가질 수 있다.
 
기댓값 최대화(EM)는 성분 수가 지정된 혼합의 매개변수를 확인하기 위해 가장 많이 사용되는 기법 중 하나다. EM 외에 마르코프 연쇄 몬테카를로, 모멘트 일치, 특이값 분해를 사용하는 스펙트럼법, 도식 해법으로도 혼합 모델을 풀 수 있다.
 
최초의 혼합 모델 응용은 머리와 몸 길이의 비율로 두 가지 종류의 바닷게를 분리하는 작업이었다. 칼 피어슨은 1984년 모멘트 일치를 사용해서 이 문제를 풀었다.
 
혼합 모델의 일반적인 확장은 혼합 성분 정체성을 정의하는 잠재변수가 독립 균등 분산 무작위 변수라고 전제하지 않고 대신 이 변수를 마르코프 연쇄에 연결하는 것이다. 이렇게 해서 나온 결과 모델이 은닉 마르코프 모델로, 가장 일반적인 순차 계층 모델 중 하나다.

DBSCAN 알고리즘
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)은 1996년에 개발된 비모수 데이터 군집화 알고리즘이다. R* 트리 또는 기타 기하학적 인덱스 구조를 사용해서 기하학적 영역 쿼리를 가속화할 수 있는 데이터베이스에서 사용하는 데 최적화됐다.
 
기본적으로 DBSCAN은 일부 거리 엡실론 내의 최소 이웃 수보다 많은 코어 포인트를 군집화하고, 엡실론 내에 이웃이 없는 이상점으로 폐기하고, 코어 포인트의 엡실론 내에 있는 포인트를 해당 군집에 추가한다. DBSCAN은 가장 일반적인 군집화 알고리즘 중 하나이며 임의 형상 군집을 찾을 수 있다.

OPTICS 알고리즘
OPTICS(Ordering Points To Identify the Clustering Structure)는 공간 데이터에서 밀도 기반 군집을 찾기 위한 알고리즘이다. OPTICS는 DBSCAN과 비슷하지만 변동성 포인트 밀도 사례를 다룬다는 차이가 있다.
 
DBSCAN과 OPTICS 아이디어의 변형은 간단한 이상점과 노이즈 탐지 및 제거에도 사용할 수 있다.
 



X