BookmarkSubscribeRSS Feed

[EM] SOM/Kohonen

Started ‎06-10-2020 by
Modified ‎06-10-2020 by
Views 173

 

SOM/Kohonen은 신경회로망의 일종이며스스로 학습하여 입력자료에서 의미 있는 패턴이나 특징을 발견하는 자기 조직화 지도(SOM:Self-Organizing Map)입니다이 네트워크 첫 번째 층인 입력 층과 두 번째 층인 경쟁층으로 이루어져 있습니다. SOM 학습은 경쟁학습을 기초로 하고 있으며입력벡터와 가장 가까운 가중치벡터만이 출력 값을 낼 수 있는 승자독점방식을 사용합니다승자와 그의 이웃들만이 그 가중치를 조정할 수 있고반복적으로 가중치를 갱신을 하면서 입력벡터와 가까운 출력 값을 냅니다.

 

D34eJay66vkbAAAAAElFTkSuQmCC.png

 

SOM/Kohonen 노드의 목적은 비지도 학습 기술인 다양한 Kohonen 네트워크 학습 기술을 수행하는 것입니다. SOM/Kohonen 노드 내에서 적용되는 세 가지 Kohonen 네트워크 기법의 비지도학습 기술은 Kohonen 벡터 양자화(VQ), Kohonen 자기 조직화 맵(SOM) 또는 Nadaraya-Watson 및 로컬 선형 스무딩이 있는 Batch SOM입니다.

SOM/Kohonen 노드에 적용된 세 가지 비지도 학습 기법들은 모든 측정 레벨의 입력 변수를 처리 할 수 있는 유연성이 추가되었습니다그러나 만약 네트워크 학습 설계에 여러 가지 범주로 평가되는 입력 변수가 있는 경우 대응하는데 시간이 많이 소요됩니다또한 입력변수는 일반적으로 네트워크 학습 중 수렴을 보장하기 위해 표준화 되어 있습니다그 이유는 입력 변수의 클러스터 지정이 출력 계층의 클러스터 시드에서 제곱된 거리를 기반으로 하기 때문입니다.

 

 

 

개요

 

 

Kohonen 학습 기법의 목적은 데이터의 클러스터를 식별하는 것입니다. Kohonen SOM 네트워크 기법은 두 개의 개별 층(입력 층출력 층)으로 구성됩니다각 입력 유닛이 각 출력 유닛에 매핑되는데각 출력 유닛은 고유한 클러스터를 나타냅니다. Kohonen SOM 학습은 신경망 학습과 유사합니다유사한 두 네트워크 학습 설계는 입력 층과 출력 층이 모두 있다는 점입니다그러나 Kohonen의 설계는 완전히 다른 토폴로지를 가지는 두 개의 개별 층(입력 층출력 층)으로 구성됩니다. Kohonen SOM 설계에서 토폴로지 매핑은 데이터의 차원을 줄이기 위해 바둑판의 사각형과 유사한 출력 유닛이 제곱된 격자로 구성되도록 설계되었습니다각 제곱된 격자는 클러스터를 나타냅니다따라서 제곱된 격자의 수가 적으면 클러스터의 수가 줄어들어 해석하기가 쉬워집니다. 2차원 제곱 격자의 크기는 행과 열의 수에 의해 결정됩니다제곱된 격자의 행 및 열의 수를 올바르게 선택하기 위해서는 시행착오가 필요합니다.

 

전형적으로 입력 층의 유닛을 출력 층의 유닛에 연결하는 가중치 벡터를 사용하여 입력 층의 각 유닛에 상당한 수의 관측치가 할당되어 있다고 가정하면 큰 맵이 일반적으로 선호됩니다그러나 Kohonen 기법에서 출력 층은 여러 유닛으로 구성되어 있으며 각 출력 층 유닛이 SOM 설계의 모든 유닛에 연결되어 있으며 데이터의 차원을 줄이기 위해서 바둑판처럼 2차원의 제곱된 격자로 배열되어 있습니다. SOM 알고리즘의 목표는 격자 공간에서 서로 가깝게 있는 두 클러스터가 입력 공간에서 서로 가까이 있는 시드를 갖도록 클러스터를 찾으려고 한다는 것입니다. Kohonen SOM 학습에서각 관측치는 입력 층에서 출력 층으로 네트워크를 통해 흐립니다각 관측치가 클러스터 멤버쉽을 위해 SOM 학습에 반영될 때출력 유닛은 게임의 규칙이 승자가 모두 가져가게 되는 출력 층 유닛에 할당된 입력 유닛을 기반으로 서로 경쟁합니다각 학습 사례의 경우승자 출력 유닛은 입력 유닛과의 제곱거리가 가장 작은 유닛입니다보상은 승자 유닛과 관련된 가중치가 그 유닛과 입력 계층 유닛간의 연결을 강화하도록 조정된다는 것입니다제곱거리는 다차원 입력 공간의 입력 값 벡터와 2차원 격자의 가중치 벡터 간의 차이에 기반합니다다시 말해서, SOM 학습의 목적은 모든 학습 사례가 일부 시드에 가까우면서 가능한 한 적게 수행된 격자에 조정되도록 p차원의 입력 공간에 2차원의 격자를 중첩시키는 것입니다.

 

bPjGWimlDsQAAAABJRU5ErkJggg__.png

 

또한 SOM 학습에서 Kohonen 매핑의 토폴로지 순서를 유지하기 위해 추가되는 이웃 개념이 반복적인 클러스터링 멤버쉽 알고리즘에 통합됩니다클러스터 멤버쉽에 대한 각각의 관측치가 입력될 때승자 출력 유닛에 더 근접하게 조정되어입력 유닛 및 그 주변의 인접 유닛에 할당될 확률을 증가시킨다처음에는 각 격자의 크기가 동일합니다그러나 Kohonen SOM 학습이 발전하면서 정사각형 격자는 승자가 각 격자에 할당된 단위의 이동량에 따라 비 직사각형 모양의 격자로 형성되는 경향이 있습니다적용되는 조정은 인접 크기라는 지정된 조정 매개변수에 의해 정의됩니다튜닝 매개변수는 이웃의 크기와 당첨된 유닛 그리고 해당 유닛을 둘러싼 모든 유닛에 대한 조정 값을 제어합니다수행되는 조정은 승자 출력 유닛과 입력 유닛 사이의 유클리드 거리에 비례합니다또한다른 인접 유닛도 입력 유닛에 더 가깝게 이동됩니다조정되는 크기는 인접한 유닛과 입력 유닛 사이의 거리에 의해 결정됩니다인접 유닛이 입력 유닛에 가까울수록 조정이 더 많이 됩니다인접 유닛이 입력 유닛에 가까워질수록 인접 유닛이 많이 움직입니다수렴하기 위해서 이웃 크기가 각 단계에서 조정됩니다처음에는 이웃 크기 조정 매개변수가 다양한 이웃에 큰 조정을 적용합니다그러나 학습함으로써 이웃 지역의 크기를 발전시키고 조정 값은 점차 감소할 것입니다조정이 출력 유닛에 적용되는 이유는 Kohonen SOM 네트워크 학습이 설계에 출력 층 유닛이 있는 만큼 많은 클러스터를 식별하여 전체 분석 목적에 어긋나기 때문입니다이 반복 과정은 이웃 크기가 점점 작아 질 때까지 여러 번 반복됩니다.

 

xdmCa4YLLbQAAAABJRU5ErkJggg__.png

 

반복 학습이 완료되면 승자 유닛의 수(Kohonen SOM 토폴로지 맵의 행 및 열의 수에 따라 각 클러스터 내의 빈도수)를 확인 할 수 있습니다. Kohonen 학습의 설계에서 생성된 여러 클러스터 간의 관계 또는 각 클러스터의 의미를 맵을 통해 결정할 수 있습니다.

 

Kohonen SOM 네트워크 설계의 최종 구성은 승자가 없는 출력 유닛 또는 소수의 승자가 설계에서 제거되는 것입니다이러한 출력 유닛을 제거하는 이유는 처리 시간을 줄이기 위해 네트워크 학습을 가속화하고 최종 클러스터를 만드는데 기여하는 다른 모든 출력 유닛을 설계에 포함시키기 때문입니다따라서 네트워크 학습은 네트워크 매핑의 크기에 따라 다릅니다또한 인접한 출력 유닛은 서로 비슷하지만 서로 멀리 떨어져있는 출력 유닛은 매우 다릅니다.

 

 

 

Kohonen 벡터 양자화(VQ) 방법

 

Kohonen 벡터 양자화 방법은 k-means 클러스터링 방법과 같은 부분 클러스터링 알고리즘과 밀접하게 관련되어 있습니다그러나 K-means 클러스터링 방법은 Kohonen VQ방법보다 권장됩니다한 가지 이유는 Kohonen VQ 설계의 다양한 튜닝 상수로 인해 가장 적절한 값을 결정하기 위해 많은 시행착오가 필요하기 때문입니다. Kohonen VQ 네트워크에서 각 출력 유닛은 클러스터를 나타내며 각 클러스터의 중심을 클러스터 시드라고 합니다비지도 학습 기법의 차이점은 네트워크 학습 기법이 관측치가 가까운 임시 클러스터 그룹에 할당되면 모든 클러스터 시드를 조정하는 전통적인 클러스터링 기법과는 대조적으로 해당 클러스터 내에서 승자 클러스터 시드를 관찰치에 더 가깝게 조정한다는 것입니다생성되는 모든 클러스터의 시드가 동시에 조정됩니다지정된 학습 속도는 클러스터 시드가 업데이트 되는 속도를 결정합니다승자 클러스터 시드는 시드와 입력 유닛 사이의 제곱거리에 따라 일정 비율로 시드를 이동하여 업데이트 됩니다. Kohoen 학습의 각 단계에서 승자 클러스터 시드는 다음과 같이 단계에서 업데이트됩니다.

 

1.PNG

3.PNG단계에서 일부 학습 속도4.PNG클러스터5.PNG에서의 시드는 관측시의 입력 벡터

 

2.PNG

 6.PNG번째 클러스터에서의 클러스터 시드와7.PNG번째 관측에서의 입력벡터8.PNG사이의 제곱 거리

 

 

  

MacQueen의 k-means 알고리즘은 또 다른 클러스터링 방법입니다그러나 k-means는 Kohonen VQ 네트워크 학습과는 약간 다릅니다. k-means 알고리즘은 승자 클러스터에 할당된 관측 횟수의 역수에 따라 학습 속도를 9.PNG로 정의됩니다.

 

 

샘플 크기가 증가함에 따라 학습 속도가 점진적으로 감소하면 각 클러스터의 시드가 각 클러스터 내에 할당된 모든 관측치의 평균에 근접하게 됩니다또한 클러스터 시드와 입력 유닛 간의 최소 제곱 거리를 기반으로 반복 알고리즘의 수렴을 보장합니다그러나 학습 속도를 고정된 속도로 설정하면 Kohonen 학습이 수렴하지 못하게 됩니다.

 

 

 

SOM/Kohonen 3가지 분석 방법

      

 

다이어그램

O56dChQ4eOvw1IvGqRiGbSWom4OXQy1qFDhw4dOloYR9zUevCBDh06dOjQceah_oytVmtjYGCgmmtVhw4dOnTo0HFm4e3tjf8DZs.png

 

 

 위 그림과 같이 SOM/Kohonen 노드의 3가지 분석방법에 따라 3개의 노드와 결과를 참고하기위해 세그먼트 프로파일링과 그래프탐색 노드로 다이어그램을 구성하였다. SOM/Kohonen을 수행하기 위해서 여러 가지 매개변수를 조절하여 시행착오를 위하여 여러 노드로 구성해야 하지만 분석방법 3가지를 큰 범주로 생각하여 3개의 노드로만 구성한 그림이다.

 

 

1. Batch SOM

    10.PNG

 

Batch SOM 방법의 경우 각 군집에 적어도 5개 또는 10개의 관찰치가 포함되는 범위 내에서 지도의 크기는 클수록 좋습니다그러나 지도가 클수록 그 만큼 분석시간은 더 많이 소요됩니다.

 

토폴로지 맵에서 행 및 열 속성을 사용하여 행 및 열 수를 지정할 수 있고근방옵션(Neighborhood Options)테이블의 최종 크기(Final Size) 속성을 사용하여 최종 neighborhood 크기를 지정할 수 있습니다최종 Neighborhood Size는 일반적으로 지도 크기에 비례하여 설정해야합니다예를 들어지도에서 행과 열의 수를 두 배로하면 최종 neighborhood 크기를 두 배 늘려야 합니다지도 크기와 최종 neighborhood 크기를 선택하려면 일반적으로 시행착오가 필요합니다.

 

Batch SOM은 분석의 방법(Method)속성의 기본 설정입니다.

 

 

2. Kohonen SOM 

 

  XxpyBhkVL3JGObm6tGzp772ta9FZE9AQMCHghhr8I60liAgICAgICDgI4zOrHoBAQEBAQEBAYchpP8Prq87eENgrn0AAAAASUVOR.png

 

Kohonen SOM 방법의 경우 대부분의 클러스터가 최소 개 또는 10 개의 사례가 있는 한 큰지도가 일반적으로 더 좋습니다그러나 지도가 클수록 그 만큼 분석시간은 더 많이 소요됩니다.

 

최종 neighborhood 크기는 일반적으로 지도의 크기에 비례하여 설정해야 합니다예를 들어지도에서 행과 열의 수를 두 배로 늘리면 최종 neighborhood 크기를 두 배 늘려야 합니다지도 크기와 최종 neighborhood 크기를 선택하려면 일반적으로 시행착오가 필요합니다.

 

토폴로지 맵에서 행 및 열 속성을 사용하여 행 및 열 수를 지정할 수 있고근방옵션(Neighborhood Options)테이블의 최종 크기(Final Size) 속성을 사용하여 최종 neighborhood 크기 그리고 Kohonen Options의 테이블에서 학습률(Learning Rate), 초기 학습률(Initial Rate), 최종 학습률(Final Rate), 단계 수(Number of Steps) 속성을 사용하여 학습률 매개변수를 지정할 수 있습니다.

 

학습률(Learning Rate)은 학습 중에 바뀝니다만약 초기 시드가 무작위이면, 0.9정도의 학습률로 시작하는 것이 중요합니다주성분 또는 몇 가지의 예비 분석을 사용하여 초기 시드를 얻는다면 초기 학습률은 훨씬 낮아야 됩니다.

 

 

3. Kohonen VQ

11.PNG

  

Kohonen VQ 방법의 경우 클러스터 최대 개수(Maximum Number of Clusters) 속성을 사용하여 클러스터의 수를 지정할 수 있습니다클러스터 수를 선택하려면 일반적으로 시행착오가 필요합니다.

 

Kohonen Options의 테이블에서 학습률(Learning Rate)속성을 사용하여 학습률을 지정할 수 있습니다학습률은 학습 중에 변경됩니다만약 초기 시드가 무작위이면, 0.5정도의 학습률로 시작하는 것이 중요합니다주성분 또는 몇 가지의 예비 분석을 사용하여 초기 시드를 얻는다면 초기 학습률은 훨씬 낮아야 됩니다.

 

 

노드 결과창

 

fqgW8K3p1pMAAAAASUVORK5CYII_.png

 

 

SOM/Kohonen 노드의 결과창입니다기본적으로 맵과 출력창이 나오며추가적으로 풀다운메뉴의 보기(V)에서 모델 메뉴에 있는 평균값 통계량과 분석통계량 값을 볼 수가 있습니다그래프탐색 또는 세그먼트 프로파일링 노드를 이용하면 더 자세한 결과를 볼 수 있습니다.

 

Version history
Last update:
‎06-10-2020 09:21 PM
Updated by:
Contributors

sas-innovate-white.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.

 

Early bird rate extended! Save $200 when you sign up by March 31.

Register now!

Article Labels
Article Tags