맨위로가기

독립 성분 분석

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

독립 성분 분석(ICA)은 관측된 데이터를 통계적으로 독립적인 성분으로 분해하는 계산 방법이다. 1980년대에 처음 소개되었으며, 잡음 제거, 특징 추출, 블라인드 신호 분리 등 다양한 분야에 적용된다. ICA는 데이터의 독립성을 최대화하는 변환을 찾아내며, 상호 정보 최소화, 비가우시안성 최대화 등의 방법을 사용한다. 선형, 비선형 모델이 존재하며, 잡음의 유무에 따라 모델이 구분된다. ICA는 뇌파(EEG) 데이터 분석, 얼굴 인식, 금융 데이터 분석 등 다양한 분야에 응용되며, 한국 사회에서는 음성 인식, 의료 영상 처리, 보안 분야 등에서 그 중요성이 부각되고 있다. 바이너리 ICA는 바이너리 형태의 데이터를 분석하는 ICA의 변형이다.

더 읽어볼만한 페이지

  • 신호 추정 - 칼만 필터
    칼만 필터는 잡음이 있는 측정값들을 이용하여 선형 동적 시스템의 상태를 추정하는 재귀 필터로, 예측과 보정 단계를 반복하며 항법 시스템, 레이더 추적, 컴퓨터 비전 등 다양한 분야에 응용된다.
  • 신호 추정 - SAMV
    SAMV는 균일 선형 배열이 협대역 신호를 수신하는 상황에서 신호원 위치 추정 등에 사용되는 신호 처리 알고리즘으로, 2차 통계량 기반 파라미터 추정 방식을 사용하며 Gridless SAMV-SML, SAMV-0 등의 파생 알고리즘이 연구되고 MATLAB 오픈 소스 코드로 활용 가능하다.
  • 다변량 통계 - 비음수 행렬 분해
    비음수 행렬 분해(NMF)는 음수가 아닌 두 행렬의 곱으로 행렬을 분해하는 차원 축소 기법으로, 데이터의 잠재적 구조 파악, 해석 용이성, 객체 인식에 유용한 특징 추출 등의 장점으로 텍스트 마이닝, 스펙트럼 데이터 분석, 생물정보학 등 다양한 분야에서 활용된다.
  • 다변량 통계 - 마할라노비스 거리
    마할라노비스 거리는 확률 분포와 점 사이의 거리를 나타내는 척도로, 평균과 공분산 행렬을 사용하여 계산하며, 클러스터 분석, 통계적 분류, 이상치 탐지 등 다양한 분야에서 활용된다.
  • 차원 축소 - 특징 선택
    특징 선택은 머신러닝에서 모델 성능 향상과 해석력 증진을 위해 데이터에서 가장 관련성 높은 특징들의 부분 집합을 선택하는 과정으로, 통계적 방법에서 시작하여 필터 방법, 래퍼 방법, 임베디드 방법 등 다양한 알고리즘과 메타휴리스틱 알고리즘을 활용한다.
  • 차원 축소 - 자기조직화 지도
    자기조직화 지도(SOM)는 고차원 데이터를 저차원 공간으로 시각화하고 특징을 추출하기 위해 뇌의 자기 조직화 방식을 모방한 인공 신경망의 한 종류이다.
독립 성분 분석
개요
유형신호 처리 계산 방법
분야차원 축소
상세 정보
독립 성분 분석 데모독립 성분 분석: 데모
참고 문헌Hyvärinen, Aapo (2013). "Independent component analysis: recent advances". Philosophical Transactions: Mathematical, Physical and Engineering Sciences. 371 (1984): 20110534. ISSN 1364-503X. JSTOR 41739975. Bibcode:2012RSPTA.37110534H. doi:10.1098/rsta.2011.0534. PMID 23277597. PMC 3538438.

2. 역사적 배경

독립 성분 분석(ICA)의 개념은 1980년대 중반에 처음으로 그 틀이 잡혔다. 1984년 Jeanny Hérault와 Bernard Ans가 초기 연구를 통해 일반적인 틀을 소개했고,[18] 이후 1985년과 1986년에 Christian Jutten에 의해 더욱 발전되었다.[19][20][21] 1991년에는 Pierre Comon이 이를 개선하였으며,[22] 1994년에 발표된 그의 논문을 통해 ICA 개념이 학계에 널리 알려지게 되었다.[23]

ICA 연구의 중요한 전환점은 1995년에 마련되었다. Tony Bell과 테리 세이노스키는 정보 최대화(Infomax) 원리에 기반한 빠르고 효율적인 ICA 알고리즘을 개발했다.[24] 이 Infomax 원리는 1987년 Ralph Linsker에 의해 처음 소개된 개념으로, Bell과 Sejnowski의 알고리즘 개발은 ICA의 실용적인 활용 가능성을 크게 높이는 계기가 되었다. 최대 우도(Maximum Likelihood, ML) 추정 방식과 정보 최대화 방식 사이의 연관성도 연구되었다.[24] 1998년에는 Jean-François Cardoso가 최대 우도 접근법에 대한 포괄적인 해설을 발표하기도 했다.[25]

이후 ICA를 수행하기 위한 다양한 알고리즘들이 개발되었다. 그중 Hyvärinen과 Oja가 개발한 FastICA 알고리즘은 산업계를 포함하여 널리 사용되는 대표적인 알고리즘이다.[26] FastICA는 네겐트로피를 비용 함수로 사용하는데, 이는 이미 1994년 Pierre Comon이 제안했던 개념이다.[23] 다른 예로는 좀 더 일반적인 접근법을 사용하는 블라인드 소스 분리(Blind Source Separation, BSS) 연구가 있다. BSS는 ICA의 독립성 가정을 완화하여 서로 통계적으로 종속적인 신호를 분리하는 문제까지 다룬다. 1999년에는 Sepp Hochreiter와 위르겐 슈미트후버가 정규화 기법을 활용하여 비선형 ICA 또는 소스 분리를 수행하는 방법을 제시했으며,[27] 이 방법은 분리하려는 독립 소스의 개수를 미리 알 필요가 없다는 장점이 있다.

3. 수학적 정의

독립 성분 분석(ICA)은 관측된 다변량 신호를 통계적으로 독립적인 잠재 변수인 독립 성분(Independent Components)으로 분리하는 것을 목표로 수학적으로 정의된다. 이는 관측된 신호 벡터 \boldsymbol{x}가 독립 성분 벡터 \boldsymbol{s}와 혼합 과정(주로 선형 변환 행렬 \boldsymbol{A})을 통해 생성되었다는 가정(\boldsymbol{x} \approx \boldsymbol{A}\boldsymbol{s}) 하에, \boldsymbol{x}로부터 \boldsymbol{s}를 추정하는 문제로 볼 수 있다.[5][6]

이 목표를 달성하기 위해, ICA는 추정된 성분들의 통계적 독립성을 최대화하는 분리 변환(unmixing transformation) \boldsymbol{W}를 찾는다 (\boldsymbol{s} \approx \boldsymbol{W}\boldsymbol{x}). 성분 간의 독립성을 측정하는 척도로는 주로 비가우시안성(Non-Gaussianity) 측정이나 상호 정보량(Mutual Information) 최소화가 사용된다.[41] 중심 극한 정리에 따라, 독립적인 변수들의 합은 가우시안 분포에 가까워지는 경향이 있으므로, 비가우시안성을 측정하는 것은 독립성을 평가하는 효과적인 방법 중 하나이다.

ICA 모델은 신호 혼합 과정의 가정에 따라 크게 선형 ICA비선형 독립 성분 분석으로 나뉜다. 선형 ICA는 다시 잡음(noise)의 유무에 따라 잡음 없는 모델잡음 있는 모델로 세분화될 수 있다. 잡음 없는 모델은 잡음 있는 모델의 특수한 경우로 볼 수 있으며, 비선형 ICA는 이들과는 다른 접근 방식을 사용한다. 각 모델의 구체적인 수학적 정의와 가정은 하위 섹션에서 자세히 다룬다.

3. 1. 일반적인 정의

독립 성분 분석(ICA)은 다변량 신호를 통계적으로 독립적인 하위 성분 신호로 분해하는 계산 방법이다.

수학적으로, 관측된 데이터는 확률 변수 벡터 \boldsymbol{x}=(x_1,\ldots,x_m)^T로 표현되며, 분리하고자 하는 숨겨진 성분은 확률 변수 벡터 \boldsymbol{s}=(s_1,\ldots,s_n)^T로 표현된다. 독립 성분 분석의 과제는 관측된 데이터 \boldsymbol{x}에 적절한 선형 변환 행렬 \boldsymbol{W}를 적용하여, \boldsymbol{s} = \boldsymbol{W} \boldsymbol{x} 관계를 통해 얻어지는 벡터 \boldsymbol{s}의 성분들이 최대한 독립적이 되도록 하는 것이다. 이때 성분들의 독립성은 특정 독립성 함수 F(s_1,\ldots,s_n)를 통해 측정되며, 이 함수의 값을 최대화하는 변환 \boldsymbol{W}를 찾는 것이 목표이다.

3. 2. 생성 모델

독립 성분 분석(ICA)은 관측된 다변량 신호 \boldsymbol{x}가 통계적으로 독립적인 내부 성분(소스 신호) \boldsymbol{s}들로부터 어떻게 생성되었는지를 설명하는 모델에 기반한다. 이 생성 과정은 크게 선형 모델과 비선형 모델로 나눌 수 있다.

선형 ICA 모델은 관측 신호가 소스 신호들의 선형 결합으로 생성된다고 가정한다. 이 모델은 다시 잡음(noise)의 유무에 따라 두 가지로 구분된다.

  • 선형 잡음 없는 ICA: 가장 기본적인 모델로, 관측 신호 \boldsymbol{x}혼합 행렬 \boldsymbol{A}와 소스 신호 벡터 \boldsymbol{s}의 곱으로 표현된다. 즉, \boldsymbol{x}=\boldsymbol{A} \boldsymbol{s}로 가정한다. 이 모델은 잡음이 없는 이상적인 상황을 나타낸다.
  • 선형 잡음 있는 ICA: 보다 현실적인 상황을 반영하여, 선형 혼합 과정에 가우시안 잡음과 같은 잡음 항 n이 추가된다고 가정한다. 모델은 \boldsymbol{x}=\boldsymbol{A} \boldsymbol{s}+n 형태로 표현된다.


반면, 비선형 독립 성분 분석 모델은 소스 신호들이 단순히 선형적으로 결합되는 것이 아니라, 비선형 함수 f(\cdot|\theta)를 통해 혼합되어 관측 신호 \boldsymbol{x}가 생성된다고 가정한다. 잡음을 포함하는 경우, 모델은 \boldsymbol{x}=f(\boldsymbol{s}|\theta)+n 형태로 표현된다. 이는 신호 혼합 과정이 더 복잡한 경우를 다루기 위한 모델이다.

각 생성 모델에 대한 자세한 설명과 수학적 정의는 해당 하위 섹션에서 다룬다.

3. 2. 1. 선형 잡음 없는 ICA

300px


선형 독립 성분 분석(ICA)은 잡음(noise)이 없는 경우와 잡음이 있는 경우로 나눌 수 있다. 잡음이 없는 ICA는 잡음이 있는 ICA의 특별한 경우로 볼 수 있다.[5][6] 비선형 ICA는 이들과 다른 방식으로 다루어진다.

잡음 없는 선형 ICA 모델에서는 관측된 데이터를 랜덤 벡터 \boldsymbol{x}=(x_1,\ldots,x_m)^T로, 원본 독립 성분들을 랜덤 벡터 \boldsymbol{s}=(s_1,\ldots,s_n)^T로 표현한다. ICA의 목표 중 하나는 관측된 데이터 \boldsymbol{x}에 어떤 선형 변환 행렬 \boldsymbol{W}를 적용하여, 즉 \boldsymbol{s} = \boldsymbol{W} \boldsymbol{x}를 계산하여, 통계적으로 최대한 독립적인 성분 벡터 \boldsymbol{s}를 얻는 것이다.

이 모델에서 관측된 랜덤 벡터 \boldsymbol{x}의 각 성분 x_i는 알 수 없는 독립 성분 s_k (k=1,\ldots,n)들의 선형 결합으로 생성된다고 가정한다. 각 독립 성분 s_k는 혼합 가중치(mixing weight) a_{i,k}와 곱해져 더해진다. 이를 수식으로 나타내면 다음과 같다.

x_i = a_{i,1} s_1 + \cdots + a_{i,k} s_k + \cdots + a_{i,n} s_n = \sum_{k=1}^{n} a_{i,k} s_k

이 생성 모델은 벡터 형식으로도 표현할 수 있다. 관측된 랜덤 벡터 \boldsymbol{x}는 기저 벡터(basis vector) \boldsymbol{a}_k=(a_{1,k},\ldots,a_{m,k})^T들의 선형 결합으로 나타낼 수 있다.

\boldsymbol{x}=\sum_{k=1}^{n} s_k \boldsymbol{a}_k

여기서 기저 벡터 \boldsymbol{a}_k들은 혼합 행렬(mixing matrix) \boldsymbol{A}=(\boldsymbol{a}_1,\ldots,\boldsymbol{a}_n)의 열벡터를 구성한다. 따라서 전체 생성 과정은 행렬과 벡터의 곱으로 간결하게 표현할 수 있다.

\boldsymbol{x}=\boldsymbol{A} \boldsymbol{s}

여기서 \boldsymbol{s}=(s_1,\ldots,s_n)^T는 독립 성분들로 이루어진 소스 벡터(source vector)이다.

실제 문제에서는 관측된 데이터 벡터들의 집합 \boldsymbol{x}_1,\ldots,\boldsymbol{x}_N만이 주어지며, 목표는 이 관측 데이터로부터 미지의 혼합 행렬 \boldsymbol{A}와 원본 소스 벡터 \boldsymbol{s}를 추정하는 것이다. 이는 주로 분리 행렬(unmixing matrix) \boldsymbol{W} (혼합 행렬 \boldsymbol{A}의 역행렬에 해당)를 반복적으로 조정하면서, 계산된 추정 소스 성분 s_k = \boldsymbol{w}^T \boldsymbol{x} (여기서 \boldsymbol{w}^T\boldsymbol{W}의 행벡터)들의 비가우시성(non-Gaussianity)을 최대화하거나 상호 정보량(mutual information)을 최소화하는 비용 함수(cost function)를 최적화함으로써 수행된다.[5][6] 경우에 따라서는 소스 신호의 확률 분포에 대한 사전 지식을 비용 함수에 활용하기도 한다.

혼합 행렬 \boldsymbol{A}가 정방 행렬(n=m)이고 역행렬이 존재한다고 가정하면, 추정된 분리 행렬 \boldsymbol{W}=\boldsymbol{A}^{-1}을 관측 신호 \boldsymbol{x}에 곱하여 원본 소스 \boldsymbol{s}를 복원할 수 있다.

\boldsymbol{s} = \boldsymbol{W} \boldsymbol{x}

3. 2. 2. 선형 잡음 있는 ICA

선형 독립 성분 분석(ICA)은 잡음(noise)이 없는 경우와 잡음이 있는 경우로 나눌 수 있다. 잡음이 없는 ICA는 잡음이 있는 ICA의 특별한 경우로 볼 수 있다.

잡음이 있는 선형 ICA 모델을 정의하기 위해, 평균이 0이고 서로 상관관계가 없는 가우시안 잡음 n을 가정한다. 이 잡음은 수학적으로 n\sim N(0,\operatorname{diag}(\Sigma))와 같이 표현된다. 여기서 \Sigma는 잡음의 분산을 나타내는 대각 행렬이다. 이 가정을 추가하면, 잡음이 있는 선형 ICA 모델은 다음과 같은 수식으로 표현된다.

\boldsymbol{x}=\boldsymbol{A} \boldsymbol{s}+n

여기서 각 기호는 다음을 의미한다.

  • \boldsymbol{x}: 관측된 랜덤 벡터 (예: 마이크로 녹음된 혼합 신호)
  • \boldsymbol{A}: 알려지지 않은 혼합 행렬
  • \boldsymbol{s}: 독립적인 원 신호(source signal)의 랜덤 벡터
  • n: 가우시안 잡음 벡터


이 모델은 관측된 신호 \boldsymbol{x}가 원 신호 \boldsymbol{s}의 선형 변환(\boldsymbol{A} \boldsymbol{s})에 잡음 n이 더해진 형태로 구성된다고 가정한다.

3. 2. 3. 비선형 ICA

일반적인 독립 성분 분석(ICA)은 관찰된 신호가 원본 소스 신호들의 선형적인 조합이라고 가정하는 경우가 많다. 하지만 실제 소스 신호의 혼합은 반드시 선형적이지만은 않다. 이러한 비선형적인 혼합을 다루기 위한 방법이 비선형 독립 성분 분석이다.

비선형 ICA 모델에서는 소스 신호 \boldsymbol{s}=(s_1,\ldots,s_n)^T가 파라미터 \theta를 갖는 비선형 함수 f(\cdot|\theta)를 통해 혼합되어 관찰 신호 \boldsymbol{x}=(x_1,\ldots,x_m)^T가 생성된다고 가정한다. 여기에 잡음 n이 더해질 수 있으며, 이를 수식으로 표현하면 다음과 같다.

\boldsymbol{x} = f(\boldsymbol{s}|\theta) + n

이 모델은 소스 신호들이 보다 복잡한 방식으로 상호작용하며 섞이는 현실적인 상황을 분석하는 데 사용될 수 있다.

3. 3. 식별 가능성

독립 성분은 원래 신호의 순서(순열)나 크기(스케일링)가 바뀔 수 있다는 한계 내에서 식별 가능하다.[7] 이러한 식별 가능성을 확보하기 위해서는 다음 조건들이 필요하다.

  • 원본 신호(s_k) 중에서 가우시안 분포를 따르는 신호는 최대 하나여야 한다.
  • 관측된 혼합 신호의 개수 m은 추정하려는 원본 신호의 개수 n보다 크거나 같아야 한다(m \ge n). 이는 혼합 행렬 \boldsymbol{A}가 역행렬을 가질 수 있도록 행렬의 계수가 최대여야 함을 의미한다.

4. 독립 성분 정의 방법

독립 성분 분석(ICA)은 다변량 신호를 통계적으로 독립적인 하부 성분으로 분리하는 것을 목표로 하며, 이때 추정된 성분들의 통계적 독립성을 최대화하는 방식으로 독립 성분을 찾는다.[23] 독립성을 정의하는 방식에 따라 ICA 알고리즘의 구체적인 형태가 결정되며, 주로 사용되는 두 가지 접근 방식은 다음과 같다.


  • '''상호 정보 최소화''' (Minimization of Mutual Information, MMI): 성분들 간의 상호 정보량을 최소화하여 독립성을 높이는 방식이다. 이 접근법은 쿨백-라이블러 발산이나 최대 엔트로피 원리와 같은 정보 이론적 척도를 활용한다.[23]
  • '''비가우시안성 최대화''' (Maximization of Non-Gaussianity): 중심 극한 정리에 따르면 독립적인 확률 변수들의 합은 정규 분포(가우시안 분포)에 가까워지는 경향이 있다. 반대로, 혼합 신호에서 분리된 개별 성분은 비가우시안 분포를 띨 가능성이 높다는 점에 착안하여, 분리된 성분의 비가우시안성을 최대화하는 방식이다. 비가우시안성의 척도로는 주로 첨도나 네겐트로피가 사용된다.[23]


이러한 독립성 정의 방법의 선택은 ICA 알고리즘의 구체적인 구현 방식과 성능에 영향을 미친다.

4. 1. 비가우시안성 최대화

독립 성분 분석(ICA)에서 추정된 성분들의 통계적 독립성을 최대화하는 방법 중 하나는 비가우시안성(Non-gaussianity) 최대화이다.[23] 이는 중심 극한 정리에 기반한 접근 방식으로, 신호 혼합물은 여러 독립적인 신호가 합쳐질수록 정규 분포(가우시안 분포)에 가까워지는 경향이 있지만, 개별 원본 신호(source signal)는 비가우시안 분포를 가질 가능성이 높다는 점에 착안한다. 따라서 혼합된 신호에서 분리된 성분이 최대한 비가우시안 분포를 띠도록 만들면 원본 신호에 가까워질 것이라고 가정한다. 비가우시안성을 측정하는 대표적인 척도로는 첨도(Kurtosis)와 네겐트로피(Negentropy)가 사용된다.

신호 혼합물에서 각 원본 신호를 추출하는 한 가지 방법은 가중치 벡터(weight vector)와 신호 혼합물의 내적을 계산하여 신호 혼합물의 직교 투영을 구하는 것이다. 이때 적절한 가중치 벡터를 찾는 것이 중요하며, 투영 추구(Projection pursuit) 기법이 이를 위해 사용될 수 있다.[11][12] 투영 추구는 추출된 신호가 가능한 한 비가우시안성을 갖도록 투영 방향(가중치 벡터)을 한 번에 하나씩 찾아 나가는 방식이다. 이는 모든 신호에 대한 언믹싱 행렬(unmixing matrix)을 한 번에 추정하는 일반적인 ICA 방식과 대비된다. 투영 추구는 필요한 경우 전체 신호 개수보다 적은 수의 신호만 추출할 수 있다는 장점이 있다.

=== 첨도 (Kurtosis) ===

첨도는 확률 분포의 뾰족한 정도를 나타내는 척도로, 비가우시안성을 측정하는 데 사용될 수 있다. 추출된 신호 \mathbf{y}의 표본 첨도(sample kurtosis)는 다음과 같이 계산된다.

:

K=\frac{\operatorname{E}[(\mathbf{y}-\mathbf{\overline{y}})^4]}{(\operatorname{E}[(\mathbf{y}-\mathbf{\overline{y}})^2])^2}-3



여기서 \mathbf{\overline{y}}\mathbf{y}표본 평균이고, \operatorname{E}[\cdot]는 기댓값을 의미한다. 분모는 \mathbf{y}분산으로, 첨도 계산 시 신호의 분산 크기 영향을 제거한다. 상수 3을 빼는 이유는 정규 분포의 첨도가 3이므로, 이를 0으로 맞춰 해석을 용이하게 하기 위함이다.

  • 초가우시안(Super-gaussian) 신호: 첨도가 양수(+)이며, 정규 분포보다 더 뾰족한 분포를 가진다.
  • 서브가우시안(Sub-gaussian) 신호: 첨도가 음수(-)이며, 정규 분포보다 더 평평한 분포를 가진다.


투영 추구의 목표는 추출된 신호 \mathbf{y} = \mathbf{w}^T \mathbf{x}의 첨도 절대값을 최대화하여 가장 비가우시안적인 신호를 찾는 것이다. 여기서 \mathbf{x}는 ''M''개의 혼합 신호 벡터이고, \mathbf{w}는 가중치 벡터이다. 일반적으로 원본 신호 \mathbf{s}가 초가우시안 분포를 따른다고 가정하면, 추출된 신호 \mathbf{y}가 원본 신호 \mathbf{s}와 일치할 때 첨도가 최대가 될 것으로 기대할 수 있다.

여러 개의 원본 신호를 복구하기 위해, 첫 번째 가중치 벡터 \mathbf{w}_1을 찾아 첫 번째 신호 \mathbf{y}_1을 추출한 후, 다음 신호를 찾을 때는 이미 찾은 신호 성분을 제거하는 방식을 사용한다. 그람-슈미트 직교화(Gram-Schmidt Orthogonalization, GSO) 과정을 통해 이전에 추출된 신호들과 직교하는 방향으로만 탐색하여 각 단계에서 독립적인 신호를 추출할 수 있다.

최적의 가중치 벡터 \mathbf{w}를 찾는 데는 경사 하강법(Gradient descent)과 같은 최적화 알고리즘이 사용된다. 계산을 단순화하기 위해 일반적으로 데이터를 전처리하는 과정을 거친다. 먼저 데이터의 평균을 0으로 만드는 중심화(centering)를 수행하고, 그 다음 백색화(whitening)를 통해 데이터의 각 성분들이 단위 분산을 갖고 서로 상관관계가 없도록 변환한다. 백색화는 주로 특이값 분해(SVD)를 이용하여 수행된다. 백색화된 데이터 \mathbf{z}에 대해 추출된 신호는 \mathbf{y} = \mathbf{w}^T \mathbf{z}가 된다. 가중치 벡터 \mathbf{w}의 크기를 1로 제약하면(\|\mathbf{w}\|=1), 추출된 신호 \mathbf{y}의 분산도 1이 된다(\operatorname{E}[\mathbf{y}^2]=1). 이 경우 첨도는 다음과 같이 간단해진다.

:

K=\operatorname{E}[\mathbf{y}^4]-3=\operatorname{E}[(\mathbf{w}^T \mathbf{z})^4]-3.



첨도를 최대로 만드는 가중치 벡터 \mathbf{w}를 찾기 위한 경사 상승법(gradient ascent) 업데이트 규칙은 다음과 같다.

:\mathbf{w}_{new}=\mathbf{w}_{old}+\eta\operatorname{E}[\mathbf{z}(\mathbf{w}_{old}^T \mathbf{z})^3 ].

여기서 \eta는 학습률(learning rate)로, 적절한 값으로 설정해야 수렴을 보장할 수 있다. 각 업데이트 단계 이후에는 \mathbf{w}_{new}의 크기를 다시 1로 정규화(\mathbf{w}_{new}=\frac{\mathbf{w}_{new}}

)하는 과정을 반복하며, \mathbf{w}가 더 이상 변하지 않을 때까지 반복한다.

=== 네겐트로피 (Negentropy) ===

첨도는 계산이 비교적 간단하지만 이상치(outlier)에 매우 민감하다는 단점이 있다. 즉, 데이터에 비정상적으로 크거나 작은 값이 몇 개만 포함되어도 첨도 값이 크게 영향을 받을 수 있다. 이러한 단점을 보완하기 위해 네겐트로피를 비가우시안성의 척도로 사용하기도 한다.[23][13] 네겐트로피는 정보 이론의 엔트로피 개념에 기반하며, 같은 분산을 가지는 모든 확률 변수 중에서 가우시안(정규) 분포를 따르는 변수가 가장 큰 엔트로피를 가진다는 성질을 이용한다.

네겐트로피 J(x)는 확률 변수 x와 동일한 공분산 행렬을 가지는 가우시안 변수 y의 엔트로피 차이로 정의된다.

:J(x) = S(y) - S(x)\,

여기서 S(x) = - \int p_x(u) \log p_x(u) du는 확률 변수 x의 미분 엔트로피이다. 네겐트로피는 항상 0 이상이며, 확률 변수 x가 가우시안 분포를 따를 때만 0이 된다. 따라서 네겐트로피 값이 클수록 해당 변수는 가우시안 분포에서 더 멀리 떨어져 있으며, 즉 비가우시안성이 더 크다고 할 수 있다.

실제 계산에서는 네겐트로피를 직접 계산하기 어렵기 때문에 근사식을 사용한다. 한 가지 근사식은 다음과 같다.[22][23]

:J(x) \approx \frac{1}{12}(E[x^3])^2 + \frac{1}{48}(\operatorname{kurt}(x))^2

여기서 E[x^3]x의 3차 모멘트(비대칭도와 관련)이고, \operatorname{kurt}(x)x의 첨도이다. 이 근사식 역시 첨도를 포함하고 있어 이상치에 민감한 문제를 여전히 가지고 있다.

이상치에 덜 민감한 다른 네겐트로피 근사 방식들도 제안되었다.[15] 예를 들어, 비선형 함수 G_1, G_2를 이용하여 다음과 같이 근사할 수 있다.

:J(y) \approx k_1(E[G_1(y)])^2 + k_2(E[G_2(y)] - E[G_2(v)])^2

여기서 v는 평균 0, 분산 1인 표준 정규 변수이고, k_1, k_2는 상수이다. 함수 G_1, G_2로는 다음과 같은 형태가 자주 사용된다.

:G_1(u) = \frac{1}{a_1}\log(\cosh(a_1u))

:G_2(u) = -\exp(-\frac{u^2}{2})

여기서 a_1은 보통 1에서 2 사이의 상수이다. 이러한 비선형 함수를 이용한 근사 방식은 첨도 기반 근사보다 이상치에 대해 더 강건한(robust) 경향이 있다. 네겐트로피를 최대화하는 방식으로 ICA를 수행하는 알고리즘 중 대표적인 것이 FastICA이다.

5. 블라인드 신호 분리 방법

독립 성분 분석(ICA)은 여러 신호가 섞여 있는 상태에서 원래의 개별 신호들을 분리해내는 블라인드 신호 분리(Blind Signal Separation, BSS) 문제에 매우 중요한 기법이다.[4][5][6] 예를 들어, 여러 사람이 동시에 말하는 소리가 녹음된 파일에서 특정 사람의 목소리만 분리해내는 칵테일 파티 문제가 대표적인 응용 사례이다. 일반적으로 시간 지연이나 소리의 반향(에코)이 없다고 가정하면 문제가 더 단순해진다. 중요한 점은, 분리하려는 원래 신호(소스)의 개수가 N개라면, 이를 제대로 분리하기 위해서는 최소 N개의 독립적인 관측 신호(예: 마이크 녹음)가 필요하다는 것이다.

ICA는 분리된 결과 신호(성분)들이 통계적으로 최대한 독립적이 되도록 하는 방식으로 작동한다. 이 통계적 기법은 예측되는 성분들의 통계적 독립성을 최대화하도록 독립 성분(요인, 잠재 변수, 신호원 등)을 찾는다. ICA가 성공적으로 작동하기 위한 핵심 가정은 다음과 같다.

1. 독립성: 원래의 소스 신호들은 서로 통계적으로 독립적이다.

2. 비가우시안성: 각 소스 신호의 값 분포는 가우시안 분포(정규 분포)를 따르지 않는다.

중심 극한 정리에 따르면, 여러 독립적인 확률 변수들의 합은 가우시안 분포에 가까워지는 경향이 있다. 따라서 혼합된 신호는 가우시안 분포에 가까워지는 반면, 원래의 개별 소스 신호들은 비가우시안 분포를 가질 가능성이 높다. ICA는 이러한 비가우시안성(Non-Gaussianity)을 독립성의 척도로 활용한다.[41] 비가우시안성은 첨도(Kurtosis)나 네겐트로피(Negentropy)와 같은 통계적 척도를 통해 측정할 수 있다. 또한, 신호 간의 상호 정보량(Mutual Information)을 최소화하는 것도 독립성을 측정하는 또 다른 방법이다.[23]

실제 ICA 알고리즘을 적용하기 전에는 계산 복잡성을 줄이고 성능을 높이기 위해 몇 가지 전처리 단계를 거치는 것이 일반적이다. 여기에는 데이터의 평균을 0으로 맞추는 중심화(Centering)[42], 신호들의 상관관계를 제거하고 분산을 1로 만드는 백색화(Whitening)[43], 그리고 데이터의 차원을 줄이는 차원 축소(Dimensionality Reduction)[44] 등이 포함된다. 백색화와 차원 축소는 주로 주성분 분석(PCA)이나 특이값 분해(SVD)[45]와 같은 기법을 사용하여 수행된다.

널리 알려진 ICA 알고리즘으로는 인포맥스, FastICA, JADE 등이 있다.[16][23] 이러한 알고리즘들은 서로 다른 방식으로 독립성과 비가우시안성을 최대화하여 혼합된 신호로부터 원 신호를 복원하려고 시도한다. ICA는 실제 소스 신호의 정확한 순서나 크기(스케일 및 부호)까지 완벽하게 알아낼 수는 없지만, 블라인드 신호 분리 문제 해결에 매우 효과적인 도구로 다양한 분야에서 활용되고 있다.

5. 1. 투영 추구

신호 혼합물은 가우시안 확률 밀도 함수를 갖는 경향이 있으며, 소스 신호는 비가우시안 확률 밀도 함수를 갖는 경향이 있다. 각 소스 신호는 가중치 벡터와 해당 신호 혼합물의 내적을 취하여 일련의 신호 혼합물에서 추출할 수 있으며, 이 내적은 신호 혼합물의 직교 투영을 제공한다. 남은 과제는 그러한 가중치 벡터를 찾는 것이다. 이를 수행하는 한 가지 방법은 투영 추구이다.[11][12]

투영 추구는 추출된 신호가 가능한 한 비가우시안이 되도록 한 번에 하나의 투영을 찾는다. 이것은 일반적으로 ''M'' × ''M'' 언믹싱 행렬(unmixing matrix)을 추정해야 하는 ICA와 대조된다. ICA에 대한 투영 추구의 한 가지 실용적인 장점은 필요한 경우 ''M''개의 신호 미만을 추출할 수 있다는 것이다. 여기서 각 소스 신호는 ''M'' 요소 가중치 벡터를 사용하여 ''M'' 신호 혼합물에서 추출된다.

투영 추구를 사용하여 올바른 가중치 벡터를 찾고 여러 소스 신호를 복구하기 위해 첨도(kurtosis)를 사용할 수 있다. 유한 표본에 대한 신호의 확률 밀도 함수의 첨도는 다음과 같이 계산된다.

: K=\frac{\operatorname{E}[(\mathbf{y}-\mathbf{\overline{y}})^4]}{(\operatorname{E}[(\mathbf{y}-\mathbf{\overline{y}})^2])^2}-3

여기서 \mathbf{\overline{y}}는 추출된 신호인 \mathbf{y}표본 평균이다. 상수 3은 가우시안 신호가 0의 첨도를 갖도록 하며, 초가우시안(super-Gaussian) 신호는 양의 첨도를, 아가우시안(sub-Gaussian) 신호는 음의 첨도를 갖도록 한다. 분모는 \mathbf{y}분산이며, 측정된 첨도가 신호 분산을 고려하도록 한다. 투영 추구의 목표는 첨도를 최대화하여 추출된 신호가 가능한 한 비정규적이 되도록 만드는 것이다.

비정규성의 척도로 첨도를 사용하여, 일련의 ''M'' 혼합물 \mathbf{x}=(x_1,x_2,\ldots,x_M)^T에서 추출된 신호 \mathbf{y} = \mathbf{w}^T \mathbf{x}의 첨도가 가중치 벡터 \mathbf{w}가 원점을 중심으로 회전함에 따라 어떻게 변하는지 검사할 수 있다. 각 소스 신호 \mathbf{s}가 초가우시안이라는 가정을 감안할 때 다음을 예상할 수 있다:

# 추출된 신호 \mathbf{y}의 첨도는 \mathbf{y} = \mathbf{s}일 때 정확하게 최대가 된다.

# 추출된 신호 \mathbf{y}의 첨도는 \mathbf{w}가 투영된 축 S_1 또는 S_2에 직교할 때 최대가 된다. 이는 최적의 가중치 벡터가 변환된 축 S_1 또는 S_2에 직교해야 함을 의미한다.

여러 소스 혼합 신호의 경우 첨도와 그람-슈미트 직교화(GSO)를 사용하여 신호를 복구할 수 있다. ''M'' 차원 공간에서 ''M'' 신호 혼합물이 주어지면 GSO는 가중치 벡터를 사용하여 이러한 데이터 포인트를 (''M-1'') 차원 공간에 투영한다. GSO를 사용하면 추출된 신호의 독립성을 보장할 수 있다.

\mathbf{w}의 올바른 값을 찾기 위해 경사 하강법을 사용할 수 있다. 먼저 데이터를 백색화(whitening)하여 \mathbf{x}를 단위 분산을 갖는 새 혼합 \mathbf{z}로 변환하며, \mathbf{z}=(z_1,z_2,\ldots,z_M)^T이다. 이 과정은 \mathbf{x}에 특이값 분해를 적용하여 수행할 수 있다:

: \mathbf{x} = \mathbf{U} \mathbf{D} \mathbf{V}^T

각 벡터 U_i=U_i/\operatorname{E}(U_i^2)를 재조정하고 \mathbf{z} = \mathbf{U}로 둔다. 가중치 벡터 \mathbf{w}에 의해 추출된 신호는 \mathbf{y} = \mathbf{w}^T \mathbf{z}이다. 가중치 벡터 '''w'''가 단위 길이를 갖는 경우, '''y'''의 분산도 1이다. 즉, \operatorname{E}[(\mathbf{w}^T \mathbf{z})^2]=1이다. 따라서 첨도는 다음과 같이 쓸 수 있다:

: K=\frac{\operatorname{E}[\mathbf{y}^4]}{(\operatorname{E}[\mathbf{y}^2])^2}-3=\operatorname{E}[(\mathbf{w}^T \mathbf{z})^4]-3.

\mathbf{w}에 대한 업데이트 프로세스는 다음과 같다:

:\mathbf{w}_{new}=\mathbf{w}_{old}-\eta\operatorname{E}[\mathbf{z}(\mathbf{w}_{old}^T \mathbf{z})^3 ].

여기서 \eta\mathbf{w}가 최적 해로 수렴되도록 보장하는 작은 상수(학습률)이다. 각 업데이트 후 \mathbf{w}_{new}=\frac{\mathbf{w}_{new}}

를 정규화하고 \mathbf{w}_{old}=\mathbf{w}_{new}로 설정하며 수렴할 때까지 업데이트 프로세스를 반복한다. 가중치 벡터 \mathbf{w}를 업데이트하기 위해 다른 알고리즘을 사용할 수도 있다.

또 다른 접근 방식은 첨도 대신 네겐트로피(Negentropy)를 사용하는 것이다.[23][13] 네겐트로피를 사용하는 것은 첨도가 이상값에 매우 민감하므로 첨도보다 더 강력한 방법이다. 네겐트로피 방법은 가우시안 분포의 중요한 속성, 즉 가우시안 변수는 동일한 분산을 갖는 모든 연속 무작위 변수 중에서 가장 큰 엔트로피를 갖는다는 점에 기반한다. 이것이 가장 비가우시안 변수를 찾으려는 이유이기도 하다. 간단한 증명은 미분 엔트로피에서 찾을 수 있다.

:J(x) = S(y) - S(x)\,

여기서 y는 x와 동일한 공분산 행렬을 갖는 가우시안 무작위 변수이다.

:S(x) = - \int p_x(u) \log p_x(u) du

네겐트로피에 대한 근사값은 다음과 같다:

:J(x)\approx\frac{1}{12}(E(x^3))^2 + \frac{1}{48}(kurt(x))^2

증명은 Comon의 원본 논문[22][23]에서 찾을 수 있으며, 이는 Aapo Hyvärinen, Juha Karhunen, Erkki Oja[14]의 책 ''독립 성분 분석''에서 재현되었다. 이 근사값은 또한 첨도와 동일한 문제(이상값에 대한 민감도)를 겪는다. 다른 접근 방식이 개발되었다.[15]

:J(y) \approx k_1(E(G_1(y)))^2 + k_2(E(G_2(y)) - E(G_2(v))^2

여기서 v는 평균 0, 분산 1인 가우시안 변수이고, k_1, k_2, a_1은 상수이다. 비선형 함수 G_1G_2의 선택은 다음과 같다:

:G_1(u) = \frac{1}{a_1}\log(\cosh(a_1u))G_2(u) = -\exp(-\frac{u^2}{2})

5. 2. Infomax 기반 방법

인포맥스 독립 성분 분석(Infomax ICA)[16]은 기본적으로 투영 추구의 다변량 병렬 버전이다. 투영 추구는 여러 신호가 섞인 혼합물에서 신호를 하나씩 순차적으로 추출하는 반면, ICA는 여러 신호를 동시에 병렬로 추출한다. 이러한 특징 덕분에 ICA는 투영 추구보다 더 강력한 성능을 보이는 경향이 있다.[17]

투영 추구 방법은 추출된 신호들이 서로 독립적임을 보장하기 위해 그람-슈미트 직교화 과정을 사용한다. 반면, ICA는 인포맥스(Infomax) 원리와 최대 우도 추정 방법을 사용하여 추출된 신호의 독립성을 확보한다. 추출된 신호가 정규 분포를 따르지 않는 비정규성(non-Gaussianity)은 신호에 적절한 통계적 모델이나 사전 정보를 가정함으로써 달성된다.

인포맥스 원리에 기반한 ICA의 과정은 다음과 같다. 먼저, 신호 혼합물 \mathbf{x}와 각 독립 성분의 분포를 나타내는 모델 누적 분포 함수(cdf) 집합 g가 주어진다. 목표는 \mathbf{Y}=g(\mathbf{y}) 신호들의 결합 엔트로피를 최대로 만드는 '언믹싱 행렬(unmixing matrix)' \mathbf{W}를 찾는 것이다. 여기서 \mathbf{y}=\mathbf{Wx}는 행렬 \mathbf{W}를 통해 혼합 신호 \mathbf{x}로부터 추출된 신호 벡터이다. 최적의 \mathbf{W}를 찾으면, 변환된 신호 \mathbf{Y}는 최대 엔트로피를 가지게 되어 통계적으로 독립이 된다. g는 역함수가 존재하는 가역 함수이며 신호의 통계적 모델 역할을 하므로, 원래 추출된 신호 \mathbf{y}=g^{-1}(\mathbf{Y}) 역시 독립이 된다. 만약 가정된 소스 신호 모델의 확률 밀도 함수p_s가 실제로 추출된 신호의 확률 밀도 함수p_{\mathbf{y}}와 일치한다면, \mathbf{Y}의 결합 엔트로피를 최대화하는 것은 입력 신호 \mathbf{x}와 변환된 신호 \mathbf{Y} 사이의 상호 정보량을 최대화하는 것과 동일하다. 이러한 이유로 엔트로피 최대화를 통해 독립 신호를 추출하는 방법을 인포맥스라고 부른다.

언믹싱 행렬 \mathbf{W}에 의해 추출된 신호 집합 \mathbf{y}=\mathbf{Wx}를 변환한 벡터 변수 \mathbf{Y}=g(\mathbf{y})의 엔트로피를 생각해보자. 확률 밀도 함수 p_{\mathbf{y}}를 따르는 분포에서 추출된 유한한 개수의 데이터 샘플이 있을 때, \mathbf{Y}의 엔트로피는 다음과 같이 추정할 수 있다.

:H(\mathbf{Y})=-\frac{1}{N}\sum_{t=1}^N \ln p_{\mathbf{Y}}(\mathbf{Y}^t)

여기서 N은 샘플의 개수이다. 결합 확률 밀도 함수 p_{\mathbf{Y}}는 추출된 신호의 결합 확률 밀도 함수 p_{\mathbf{y}}와 다음과 같은 관계를 가진다.

:p_{\mathbf{Y}}(Y)=\frac{p_{\mathbf{y}}(\mathbf{y})}



여기서 \mathbf{J}=\frac{\partial\mathbf{Y}}{\partial \mathbf{y}}는 변수 변환에 대한 야코비 행렬이다. |\mathbf{J}|=g'(\mathbf{y})이고, g'는 소스 신호에 대해 가정한 확률 밀도 함수 p_s와 같다고 하면 (g'=p_s), 식은 다음과 같이 정리된다.

:p_{\mathbf{Y}}(Y)=\frac{p_\mathbf{y}(\mathbf{y})}{p_\mathbf{s}(\mathbf{y})}

따라서 \mathbf{Y}의 엔트로피는 다음과 같이 표현된다.

:H(\mathbf{Y})=-\frac{1}{N}\sum_{t=1}^N \ln\frac{p_\mathbf{y}(\mathbf{y})}{p_\mathbf{s}(\mathbf{y})}

엔트로피 H({\mathbf{Y}})는 추출된 신호의 실제 분포 p_{\mathbf{y}}가 가정된 모델 분포 p_s와 같을 때 최대가 되며, 이때 p_{\mathbf{Y}}는 균일 분포를 따른다. 추출된 신호의 분포 p_{\mathbf{y}}는 입력 신호의 분포 p_\mathbf{x} 및 언믹싱 행렬 \mathbf{W}와 다음과 같은 관계를 가진다.

:p_{\mathbf{y}}(\mathbf{y})=\frac{p_\mathbf{x}(\mathbf{x})}

=\frac{p_\mathbf{x}(\mathbf{x})}



여기서 |\mathbf{W}|는 행렬 \mathbf{W}의 행렬식의 절댓값이다. 이 관계를 엔트로피 식에 대입하면 다음과 같다.

:H(\mathbf{Y})=-\frac{1}{N}\sum_{t=1}^N \ln\frac{p_\mathbf{x}(\mathbf{x}^t)}{|\mathbf{W}|p_\mathbf{s}(\mathbf{y}^t)}

로그의 성질을 이용하여 식을 정리하면,

:H(\mathbf{Y})=\frac{1}{N}\sum_{t=1}^N \ln p_\mathbf{s}(\mathbf{y}^t)+\ln|\mathbf{W}|+H(\mathbf{x})

여기서 H(\mathbf{x})=-\frac{1}{N}\sum_{t=1}^N\ln p_\mathbf{x}(\mathbf{x}^t)는 입력 신호 \mathbf{x}의 엔트로피로, 언믹싱 행렬 \mathbf{W}를 조정하여 최대화하는 과정에 영향을 주지 않는다. 따라서 H(\mathbf{Y})를 최대화하는 것은 결국 다음 함수 h(\mathbf{Y})를 최대화하는 것과 같다.

:h(\mathbf{Y})=\frac{1}{N}\sum_{t=1}^N \ln p_\mathbf{s}(\mathbf{y}^t)+\ln|\mathbf{W}|

이 함수를 최대화함으로써 추출된 신호의 독립성을 달성할 수 있다.

만약 모델 결합 확률 밀도 함수 p_{\mathbf{s}}M개의 독립적인 주변 확률 밀도 함수의 곱으로 표현되고, 각 소스 신호 s에 대해 일반적으로 사용되는 초과 첨도(super-Gaussian) 모델인 p_{s}(s)=(1-\tanh(s)^2) (이는 로지스틱 분포의 미분 형태와 관련됨)를 사용한다면, 최대화해야 할 함수는 다음과 같이 구체화된다.

:h(\mathbf{Y})=\frac{1}{N}\sum_{i=1}^M\sum_{t=1}^N \ln (1-\tanh(\mathbf{w}_i^\mathsf{T}\mathbf{x}^t)^2)+\ln|\mathbf{W}|

여기서 \mathbf{w}_i^\mathsf{T}는 언믹싱 행렬 \mathbf{W}i번째 행 벡터이다.

관찰된 신호 혼합물 \mathbf{x}가 주어졌을 때, 이 함수 h(\mathbf{Y})를 최대로 만드는 최적의 언믹싱 행렬 \mathbf{W}를 찾으면, 추출된 신호 \mathbf{y}=\mathbf{Wx}는 통계적으로 독립적이고 비정규 분포를 따르게 된다. 투영 추구와 마찬가지로, 최적의 언믹싱 행렬 \mathbf{W}를 찾는 데에는 기울기 하강법(gradient descent)과 같은 최적화 알고리즘을 사용할 수 있다.

5. 3. 최대 우도 추정 기반 방법

'''최대 우도 추정(Maximum Likelihood Estimation, MLE)'''은 주어진 모델에 어떤 데이터(예: ICA로 추출된 신호 y)를 가장 잘 맞추는 매개변수 값(예: 언믹싱 행렬 \mathbf{W})을 찾는 데 사용되는 표준적인 통계 도구이다.[17]

최대 우도 추정의 "모델"은 확률 밀도 함수(pdf)의 명세를 포함하며, 이 경우에는 알 수 없는 원본 소스 신호 s의 pdf p_s이다. 최대 우도 추정 기반 ICA에서는 추출된 신호 y = \mathbf{W}x의 결합 pdf가 알 수 없는 소스 신호 s의 결합 pdf p_s와 가능한 한 유사해지도록 하는 언믹싱 행렬\mathbf{W}를 찾는 것을 목표로 한다.

최대 우도 추정은 모델 pdf p_s와 모델 매개변수 \mathbf{A}(혼합 행렬)가 정확하다면, 실제로 관측된 데이터 x에 대해 높은 확률을 얻어야 한다는 가정에 기반한다. 반대로 \mathbf{A}가 올바른 매개변수 값에서 멀리 떨어져 있다면 관측된 데이터의 확률은 낮을 것으로 예상된다.

최대 우도 추정을 사용하여, 주어진 모델 매개변수 값(예: pdf p_s 및 행렬 \mathbf{A})에 대한 관측된 데이터의 확률을, 관측된 데이터를 기준으로 한 모델 매개변수 값의 '''우도'''(likelihood)라고 부른다.

\mathbf{W}의 '''우도 함수''' \mathbf{L(W)}는 다음과 같이 정의된다.

\mathbf{ L(W)} = p_s (\mathbf{W}x)|\det \mathbf{W}|.

이것은 s = \mathbf{W}x이므로, x에서의 확률 밀도와 같다.

따라서 관측된 혼합 신호 x를 pdf p_s를 가진 알 수 없는 소스 신호 s로부터 생성했을 가능성이 가장 높은 \mathbf{W}를 찾고 싶다면, 우도 함수 \mathbf{L(W)}를 최대화하는 \mathbf{W}를 찾으면 된다. 이 방정식을 최대화하는 언믹싱 행렬은 최적의 언믹싱 행렬의 '''최대 우도 추정치'''로 알려져 있다.

계산의 편의성을 위해 로그 우도를 사용하는 것이 일반적이다. 로그는 단조 함수(입력값이 증가할 때 함수값이 항상 증가하거나 항상 감소하는 함수)이므로, 함수 \mathbf{L(W)}를 최대화하는 \mathbf{W}는 해당 로그 값인 \ln \mathbf{L(W)}도 최대화한다. 이를 통해 위의 우도 함수에 로그를 취하여 로그 우도 함수를 얻을 수 있다.

\ln \mathbf{L(W)} =\sum_{i}\sum_{t} \ln p_s(w^T_ix_t) + N\ln|\det \mathbf{W}|

여기서 w^T_i는 행렬 \mathbf{W}의 i번째 행 벡터이고, x_t는 시간 t에서의 관측 벡터이며, N은 샘플의 수이다.

예를 들어, 소스 신호에 일반적으로 사용되는 높은 첨도를 가진 모델 pdf p_s(s) \propto (1-\tanh(s)^2)를 대입하면 다음과 같은 로그 우도 함수를 얻는다.

\ln \mathbf{L(W)} \propto \sum_{i=1}^{M} \sum_{t=1}^{N}\ln(1-\tanh(w^T_i x_t )^2) + N \ln |\det \mathbf{W}|

여기서 M은 소스 신호의 수이다. 이 함수를 최대화하는 행렬 \mathbf{W}가 바로 '''최대 우도 추정''' 결과이다.

6. 응용 분야

독립 성분 분석(ICA)은 여러 신호가 혼합된 복잡한 데이터를 분석하여 원래의 개별 신호를 찾아내는 통계적 기법으로, 다양한 분야에서 활용될 수 있다. 신호의 통계적 독립성 가정이 유효하고, 분리하고자 하는 신호원의 수만큼 관측 장치(예: 마이크)를 통해 데이터를 얻을 수 있다면[4] ICA는 좋은 결과를 도출할 수 있다. 이는 블라인드 신호 분리 문제 해결에 중요하게 사용된다.[5]

6. 1. 일반적인 응용 분야

독립 성분 분석(ICA)은 다양한 분야에서 활용된다. 대표적인 예시로는 여러 사람이 동시에 말하는 소리가 섞인 녹음 데이터에서 특정 인물의 목소리만 분리해내는 음원 분리 문제가 있다. 이는 흔히 '칵테일 파티 문제'라고 불리며, ICA를 통해 해결할 수 있다. 일반적으로 소리의 지연이나 반향이 없다고 가정하면 문제가 더 단순해진다.[4]

ICA는 물리적인 신호뿐만 아니라 비물리적인 데이터를 분석하는 데에도 사용될 수 있다. 예를 들어, 뉴스 기사 모음에서 주요 토론 주제를 찾아내는 데 적용된 사례가 있다.

구체적인 응용 분야는 다음과 같다.[5]

EEGLAB에서의 독립 성분 분석 예시

  • 뉴런의 광학적 영상[28]
  • 뉴런 스파이크 정렬[29]
  • 얼굴 인식[30]
  • 1차 시각 뉴런의 수용 영역 모델링[31]
  • 주식 시장 가격 예측[32]
  • 휴대폰 통신[33]
  • 토마토 숙성도에 따른 색상 감지[34]
  • 뇌파(EEG) 데이터에서 눈 깜빡임과 같은 잡음(artifact) 제거[35]
  • EEG를 사용한 의사 결정 예측[36]
  • 단일 세포 RNA 시퀀싱 실험에서 시간에 따른 유전자 발현 변화 분석[37]
  • 뇌의 휴지 상태 네트워크 연구[38]
  • 천문학 및 우주론[39]
  • 금융[40]


이 외에도 ICA는 블라인드 신호 분리가 필요한 여러 문제에 중요하게 사용된다.

6. 2. 한국 사회에서의 응용 및 중요성

독립 성분 분석(ICA)은 여러 신호가 혼합된 복잡한 데이터를 분석하여 숨겨진 원본 신호를 분리하는 통계 기법이다. 이는 한국 사회의 다양한 분야에서 문제 해결과 기술 발전에 중요한 역할을 할 수 있다.

음원 분리는 ICA의 대표적인 응용 분야 중 하나로[5], 여러 사람이 동시에 말하는 환경에서 특정인의 목소리를 추출하는 데 사용될 수 있다. 이는 한국어 음성 인식 기술과 결합하여 인공지능 스피커, 챗봇, 회의록 자동 작성 시스템 등의 성능 향상에 기여할 수 있다.

의료 분야에서는 뇌파(EEG), 자기공명영상(fMRI) 등 복잡한 생체 신호 분석에 ICA가 활발히 활용된다. EEG 데이터에서 눈 깜빡임과 같은 잡음(아티팩트)을 효과적으로 제거하거나,[35] 뇌 활동 패턴 분석을 통해 특정 질병 진단[36] 및 뇌 기능 연구[38]의 정확성을 높이는 데 도움을 준다. 또한 뉴런 활동 분석[28][29]이나 단일 세포 수준의 유전자 발현 패턴 연구[37] 등 기초 의과학 연구 발전에도 응용될 수 있다.

금융 분야에서는 주가, 환율 등 여러 요인이 복합적으로 작용하는 금융 시계열 데이터 분석에 ICA를 적용할 수 있다.[40] 데이터에 내재된 독립적인 변동 요인을 식별하여 시장의 이상 징후를 탐지하거나 금융 예측 모델의 정확도를 높이는 데 기여할 수 있다.[32]

보안 및 감시 시스템에서도 ICA는 유용하게 사용될 수 있다. 다수의 CCTV 영상이나 네트워크 트래픽 데이터를 분석하여 비정상적인 패턴이나 이상 행위를 탐지함으로써 보안 시스템의 효율성을 높이고 사회 안전망 강화에 기여할 수 있다.

이 외에도 ICA는 얼굴 인식[30], 휴대폰 통신 신호 처리[33], 천문학 및 우주론 데이터 분석[39] 등 광범위한 분야에서 문제 해결의 실마리를 제공하는 중요한 분석 도구로 활용될 잠재력을 가지고 있다.[5]

7. 바이너리 ICA

독립 성분 분석(ICA)의 특별한 변형으로 바이너리 ICA가 있다. 이는 신호 소스와 모니터가 모두 바이너리 형태이고, 모니터의 관측값이 바이너리 독립 소스의 분리된 혼합물인 경우를 다룬다. 이 문제는 의학적 진단, 다중 클러스터 할당, 네트워크 단층 촬영법, 인터넷 자원 관리 등 다양한 분야에 적용될 수 있다.

{x_1, x_2, \ldots, x_m}m개의 모니터에서 나온 바이너리 변수 집합으로, {y_1, y_2, \ldots, y_n}n개의 소스에서 나온 바이너리 변수 집합으로 정의한다. 소스와 모니터 간의 연결은 알려지지 않은 혼합 행렬 \boldsymbol{G}로 표현된다. 여기서 g_{ij} = 1은 ''i''번째 소스의 신호가 ''j''번째 모니터에서 관찰될 수 있음을 의미한다. 시스템 작동 방식은 다음과 같다: 특정 시점에 소스 i가 활성화되고(y_i=1) 모니터 j에 연결되어 있으면(g_{ij}=1), 모니터 j는 활동을 관찰한다(x_j=1). 이를 공식으로 나타내면 다음과 같다.

:

x_i = \bigvee_{j=1}^n (g_{ij}\wedge y_j), i = 1, 2, \ldots, m,



여기서 \wedge는 불리언 AND 연산을, \vee는 불리언 OR 연산을 나타낸다. 잡음은 명시적으로 모델링되지 않지만, 독립적인 소스로 간주하여 처리할 수 있다.

이 문제를 해결하는 한 가지 휴리스틱한 방법은 변수가 연속적이라고 가정하고 바이너리 관측 데이터에 FastICA 알고리즘을 적용하는 것이다. 이를 통해 실수 값의 혼합 행렬 \boldsymbol{G}를 구한 다음, 이 행렬에 반올림 기법을 적용하여 바이너리 값을 얻는다.[8] 그러나 이 방식은 매우 부정확한 결과를 생성할 수 있다.

또 다른 접근법은 동적 프로그래밍을 사용하는 것이다. 이 방법은 관측 행렬 \boldsymbol{X}를 재귀적으로 하위 행렬로 분해하고, 각 하위 행렬에 대해 추론 알고리즘을 실행한다. 핵심 아이디어는 x_{ij} = 0, \forall j\boldsymbol{X}의 하위 행렬 \boldsymbol{X}^0i번째 모니터에 연결되지 않은 숨겨진 구성 요소의 편향되지 않은 관측 행렬에 해당한다는 점이다. 실험 결과에 따르면, 이 방식은 적당한 수준의 잡음 환경에서 정확한 결과를 보여준다.[9]

일반화된 바이너리 ICA 프레임워크[10]는 생성 모델에 대한 사전 지식이 필요 없는 더 넓은 범위의 문제 설정을 제안한다. 이 방법은 생성 방식에 대한 가정 없이, 정보 손실을 최소화하면서 소스를 가능한 한 독립적인 구성 요소로 분해하려고 시도한다. 이 문제는 매우 복잡해 보이지만, 분기 한정법 검색 트리 알고리즘을 사용하여 정확하게 해결하거나, 행렬과 벡터의 단일 곱셈을 통해 엄격한 상한을 설정할 수 있다.

참조

[1] 웹사이트 Independent Component Analysis: A Demo http://research.ics.[...]
[2] 논문 Independent component analysis: recent advances 2013
[3] 논문 A local learning rule for independent component analysis 2016
[4] 서적 Handbook of Blind Source Separation, Independent Component Analysis and Applications Academic Press, Oxford UK 2010
[5] 서적 Independent component analysis : a tutorial introduction MIT Press
[6] 서적 Independent component analysis John Wiley & Sons
[7] 문서 Theorem 11, Comon, Pierre. "Independent component analysis, a new concept?." Signal processing 36.3 (1994): 287-314.
[8] 문서 Johan Himbergand Aapo Hyvärinen, Independent Component Analysis For Binary Data: An Experimental Study http://citeseerx.ist[...]
[9] 문서 Huy Nguyen and Rong Zheng, Binary Independent Component Analysis With or Mixtures https://ieeexplore.i[...]
[10] 서적 2014 IEEE International Symposium on Information Theory
[11] 서적 Independent Component Analysis: A Tutorial Introduction The MIT Press Cambridge, Massachusetts, London, England 2004
[12] 문서 Kruskal, JB. 1969; "Toward a practical method which helps uncover the structure of a set of observations by finding the line transformation which optimizes a new "index of condensation", Pages 427–440 of: Milton, RC, & Nelder, JA (eds), Statistical computation; New York, Academic Press
[13] 논문 Independent Component Analysis:Algorithms and Applications
[14] 서적 Independent component analysis Wiley
[15] 논문 New approximations of differential entropy for independent component analysis and projection pursuit.
[16] 문서 Bell, A. J.; Sejnowski, T. J. (1995). "An Information-Maximization Approach to Blind Separation and Blind Deconvolution", Neural Computation, 7, 1129-1159
[17] 서적 Independent Component Analysis: A Tutorial Introduction The MIT Press 2004
[18] 논문 Réseau de neurones à synapses modifiables : Décodage de messages sensoriels composites par apprentissage non supervisé et permanent
[19] 문서 Ans, B., Hérault, J., & Jutten, C. (1985). Architectures neuromimétiques adaptatives : Détection de primitives. Cognitiva 85 (Vol. 2, pp. 593-597). Paris: CESTA.
[20] 문서 Hérault, J., Jutten, C., & Ans, B. (1985). Détection de grandeurs primitives dans un message composite par une architecture de calcul neuromimétique en apprentissage non supervisé. Proceedings of the 10th Workshop Traitement du signal et ses applications (Vol. 2, pp. 1017-1022). Nice (France): GRETSI.
[21] 문서 Hérault, J., & Jutten, C. (1986). Space or time adaptive signal processing by neural networks models. Intern. Conf. on Neural Networks for Computing (pp. 206-211). Snowbird (Utah, USA).
[22] 문서 P.Comon, Independent Component Analysis, Workshop on Higher-Order Statistics, July 1991, republished in J-L. Lacoume, editor, Higher Order Statistics, pp. 29-38. Elsevier, Amsterdam, London, 1992. https://hal.archives[...]
[23] 문서 Pierre Comon (1994) Independent component analysis, a new concept? http://www.ece.ucsb.[...]
[24] 문서 J-F.Cardoso, "Infomax and Maximum Likelihood for source separation", IEEE Sig. Proc. Letters, 1997, 4(4):112-114.
[25] 문서 J-F.Cardoso, "Blind signal separation: statistical principles", Proc. of the IEEE, 1998, 90(8):2009-2025.
[26] 논문 Independent component analysis: algorithms and applications http://www.cse.msu.e[...] 2000-06-01
[27] 논문 Feature Extraction Through LOCOCODE ftp://ftp.idsia.ch/p[...] 2018-02-24
[28] 논문 Independent components analysis at the neural cocktail party
[29] 논문 Areview of methods for spike sorting: detection and classification of neural action potentials
[30] 서적 Face image analysis by unsupervised learning Kluwer International Series on Engineering and Computer Science
[31] 논문 The independent components of natural scenes are edge filters
[32] 논문 A first application of independent component analysis to extracting structure from stock returns http://archive.nyu.e[...]
[33] 서적 Independent component analysis John Wiley and Sons
[34] 논문 Estimation of compound distribution in spectral images of tomatoes using independent component analysis
[35] 논문 Enhanced detection of artifacts in EEG data using higher-order statistics and independent component analysis
[36] 논문 Single trial decoding of belief decision making from EEG and fMRI data using independent components features
[37] 논문 The dynamics and regulators of cell fate decisions are revealed by pseudotemporal ordering of single cells
[38] 논문 Independent component analysis of nondeterministic fMRI signal sources 2003
[39] 논문 How to Identify and Separate Bright Galaxy Clusters from the Low-frequency Radio Sky? 2010-11-01
[40] 서적 Connectionist Approaches in Economics and Management Sciences 2003
[41] 문서 non-Gaussianity
[42] 문서 centering
[43] 문서 whitening
[44] 문서 dimensionality reduction
[45] 문서 singular value decomposition
[46] 문서 mixing matrix
[47] 문서 demixing matrix、separating matrix



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com