비음수 행렬 분해
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
비음수 행렬 분해(NMF)는 데이터를 특징과 계수로 분해하여 데이터의 특징을 파악하고 차원을 축소하는 데 사용되는 기법이다. 화학 계량학에서 자기 모델링 곡선 해상도라는 이름으로 시작되어, 1990년대 핀란드 연구진의 연구를 거쳐 리와 승에 의해 비음수 행렬 분해로 널리 알려지게 되었다. NMF는 최소 제곱 오차, 쿨백-라이블러 발산 등 다양한 비용 함수와 정형화 기법을 사용하여 여러 종류로 나뉘며, 근사적인 비음수 행렬 분해, 볼록 비음수 행렬 분해 등이 있다. 알고리즘은 비용 함수, 최신화 규칙, 수렴 보장으로 구성되며, 승의 곱셈 업데이트 규칙이 널리 사용된다. NMF는 텍스트 마이닝, 스펙트럼 데이터 분석, 생물 정보 공학, 인터넷 거리 예측, 음성 잡음 제거, 집단 유전학, 핵의학 영상 등 다양한 분야에 응용되며, 알고리즘 개선, 확장성, 다중 행렬 분해 등 다양한 연구가 진행되고 있다. C, 파이썬, 자바, 매트랩 등 다양한 프로그래밍 언어에서 라이브러리 형태로 지원된다.
화학 계량학에서 비음수 행렬 분해는 "자기 모델링 곡선 해상도"라는 이름으로 오랜 역사를 가지고 있다.[6] 이 프레임워크에서 오른쪽 행렬의 벡터는 이산 벡터가 아닌 연속 곡선이다. 1990년대에 핀란드 연구진에 의해 ''양의 행렬 분해''라는 이름으로 초기 연구가 수행되었다.[7][8][9] 이후, 리와 승이 알고리즘의 속성을 연구하고 두 가지 유형의 분해에 대한 간단하고 유용한 알고리즘을 발표하면서 ''비음수 행렬 분해''로 널리 알려지게 되었다.[10][11]
비음수 행렬 분해(NMF)는 커다란 정보를 특징과 계수들로 분해하여 데이터의 특징을 파악하고, 차원을 축소하여 분석 및 활용을 용이하게 하는 기법이다.
비음수 행렬 분해(NMF)는 사용하는 비용 함수나 정형화 기법에 따라 여러 종류로 나뉜다.
비음수 행렬 분해()에 근사하는 행렬곱 을 찾기 위해 최신화 규칙을 반복해서 시행한다. 비용 함수의 함수값을 수렴 조건이 만족할 때까지 감소시켜 분해된 행렬 와 를 얻을 수 있으며, 이때 수렴은 항상 보장된다. 알고리즘은 비용 함수, 최신화 규칙, 수렴 보장으로 나누어 분석할 수 있다.
2. 역사
3. 동기
예를 들어, 단어-문서 행렬을 생각해 보자. 10000개의 단어와 500개의 문서로 구성된 행렬 V가 있다고 가정할 때, 이 행렬 V를 10000x10 크기의 단어-특징 행렬 W와 10x500 크기의 특징-문서 행렬 H로 분해할 수 있다. 이때, W의 열 벡터들은 V의 특징 벡터라고 할 수 있으며, V에 포함된 단어들의 특징을 분석한 결과를 나타낸다.
이처럼 NMF는 행렬 곱셈의 원리를 이용하여 입력 행렬 V를 더 작은 차원의 행렬 W와 H의 곱으로 표현한다. 즉, V의 각 열 벡터는 W의 열 벡터들의 선형 결합으로 나타낼 수 있으며, 이때 H의 열 벡터는 각 특징 벡터에 대한 계수를 제공한다.
:
:
텍스트 마이닝 응용 사례를 통해 더 자세히 살펴보면, 10000개의 단어로 색인된 500개의 문서가 있는 경우, 입력 행렬 V는 10000x500 크기가 된다. NMF 알고리즘을 통해 10개의 특징을 찾도록 하면, 10000x10 크기의 특징 행렬 W와 10x500 크기의 계수 행렬 H를 얻을 수 있다. W의 각 열은 단어 집합으로 구성된 문서 원형을 나타내며, 각 단어의 셀 값은 해당 특징에서의 단어 순위를 의미한다. H의 각 열은 원래 문서를 나타내며, 각 셀 값은 특징에 대한 문서의 순위를 나타낸다. 따라서, W와 H의 곱은 입력 행렬 V와 동일한 형태를 가지며, V에 대한 합리적인 근사치를 제공한다.
결과적으로, NMF는 각 문서를 작은 숨겨진 특징 집합으로 구성된 것으로 간주하여 이러한 특징들을 생성하고, 이를 통해 문서 군집화 등 다양한 분석을 수행할 수 있도록 돕는다.
4. 종류
널리 쓰이는 두 가지 방법으로는 승과 리(Lee)가 연구한 최소 제곱 오차를 이용한 방법과 양수 행렬에 대한 쿨백-라이블러 발산을 이용한 방법이 있다. 이 두 방법은 서로 다른 알고리즘으로 취급된다.
이 외에도 총 표준 변화를 이용한 방법이 있으며, L1 정칙화가 최소 제곱 오차에 함께 사용되는 경우 희소 코딩과 유사한 형태를 띠어 '음수가 아닌 성긴 코딩'이라고도 불린다.[1]
4. 1. 근사적인 비음수 행렬 분해
일반적으로 비음수 행렬 분해(NMF)는 W의 열 개수와 H의 행 개수를 WH가 V의 근사값이 되도록 정한다. 기존 행렬 V와 분해된 비음수 행렬 W와 H의 곱과의 차이를 나타내는 오차 행렬 U를 포함하여 V = WH + U로 표현할 수 있다. U의 원소는 양수나 음수가 될 수 있다.[1]
W와 H는 V보다 크기가 작기 때문에 저장하거나 다루기에 용이하다.[1] 또한 V를 원래 정보보다 상대적으로 적은 정보로 표현하여 분해한 행렬 하나가 전체 정보의 대략적인 정보를 제시할 수 있다.[1]
4. 2. 볼록 비음수 행렬 분해
기존 비음수 행렬 분해에서는 W는 어떤 행렬도 될 수 있지만, 볼록 비음수 행렬 분해에서는 W를 기존 입력 벡터들의 볼록 결합으로 제한하기 때문에 W에 포함된 정보의 질이 크게 향상된다.[13] 또한, 결과 행렬 H가 더 직교화되는 효과가 생긴다.
4. 3. 음수가 아닌 랭크 분해 (Non-negative rank factorization, NRF)
V의 음수가 아닌 랭크가 V의 랭크와 같다면 V=WH를 음수가 아닌 랭크 분해라고 한다. 음수가 아닌 랭크 분해를 찾는 것은 NP-난해이다.[14][15][16]
4. 4. 여러 가지 비용 함수와 정형화 기법
일반적으로 W의 열 개수와 H의 행 개수는 WH=V가 되도록 결정된다. 기존 행렬 V와 분해한 비음수 행렬 W와 H의 곱과의 차이를 오차 U라고 이야기한다. V=WH+U에서 U의 원소들은 양수나 음수가 될 수 있다.
어떤 비용 함수를 사용하느냐, 어떤 정형화 기법을 사용하느냐에 따라 분해의 종류가 나뉜다. 널리 쓰이는 두 가지 분해 방법에는 승과 리(Lee)가 연구한 최소 제곱 오차와 양수 행렬에 대한 쿨백-라이블러 발산 방법을 이용한 것이 있다. 두 방법은 다른 알고리즘으로 취급된다.
가장 보편적인 최소 제곱 오차를 이용한 분해가 아래에 서술되어 있다. 다른 분해 방법으로는 총 표준 변화를 이용한 방법이 있다. L1 정칙화가 최소 제곱 오차에 같이 사용되었을 때, 희소 코딩과 형태가 유사하여 '''비음수 희소 코딩'''이라고도 부른다.[20][21] 그러나 여전히 NMF로 지칭될 수도 있다.[22]
4. 5. 온라인 NMF
비음수 행렬 분해(NMF)는 입력 데이터를 한 번에 처리하는 특징이 있어, 저장 용량이 크거나 스트리밍 데이터에는 적용하기 어렵다. 사용자나 입력 항목이 많거나, 새로운 정보가 계속 추가되어 계산을 새로 해야 하는 경우에는 협업 필터링을 사용할 수 있다. 이때 비용 함수는 같거나 다를 수 있지만, 알고리즘은 달라져야 한다.[1]
표준 NMF 알고리즘은 모든 데이터를 함께 분석하므로, 전체 행렬을 처음부터 사용할 수 있어야 한다. 하지만 데이터가 메모리에 비해 너무 크거나 스트리밍 방식으로 제공되는 경우, 이는 적합하지 않다. 추천 시스템에서 협업 필터링을 예로 들 수 있는데, 추천할 사용자와 항목이 많고, 새로운 사용자나 항목이 추가될 때마다 전체를 다시 계산하는 것은 비효율적이다. 따라서 이러한 경우, 최적화 비용 함수는 표준 NMF와 같거나 다를 수 있지만, 알고리즘은 상당히 달라야 한다.[1]
4. 6. 컨볼루션 NMF
만약 '''V'''의 열이 시간 신호, 이미지 또는 비디오와 같이 공간적 또는 시간적 차원을 따라 샘플링된 데이터를 나타내는 경우, 이러한 차원을 따라 이동에 대해 등변하는 특징은 컨볼루션 NMF를 통해 학습될 수 있다. 이 경우, '''W'''는 희소하며, '''V'''의 시공간 차원을 따라 이동 전반에 걸쳐 공유되는 국소적인 0이 아닌 가중치 윈도우를 가진 열을 가지며, 이는 컨볼루션 커널을 나타낸다. '''H'''의 시공간 풀링을 통해 반복적으로 컨볼루션 NMF에 대한 입력으로 결과 표현을 사용함으로써, 깊은 특징 계층을 학습할 수 있다.[25]
5. 알고리즘
승의 곱셈 업데이트 규칙[11]은 구현이 간단하여 널리 사용되는 방법이다. 이 알고리즘은 다음과 같다.
:
:그리고
:
업데이트는 행렬 곱셈이 아닌 요소별 기준으로 수행된다. 와 에 대한 곱셈 인자, 즉 및 항은 일 때 1로 구성된 행렬이다.
최근에는 다른 알고리즘도 개발되었다. 일부는 교대로 비음수 최소 자승법을 기반으로 한다.[26] 각 단계에서 먼저 를 고정하고 비음수 최소 자승법 솔버로 를 찾은 다음, 를 고정하고 유사하게 를 찾는다. 와 를 푸는 절차는 같거나[26] 다를 수 있으며, 일부 NMF 변형은 와 중 하나를 정규화한다.[20] 구체적인 접근 방식에는 투영된 경사 하강법,[26][27] 활성 집합 방법,[3][28] 최적 경사 방법,[29] 블록 주 피벗 방법[30] 등이 있다.[31]
현재 알고리즘은 비용 함수의 전역 최솟값이 아닌 지역 최솟값만 찾는 것을 보장하므로 최적이 아니다. 이 문제는 NP-완전 문제로 알려진 k-평균 클러스터링 문제를 일반화하는 것으로 나타났으므로, 가까운 시일 내에 입증 가능한 최적 알고리즘은 나오기 어려울 것이다.[32] 그러나 다른 많은 데이터 마이닝 응용 프로그램과 마찬가지로 지역 최솟값도 유용할 수 있다.
최적화 단계 외에 초기화도 NMF에 큰 영향을 미친다. 와 에 대해 선택된 초기 값은 수렴 속도뿐만 아니라 수렴 시 전체 오류에도 영향을 줄 수 있다. 초기화에는 완전한 임의화, SVD, k-평균 클러스터링, 그리고 이를 기반으로 하는 더 진보된 전략 등이 있다.[33]
5. 1. 비용 함수
비음수 행렬 분해(NMF)에서는 최소 제곱 오차, 발산값(Divergence) 등 다양한 비용 함수를 사용한다. 널리 쓰이는 두 가지 분해 방법은 Lee와 Seung가 연구한 최소 제곱 오차와 양수 행렬에 대한 쿨백-라이블러 발산(Kullback–Leibler divergence) 방법을 이용한 것이다.[18] 두 방법은 다른 알고리즘으로 취급된다.
비용 함수에는 크게 두 가지가 있다.
첫 번째 비용함수는 최소 제곱 오차로 다음과 같이 표현할 수 있다.
:
0을 하한값으로 하며 A=B일 때 하한값을 취하게 된다.
두 번째 비용함수는 B로부터 A의 발산값으로, 다음과 같이 표현할 수 있다.
:
이들 비용함수의 함수값을 최소화하는 방식을 통해, 에 근사하는 를 구한다.
제곱 오차 버전의 NMF에서 인수분해 문제는 다음과 같이 나타낼 수 있다.[18]
행렬 가 주어졌을 때, 다음 함수를 최소화하는 비음수 행렬 W와 H를 찾는다.
:
이미지에 대한 또 다른 유형의 NMF는 전체 변동 노름을 기반으로 한다.[19]
L1 정규화(Lasso)가 평균 제곱 오차 비용 함수를 사용하는 NMF에 추가되면, 결과적인 문제는 희소 코딩 문제와 유사하여 '''비음수 희소 코딩'''이라고 할 수 있다.[20][21] 그러나 여전히 NMF로 지칭될 수도 있다.[22]
5. 2. 최신화 규칙
비음수 행렬 분해는 사용하는 비용 함수에 따라 다른 최신화 규칙을 적용하여 W와 H 행렬을 업데이트한다. 최소 제곱 오차와 쿨백-라이블러 발산을 이용한 두 가지 주요 분해 방법이 존재한다.
정리 1 (최소 제곱 오차): 아래 최신화 규칙을 따르면 최소 제곱 오차 는 비증가함수이다.
: ←
: ←
최소 제곱 오차가 변하지 않으면 W와 H는 임계점에 도달하며, 역도 성립한다.
정리 2 (쿨백-라이블러 발산): 아래 최신화 규칙을 따르면 B로부터 A의 발산값 은 비증가함수이다.
: ←
: ←
발산값이 변하지 않으면 W와 H는 임계점에 도달하며, 역도 성립한다.
이러한 최신화 규칙은 반복적으로 적용되어 비용 함수의 함수값을 감소시키며, 수렴 조건이 만족될 때까지 W와 H를 업데이트한다.
5. 3. 수렴 보장성
최신화 규칙을 반복해서 시행하면, 비용 함수의 함수값을 수렴 조건이 만족할 때까지 감소시킬 수 있고, 이를 통해 분해된 행렬 와 를 얻을 수 있다. 이때 수렴은 항상 보장된다.[18]
[정의]
: 모든 h에 대해, 를 만족하는 를 의 보조 함수라고 한다.
[보조 정리1]
: G가 보조 함수일 때, 함수 F는 비증가함수이다. 즉,
[보조 정리2]
: 행렬 가 를 만족하는 대각 행렬일 때,
:▽
:을 만족하는 함수 는 의 보조함수이다.
[보조 정리3]
:
: 일 때,
:는 의 보조함수이다.
보조정리1의 를 보조정리2의 로 바꾸면 아래와 같은 최신화 규칙을 얻는다.
:▽
보조정리2의 가 보조함수이므로, 보조정리1에 의해 함수 F는 비증가함수이다.
방정식을 풀면,
즉, H에 대한 최신화 규칙을 유도한 것이다.
보조정리1과 보조정리2의 W와 H의 위치를 바꿔주면 W에 대한 최신화 규칙 역시 쉽게 유도할 수 있다.
6. 성질
비음수 행렬 분해(NMF)는 계량분석화학에서 자기 모델링 그래프 분해라는 이름으로 오랫동안 사용되었으며, 1990년대 중반 핀란드 연구자들에 의해 양수 행렬 분해라는 이름으로 연구되었다. 이후 리와 승(Lee and Seung)이 이 분해의 성질과 두 가지 간단한 분해 알고리즘을 소개하면서 널리 알려졌다.[34]
일반적으로 NMF는 W의 열 개수와 H의 행 개수가 WH=V가 되도록 결정된다. 기존 행렬 V와 분해된 비음수 행렬 W와 H의 곱과의 차이를 오차 U라고 하며, U의 원소는 양수나 음수가 될 수 있다. W와 H의 크기가 V보다 작기 때문에 저장 및 처리가 용이하며, V를 원래 정보보다 적은 정보로 표현하여 분해된 행렬 하나가 전체 정보의 대략적인 정보를 제공할 수 있다.
V의 음수가 아닌 랭크가 V의 랭크와 같다면 V=WH를 음수가 아닌 랭크 분해라고 하며, 이를 찾는 것은 NP-난해이다.
어떤 비용 함수나 정형화 기법을 사용하느냐에 따라 분해의 종류가 달라진다. 널리 쓰이는 방법으로는 리와 승이 연구한 최소 제곱 오차와 양수 행렬에 대한 쿨백-라이블러 발산을 이용한 방법이 있다. L1 정칙화가 최소 제곱 오차에 함께 사용될 경우, 이는 성긴 코딩과 유사하여 '음수가 아닌 성긴 코딩'이라고도 불린다.
NMF는 일반적으로 근사를 통해 이루어지지만, 다음과 같은 추가적인 조건이 만족되면 정확한 행렬 분해를 얻을 수 있다.[34][35][36]
- 행렬 V가 자신의 계수와 같은 계수를 가진 단항 부분 행렬을 가지고 있을 때
- 행렬 V가 대칭성을 가지고 있으며 자신의 계수와 같은 계수를 가진 대각 부분 행렬을 가지고 있을 때
- 행렬 W가 분리 조건을 만족할 때
6. 1. 정확한 비음수 행렬 분해
에 추가적인 제약 조건이 적용될 때 비음수 행렬 분해의 변형에 대한 정확한 해를 다항 시간 내에 구할 수 있다. 1981년 Campbell과 Poole은 가 자신의 랭크와 같은 랭크의 단항 부분 행렬을 포함하는 경우 비음수 랭크 분해를 푸는 다항 시간 알고리즘을 제시했다.[34] Kalofolias와 Gallopoulos (2012)[35]는 가 대칭이고 랭크 r의 대각 주 부분 행렬을 포함하는 이 문제의 대칭 대응물을 풀었다. 그들의 알고리즘은 밀집된 경우 O(rm2) 시간에 실행된다. Arora, Ge, Halpern, Mimno, Moitra, Sontag, Wu, & Zhu (2013)는 요인 W 중 하나가 분리 가능성 조건을 만족하는 경우에 작동하는 정확한 NMF에 대한 다항 시간 알고리즘을 제공한다.[36]6. 2. 유일성 유무 판단
비음수 행렬 분해(NMF)는 유일성을 가지지 않는다. 즉, 하나의 행렬을 여러 가지 방식으로 분해할 수 있다.예를 들어, 어떤 행렬과 그 역행렬을 사용하여 두 분해 행렬을 변환할 수 있다.[48]
:
만약 새로운 행렬 과 가 음수항을 가지고 있지 않다면, 또 다른 행렬 분해를 구할 수 있다.
와 의 비음수는 적어도 가 비음수 단항 행렬인 경우에 적용된다. 이 간단한 경우에는 스케일링 및 순열에 해당한다.
NMF의 비고유성에 대한 더 많은 제어는 희소성 제약 조건을 통해 얻을 수 있다.[49]
6. 3. 군집 성질
비음수 행렬 분해(NMF)는 입력 데이터 행렬 의 행들을 군집화하는 성질을 가진다.[40]구체적으로, 를 로 근사하는 것은 프로베니우스 노름을 사용하여 오차 함수 ()를 최소화하는 와 를 찾는 방식으로 이루어진다.
만약 에 직교 제약 조건, 즉 를 추가하면, 이 최소화 과정은 K-평균 클러스터링의 최소화와 수학적으로 동일하다.[40]
또한, 계산된 는 군집 소속 정보를 제공한다. 즉, 모든 ''i'' ≠ ''k''에 대해 이면, 입력 데이터 가 번째 군집에 속한다는 것을 의미한다. 계산된 는 군집 중심점을 제공하는데, 번째 열은 번째 군집의 중심점을 나타낸다. 이러한 중심점 표현은 볼록 NMF를 통해 크게 향상될 수 있다.
직교 제약 조건 ()이 명시적으로 부과되지 않아도, 직교성은 어느 정도 유지되며 군집화 성질 또한 유지된다.
쿨백-라이블러 발산을 오차 함수로 사용하면, NMF는 널리 사용되는 문서 군집화 방법인 확률적 잠재 의미 분석(PLSA)과 동일하다.[12]
7. 다른 학습기법과의 관계
비음수 행렬 분해(NMF)는 벡터 정량화, 주성분 분석(PCA), 다항 주성분 분석, 확률적 잠재 의미 분석(PLSA), K-평균 알고리즘, 베이즈 네트워크 등 다양한 학습 기법과 관련이 있다.
- 벡터 정량화 및 주성분 분석(PCA)과의 비교: "객체의 부분 학습: 비음수 행렬 분해"에서 리와 승은 NMF를 이용해 이미지의 부분 기반 분해를 제안했다. 이들은 NMF를 벡터 정량화 및 PCA와 비교했는데, 세 기법 모두 분해를 기반으로 하지만 서로 다른 제약 조건으로 인해 다른 결과를 생성한다는 것을 보여주었다.[37]
- 다항 주성분 분석 및 확률적 잠재 의미 분석(PLSA)과의 관계: 특정 조건에서 NMF는 더 일반적인 확률 모델인 다항 주성분 분석 기법과 동일시될 수 있다. 특히, 쿨백-라이블러 발산을 최소화하면 NMF는 확률적 잠재 의미 분석(PLSA)과 동일해진다.[38][39] PLSA는 텍스트 데이터를 분석하고 군집화하는 데 널리 사용되며, 잠재 클래스 모델과도 관련이 있다.
- K-평균 군집화와의 관계: 최소 제곱 오차를 사용하는 NMF는 K-평균 군집화의 완화된 형태와 동일하다. 행렬 인자 W는 군집 중심을 포함하고, H는 군집 멤버십 지표를 포함한다.[40][41] 이는 데이터 군집화에 NMF를 사용하는 것에 대한 이론적 기반을 제공한다. 그러나 K-평균 알고리즘은 비음수 제약 조건을 가지지 않는다는 차이점이 있다.
- 베이즈 네트워크와의 관계: NMF는 관측된 확률 변수와 숨겨진 확률 변수의 한 층씩, 2층 유향 그래프 모델로 볼 수 있다.[42]
8. 응용 사례
비음수 행렬 분해(NMF)는 다양한 분야에 응용된다.
- 텍스트 마이닝: 문서-용어 행렬을 분해하여 문서의 내용을 기반으로 한 정보 군집을 파악한다.
- 스펙트럼 데이터 분석: 우주 물체와 파편을 구분하거나, 천문학에서 천체 물리학적 신호를 분석하고 천문 관측을 처리하는 데 사용된다.
- 생물 정보 공학: 유전자 발현 데이터를 그룹화하고, 암 돌연변이 패턴을 식별하는 데 활용된다.
- 인터넷 거리 예측: N개의 호스트 간 거리를 담은 행렬을 NMF로 분해하여 인터넷 상의 거리를 예측한다. 피닉스 네트워크 좌표 시스템은 가중치를 도입하여 예측 정확도를 높였다.[66]
- 통계학: NMF는 누락된 데이터를 0으로 처리하지 않고 비용 함수를 최소화하여 통계학에서 데이터 대입을 위한 수학적으로 증명된 방법으로 사용된다.[2]
- 음성 잡음 제거: 비정적 잡음 환경에서 음성 잡음 제거를 위해 NMF를 사용한다. 깨끗한 음성과 비정적 잡음의 희소 표현 가능성 차이를 이용한다.
- 집단 유전학: 개별 혼합 계수를 추정하고, 유전자 클러스터를 탐지하며, 유전자 혼합을 평가하는 데 사용된다.
- 핵의학 영상: SPECT 및 PET 동적 의료 영상의 이미지 시퀀스를 분석하는 데 사용되며, 희소성 제약 조건을 통해 NMF의 비유일성 문제를 해결한다.[78]
8. 1. 텍스트 마이닝
비음수 행렬 분해는 텍스트 마이닝에 응용될 수 있다. 텍스트 마이닝에서 문서-용어 행렬은 문서에서 용어들의 가중치 정보를 담고 있는데, 이 행렬은 비음수 행렬 분해를 이용하여 용어-요소 행렬과 요소-문서 행렬로 분해할 수 있다. 이 요소들은 문서의 내용으로부터 도출되고, 요소-문서 행렬은 관련 문서들의 정보 군집에 대한 정보를 담는다.구체적인 응용 사례로, PubMed의 과학 초록의 작은 부분집합에 계층적 비음수 행렬 분해가 사용되었다.[59] 또 다른 연구 그룹은 Enron 이메일 데이터 세트의 일부(65,033개의 메시지와 91,133개의 용어)를 50개의 클러스터로 묶었다.[60][61] 비음수 행렬 분해는 인용 데이터에도 적용되었는데, 한 예로 영어 위키백과 기사와 과학 저널을 영어 위키백과 내의 외부 과학 인용을 기반으로 묶기도 했다.[62]
Arora, Ge, Halpern, Mimno, Moitra, Sontag, Wu, & Zhu (2013)는 비음수 행렬 분해를 사용하여 토픽 모델을 학습하는 다항 시간 알고리즘을 제시했다. 이 알고리즘은 토픽 행렬이 이러한 설정에서 종종 성립하는 분리 가능성 조건을 충족한다고 가정한다.[36]
Hassani, Iranmanesh 및 Mansouri (2019)는 비음수 행렬 분해를 사용하여 작동하는 용어-문서 행렬에 대한 특징 집약 방법을 제안했다. 이 알고리즘은 용어-문서 행렬을 텍스트 클러스터링에 더 적합한 더 작은 행렬로 축소한다.[63]
8. 2. 스펙트럼 데이터 분석
비음수 행렬 분해(NMF)는 스펙트럼 데이터 분석에 응용된다. 한 가지 예시로, 우주 상의 물체와 파편을 구분하는 데 사용되었다.[64]천문학에서 NMF는 천체 물리학적 신호가 비음수라는 점에서 차원 축소에 유망한 방법이다. NMF는 천문 객체의 일반적인 특성을 연구하고 천문 관측을 사후 처리하는 방법으로 분광 관측[50][51]과 직접 영상 관측[52]에 적용되어 왔다. Blanton & Roweis (2007)[51]의 분광 관측 발전은 천문 관측의 불확실성을 고려했으며, 이후 Zhu (2016)[53]에 의해 개선되어 누락된 데이터도 고려하고 병렬 컴퓨팅을 가능하게 했다. 그들의 방법은 Ren et al. (2018)에 의해 외계 행성 탐지 방법 중 하나로, 특히 원반의 직접 영상 촬영 분야에 적용되었다.
Ren et al. (2018)는 NMF 구성 요소를 순차적으로(즉, 하나씩) 구성할 때 NMF 구성 요소의 안정성을 증명할 수 있었으며, 이를 통해 NMF 모델링 과정의 선형성을 확보했다. 이 선형성은 별빛과 외계 행성 및 원반에서 산란된 빛을 분리하는 데 사용된다.
직접 영상 촬영에서 주변의 밝은 별빛에서 희미한 외계 행성 및 원반을 드러내기 위해 105에서 1010까지의 전형적인 대비를 갖는 다양한 통계적 방법이 채택되었지만,[54][55][56] 외계 행성이나 원반에서 오는 빛은 일반적으로 과적합되어 실제 플럭스를 복구하기 위해 순방향 모델링을 채택해야 한다.[57][58] 순방향 모델링은 현재 점 광원에 최적화되어 있지만,[58] 특히 원반과 같이 불규칙한 모양의 구조와 같은 확장된 광원에는 적합하지 않다. 이러한 상황에서 NMF는 비음수성과 NMF 모델링 계수의 희소성 측면에서 과적합이 덜한 우수한 방법이므로, 생성된 모델에 대한 계산 집약적인 데이터 재축소 대신 몇 개의 스케일링 팩터로 순방향 모델링을 수행할 수 있다.
8. 3. 생물 정보 공학
비음수 행렬 분해(NMF)는 생물정보학에서 유전자 발현과 DNA 메틸화 데이터를 그룹화하고, 그룹화된 데이터를 가장 잘 나타내는 유전자를 찾는 데 사용된다.[21][69][70][71] 암 돌연변이 분석에서는 여러 암에서 발생하며 뚜렷한 원인을 가질 가능성이 있는 일반적인 돌연변이 패턴을 식별하는 데 사용되었다.[72] NMF 기술은 세포 유형, 질병 아형, 개체군 계층화, 조직 구성 및 종양 클론성과 같은 변동의 원인을 식별할 수 있다.[73]NMF의 한 변형인 비음수 행렬 삼중 인수분해(NMTF)[74]는 약물 재창출 작업을 위해 승인된 약물에 대한 새로운 단백질 표적과 치료 적응증을 예측하고,[75] 시너지 항암 약물 쌍을 추론하는 데 사용되었다.[76]
8. 4. 인터넷 거리 예측
NMF는 확장 가능한 인터넷 거리(왕복 시간) 예측에 적용된다. N개의 호스트를 가진 네트워크에서 NMF를 활용하면, O(N)번의 측정만으로 모든 N2개의 종단 간 링크 거리를 예측할 수 있다. 이러한 방법은 인터넷 거리 추정 서비스(Internet Distance Estimation Service, IDES)[65]에서 처음 소개되었다. 이후, 완전히 분산된 방식으로 피닉스 네트워크 좌표 시스템[66]이 제안되었다. 이는 가중치 개념을 도입하여 전반적인 예측 정확도를 향상시킨다.8. 5. 음성 잡음 제거
음성 잡음 제거는 오디오 신호 처리 분야에서 오랫동안 해결해야 할 문제로 남아있다. 잡음이 정적일 경우 잡음 제거를 위한 많은 알고리즘이 존재한다. 예를 들어, 위너 필터는 가산 가우시안 잡음에 적합하다. 그러나 잡음이 비정적일 경우, 고전적인 잡음 제거 알고리즘은 비정적 잡음의 통계적 정보를 추정하기 어렵기 때문에 일반적으로 성능이 좋지 않다. Schmidt 외[67]는 고전적인 통계적 접근 방식과는 완전히 다른 방식으로 비정적 잡음 환경에서 음성 잡음 제거를 수행하기 위해 비음수 행렬 분해(NMF)를 사용했다. 핵심 아이디어는 깨끗한 음성 신호는 음성 사전으로 희소하게 표현될 수 있지만, 비정적 잡음은 그렇지 않다는 것이다. 마찬가지로, 비정적 잡음은 잡음 사전으로 희소하게 표현될 수 있지만 음성은 그렇지 않다.NMF 잡음 제거 알고리즘은 다음과 같다. 음성 사전과 잡음 사전, 두 개의 사전이 오프라인으로 훈련되어야 한다. 잡음이 섞인 음성이 주어지면, 먼저 단시간 푸리에 변환의 크기를 계산한다. 둘째, NMF를 통해 두 부분으로 분리하는데, 하나는 음성 사전으로 희소하게 표현될 수 있고, 다른 부분은 잡음 사전으로 희소하게 표현될 수 있다. 셋째, 음성 사전으로 표현되는 부분이 추정된 깨끗한 음성이 된다.
8. 6. 집단 유전학
집단 유전학에서 개별 혼합 계수를 추정하고, 집단 표본에서 개체의 유전자 클러스터를 탐지하거나, 표본 추출된 게놈의 유전자 혼합을 평가하는 데 사용된다.[68] 인간 유전자 클러스터링에서 비음수 행렬 분해(NMF) 알고리즘은 컴퓨터 프로그램 STRUCTURE와 유사한 추정치를 제공하지만, 이 알고리즘은 계산 효율성이 더 높고 대규모 집단 유전체 데이터 집합의 분석을 허용한다.[68]8. 7. 핵의학 영상
비음수 행렬 분해는 이 분야에서 요인 분석이라고도 하며, 1980년대부터 SPECT 및 PET 동적 의료 영상의 이미지 시퀀스를 분석하는 데 사용되어 왔다.[77] NMF의 비유일성은 희소성 제약 조건을 사용하여 해결되었다.[78]9. 최근 연구 동향
비음수 행렬 분해(NMF)는 다양한 분야에서 연구가 진행되고 있으며, 특히 다음 영역을 포함한다.
- 알고리즘: 인수의 전역 최소값 및 인수 초기화를 검색한다.[81]
- 확장성: 웹 규모 데이터 마이닝에서 흔히 사용되는 백만x십억 행렬을 분해하는 방법으로, 분산 비음수 행렬 분해(DNMF),[82] 확장 가능한 비음수 행렬 분해(ScalableNMF),[83] 분산 확률적 특이값 분해 등이 연구되고 있다.[84]
- 온라인: 새로운 데이터가 들어올 때 처음부터 다시 계산하지 않고 분해를 업데이트하는 방법(예: 온라인 CNSC)[85]이 연구되고 있다.
- 집단(공동) 분해: 다중 뷰 학습을 위해 여러 상호 관련된 행렬을 분해하는 방법(예: 다중 뷰 클러스터링, CoNMF[86] 및 MultiNMF[87])이 연구되고 있다.
- 코헨과 로스블럼(Cohen and Rothblum)의 1993년 문제: 합리적인 행렬이 항상 최소 내부 차원을 가지며, 인수 또한 합리적인 비음수 행렬 분해(NMF)를 갖는지에 대한 문제로, 최근 이 문제에 대한 부정적인 답변이 나왔다.[88]
이러한 연구들은 웹 데이터 마이닝 분야와 같이 굉장히 큰 데이터가 빈번하게 쓰이는 곳에서 분산 기법을 도입한 분산 비음수 행렬 분해에 대한 연구로 이어지고 있다. 또한, 데이터가 들어올 때마다 분해를 업데이트해 줄 수 있는 연구도 진행 중이다.
10. 관련 라이브러리
리눅스에서 이용할 수 있다.[1] 파이썬은 자체적으로 nimfa라는 NMF 라이브러리를 가지고 있다.[2] 자바에서 기계 학습을 위한 라이브러리를 제공한다.[3] 매트랩에는 비음수 행렬 분해를 수행하는 함수가 있다.[4]
참조
[1]
간행물
Sparse nonnegative matrix approximation: new formulations and algorithms
https://is.tuebingen[...]
Max Planck Institute for Biological Cybernetics
2010-09-13
[2]
논문
Using Data Imputation for Signal Separation in High Contrast Imaging
2020
[3]
간행물
Large-scale matrix factorization with distributed stochastic gradient descent
2011
[4]
간행물
TopicMF: Simultaneously Exploiting Ratings and Reviews for Recommendation
http://www.aaai.org/[...]
2014
[5]
논문
Non-Negative Matrix Factorization for Learning Alignment-Specific Models of Protein Evolution
2011
[6]
논문
Self modeling curve resolution
1971
[7]
Q인용
[8]
Q인용
[9]
논문
Source identification of bulk wet deposition in Finland by positive matrix factorization
1995
[10]
논문
Learning the parts of objects by non-negative matrix factorization
1999
[11]
간행물
Algorithms for Non-negative Matrix Factorization
http://papers.nips.c[...]
MIT Press
2001
[12]
논문
On the equivalence between non-negative matrix factorization and probabilistic latent semantic indexing
http://users.cis.fiu[...]
2008
[13]
논문
Convex and semi-nonnegative matrix factorizations
2010
[14]
논문
Inverses of nonnegative matrices
1974
[15]
서적
Nonnegative matrices in the Mathematical Sciences
SIAM
1994
[16]
논문
Problem 73-14, Rank factorization of nonnegative matrices
1974
[17]
논문
On the complexity of nonnegative matrix factorization
2009
[18]
간행물
Advances in Neural Information Processing Systems 18 [Neural Information Processing Systems, NIPS 2005, December 5-8, 2005, Vancouver, British Columbia, Canada]
[19]
논문
Total variation norm-based nonnegative matrix factorization for identifying discriminant representation of image patterns
2008
[20]
간행물
Non-negative sparse coding
2002
[21]
논문
A framework for regularized non-negative matrix factorization, with application to the analysis of gene expression data
2012
[22]
간행물
Fast coordinate descent methods with variable selection for non-negative matrix factorization
http://www.cs.utexas[...]
2011
[23]
서적
Online Discussion Participation Prediction Using Non-negative Matrix Factorization
http://dl.acm.org/ci[...]
IEEE Computer Society
2007-11-02
[24]
논문
Online Nonnegative Matrix Factorization With Robust Stochastic Approximation
2012-07
[25]
서적
Proceedings of the International Joint Conference on Neural Networks, 2003
IEEE
2003
[26]
논문
Projected Gradient Methods for Nonnegative Matrix Factorization
http://www.csie.ntu.[...]
2007
[27]
논문
On the Convergence of Multiplicative Update Algorithms for Nonnegative Matrix Factorization
2007
[28]
논문
Nonnegative Matrix Factorization Based on Alternating Nonnegativity Constrained Least Squares and Active Set Method
http://www.cc.gatech[...]
2008
[29]
논문
NeNMF: An Optimal Gradient Method for Nonnegative Matrix Factorization
2012-06
[30]
논문
Fast Nonnegative Matrix Factorization: An Active-set-like Method and Comparisons
[31]
논문
Algorithms for nonnegative matrix and tensor factorizations: A unified view based on block coordinate descent framework
https://smallk.githu[...]
2013
[32]
서적
Proc. SIAM Data Mining Conf
2005
[33]
논문
Initialization for Nonnegative Matrix Factorization: a Comprehensive Review
2022-11
[34]
논문
Computing nonnegative rank factorizations
1981
[35]
논문
Computing symmetric nonnegative rank factorizations
https://infoscience.[...]
2012
[36]
conference
A practical algorithm for topic modeling with provable guarantees
http://jmlr.csail.mi[...]
2013
[37]
journal
Learning the parts of objects by non-negative matrix factorization
http://www.columbia.[...]
1999
[38]
conference
Variational Extensions to EM and Multinomial PCA
http://cosco.hiit.fi[...]
2002
[39]
conference
Relation between PLSA and NMF and Implications
http://eprints.pasca[...]
2007-01-29
[40]
문서
"On the Equivalence of Nonnegative Matrix Factorization and Spectral Clustering"
http://ranger.uta.ed[...]
2005-05
[41]
conference
"A Unifying Approach to Hard and Probabilistic Clustering"
http://www.cs.huji.a[...]
2005-10
[42]
conference
Exponential Family Harmoniums with an Application to Information Retrieval
http://papers.nips.c[...]
2004
[43]
journal
The Multilinear Engine: A Table-Driven, Least Squares Program for Solving Multilinear Problems, including the n-Way Parallel Factor Analysis Model
1999
[44]
journal
Positive Tensor Factorization
2001
[45]
conference
Fast Nonnegative Tensor Factorization with an Active-set-like Method
http://www.cc.gatech[...]
Springer
2012
[46]
conference
Generalized Coupled Tensor Factorization
http://books.nips.cc[...]
2011
[47]
conference
Efficient Multiplicative updates for Support Vector Machines
2009
[48]
conference
Document clustering based on non-negative matrix factorization
http://portal.acm.or[...]
Association for Computing Machinery
2003
[49]
book
2004 IEEE International Joint Conference on Neural Networks (IEEE Cat. No.04CH37541)
2004
[50]
journal
Analysis of the emission of very small dust particles from Spitzer spectro-imagery data using blind signal separation methods
https://www.aanda.or[...]
2007-07-01
[51]
journal
K-corrections and filter transformations in the ultraviolet, optical, and near infrared
2007
[52]
journal
Non-negative Matrix Factorization: Robust Extraction of Extended Structures
2018
[53]
Arxiv
Nonnegative Matrix Factorization (NMF) with Heteroscedastic Uncertainties and Missing data
2016-12-19
[54]
journal
HST/NICMOS Detection of HR 8799 b in 1998
2009
[55]
journal
PYNPOINT: an image processing package for finding exoplanets
2012
[56]
journal
Detection and Characterization of Exoplanets and Disks Using Projections on Karhunen-Loève Eigenimages
2012
[57]
journal
Improving signal-to-noise in the direct imaging of exoplanets and circumstellar disks with MLOCI
2015
[58]
journal
Detection and Characterization of Exoplanets using Projections on Karhunen Loeve Eigenimages: Forward Modeling
2016
[59]
journal
Mining the posterior cingulate: segregation between memory and pain components
http://orbit.dtu.dk/[...]
2005
[60]
웹사이트
Enron Email Dataset
https://www.cs.cmu.e[...]
2005-04-04
[61]
journal
Email Surveillance Using Non-negative Matrix Factorization
2005
[62]
conference
Clustering of scientific citations in Wikipedia
http://www2.imm.dtu.[...]
2008
[63]
Arxiv
Text Mining using Nonnegative Matrix Factorization and Latent Semantic Analysis
2019-11-12
[64]
journal
Algorithms and Applications for Approximate Nonnegative Matrix Factorization
2007-09-15
[65]
journal
IDES: An Internet Distance Estimation Service for Large Networks
2006
[66]
journal
Phoenix: A Weight-based Network Coordinate System Using Matrix Factorization
http://www.cs.duke.e[...]
[67]
문서
"Wind noise reduction using non-negative sparse coding"
http://orbit.dtu.dk/[...]
2007
[68]
journal
Fast and efficient estimation of individual ancestry coefficients
2014
[69]
journal
Nonnegative Matrix Factorization: An Analytical and Interpretive Tool in Computational Biology
2008
[70]
journal
Sparse non-negative matrix factorizations via alternating non-negativity-constrained least squares for microarray data analysis
2007
[71]
논문
DNA methylation profiling of medulloblastoma allows robust sub-classification and improved outcome prediction using formalin-fixed biopsies
2013
[72]
논문
Deciphering signatures of mutational processes operative in human cancer
2013-01-31
[73]
논문
Enter the Matrix: Factorization Uncovers Knowledge from Omics
2018-10-01
[74]
서적
Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining
2006
[75]
논문
Matrix factorization-based technique for drug repurposing predictions
2020
[76]
논문
Predicting drug synergism by means of non-negative matrix tri-factorization
2021
[77]
논문
Handling of dynamic sequences in nuclear medicine
1982
[78]
논문
Correction for ambiguous solutions in factor analysis using a penalized least squares objective
2002
[79]
논문
Clustering Initiated Factor Analysis (CIFA) Application for Tissue Classification in Dynamic Brain PET
2015
[80]
논문
Reconstruction of 4-D Dynamic SPECT Images From Inconsistent Projections Using a Spline Initialized FADS Algorithm (SIFADS)
https://escholarship[...]
2015
[81]
논문
SVD based initialization: A head start for nonnegative matrix factorization
2008
[82]
논문
Distributed Nonnegative Matrix Factorization for Web-Scale Dyadic Data Analysis on MapReduce
http://research.micr[...]
2010
[83]
논문
Scalable Nonnegative Matrix Factorization with Block-wise Updates
http://rio.ecs.umass[...]
2014
[84]
웹사이트
Apache Mahout
https://mahout.apach[...]
2019-12-14
[85]
논문
Online Non-Negative Convolutive Pattern Learning for Speech Signals
http://cslt.riit.tsi[...]
2013
[86]
논문
Comment-based Multi-View Clustering of Web 2.0 Items
http://www.comp.nus.[...]
2014
[87]
서적
Proceedings of the 2013 SIAM International Conference on Data Mining
http://jialu.cs.illi[...]
2013
[88]
간행물
Nonnegative Matrix Factorization Requires Irrationality
2016-05-22
[89]
저널 인용
Sparse nonnegative matrix approximation: new formulations and algorithms
ftp://ftp.kyb.tuebin[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com