주요 콘텐츠

신경망 군집화 앱을 사용하여 데이터 군집화하기

이 예제에서는 신경망 군집화 앱을 사용하여 데이터를 군집화하도록 얕은 신경망을 훈련시키는 방법을 보여줍니다.

nctool을 사용하여 신경망 군집화 앱을 엽니다.

nctool

데이터 선택하기

신경망 군집화 앱에는 신경망 훈련을 시작하는 데 사용할 수 있는 예제 데이터가 있습니다.

붓꽃 군집화 예제 데이터를 가져오려면 가져오기 > 붓꽃 데이터 세트 가져오기를 선택하십시오. 파일이나 작업 공간에서 사용자 소유의 데이터를 가져올 경우, 예측 변수를 지정하고 관측값이 행에 있는지 아니면 열에 있는지를 지정해야 합니다.

가져온 데이터에 관한 정보는 모델 요약에 표시됩니다. 이 데이터 세트는 150개의 관측값을 포함하며 각 관측값에는 4개의 특징이 있습니다.

신경망 만들기

군집화 문제의 경우, 일반적으로 가장 많이 사용되는 신경망은 자기 조직화 특징 맵(SOM)입니다. 이 신경망은 뉴런이 그리드로 구성된 하나의 계층을 가지고 있습니다. 자기 조직화 맵은 유사성을 기준으로 데이터를 군집화하도록 학습합니다. SOM에 대한 자세한 내용은 자기 조직화 맵 신경망을 사용한 군집화 항목을 참조하십시오.

신경망을 만들려면 그리드의 행과 열의 개수에 대응하는 맵 크기를 지정하십시오. 이 예제에서는 맵 크기 값을 10으로 설정하며, 이 값은 10개의 행과 10개의 열을 가진 그리드에 대응되는 값입니다. 이 예제에서 뉴런의 전체 개수는 그리드의 점 개수와 같으며 맵은 100개의 뉴런을 갖습니다. 신경망 창에서 신경망 아키텍처를 확인할 수 있습니다.

신경망 훈련시키기

신경망을 훈련시키려면 훈련을 클릭하십시오. 훈련 창에서 훈련 진행 상황을 확인할 수 있습니다. 훈련은 중지 기준 중 하나를 충족할 때까지 계속됩니다. 이 예제에서는 Epoch의 최대 횟수에 도달할 때까지 훈련이 계속됩니다.

결과 분석하기

훈련 결과를 분석하려면 플롯을 생성하십시오. SOM 훈련의 경우 각 뉴런과 연관된 가중 벡터가 이동하여 입력 벡터 군집의 중심이 됩니다. 또한, 위상적으로 서로 인접한 뉴런은 입력 공간에서도 서로 가까운 위치로 이동하게 되므로 고차원 입력 공간을 2차원의 신경망 위상에 시각화할 수 있습니다. SOM의 디폴트 위상은 6각형입니다.

SOM 샘플 적중을 플로팅하려면 플롯 섹션에서 샘플 적중을 클릭하십시오. 이 그림은 뉴런의 위상적 위치를 보여주며 각 뉴런(군집 중심)과 관련된 관측값의 수를 나타냅니다. 위상은 10×10 그리드이므로 100개의 뉴런이 있습니다. 임의의 뉴런과 연관된 최대 적중 수는 5입니다. 따라서 해당 군집에는 5개의 입력 벡터가 있습니다.

가중치 평면(성분 평면이라고도 함)을 플로팅합니다. 플롯 섹션에서 가중치 평면을 클릭합니다. 이 그림은 입력 특징의 각 요소(이 예제에서는 4개)에 대한 가중치 평면을 보여줍니다. 이 플롯은 각각의 뉴런에 각각의 입력을 연결하는 가중치를 보여줍니다. 어두운 색일수록 더 큰 가중치를 나타냅니다. 두 특징의 연결 패턴이 매우 비슷한 경우 특징 간의 상관관계가 높다고 가정할 수 있습니다.

신경망 성능에 만족하지 못하는 경우 다음 중 하나를 수행할 수 있습니다.

  • 신경망을 다시 훈련시킵니다. 각 훈련은 신경망의 초기 가중치와 편향이 다양하며, 재훈련 후 향상된 신경망을 생성할 수 있습니다.

  • 맵 크기를 증가시켜 뉴런 수를 늘립니다.

  • 더 큰 훈련 데이터 세트를 사용합니다.

또한, 추가 테스트 세트에 대해 신경망 성능을 평가할 수 있습니다. 추가 테스트 데이터를 불러와서 신경망을 평가하려면 테스트 섹션에서 테스트를 클릭하십시오. 플롯을 생성하여 추가 테스트 결과를 분석합니다.

코드 생성하기

코드 생성 > 단순 훈련 스크립트 생성을 선택하여 명령줄에서 이전 단계를 재현할 수 있는 MATLAB 코드를 만듭니다. 툴박스의 명령줄 기능을 사용하여 훈련 과정을 사용자 지정하는 방법을 배우려면 MATLAB 코드 만들기가 유용할 수 있습니다. 명령줄 함수를 사용하여 데이터 군집화하기에서 생성된 스크립트를 자세히 조사해야 합니다.

신경망 내보내기

훈련된 신경망을 작업 공간 또는 Simulink®로 내보낼 수 있습니다. 또한, 신경망과 함께 MATLAB Compiler™ 툴과 그 밖의 MATLAB 코드 생성 툴을 배포할 수 있습니다. 훈련된 신경망과 결과를 내보내려면 모델 내보내기 > 작업 공간으로 내보내기를 선택하십시오.

참고 항목

| | | |

도움말 항목