Microsoft 신경망 알고리즘(SSAS)
Microsoft SQL Server 2005 Analysis Services(SSAS) 에서 Microsoft 신경망 알고리즘은 다중 계층 퍼셉트론 신경망을 생성하여 분류 및 회귀 마이닝 모델을 만듭니다. 예측 가능한 특성의 각 상태가 지정된 경우 Microsoft 신경망 알고리즘은 Microsoft 의사결정 트리 알고리즘과 유사하게 가능한 각 입력 특성 상태의 확률을 계산합니다. 나중에 이러한 확률을 사용하여 입력 특성을 기반으로 예측 특성의 결과를 예측할 수 있습니다.
예
Microsoft 신경망 알고리즘은 제조 또는 상업 프로세스와 같은 프로세스에서 사용되는 복잡한 입력 데이터를 분석하거나 상당한 양의 성향 습득 데이터가 있지만 다른 알고리즘으로 쉽게 규칙을 이끌어 낼 수 없는 비즈니스 문제를 분석하는 데 유용합니다.
다음과 같은 시나리오에서 Microsoft 신경망 알고리즘을 사용할 수 있습니다.
- 홍보 메일 행사나 라디오 광고 캠페인의 성공 정도 측정과 같은 마케팅 및 홍보 행사 분석
- 기록 데이터를 사용하여 주식 이동, 통화 변동 또는 유동성이 큰 기타 재무 정보 예측
- 제조 및 공업 프로세스 분석
알고리즘 작동 방법
Microsoft 신경망 알고리즘은 최대 3 계층의 뉴런 또는 퍼셉트론으로 구성된 다중 계층 퍼셉트론 신경망(역전파 델타 규칙 네트워크)을 사용합니다. 이러한 3개의 계층은 입력 계층, 출력 계층 및 숨겨진 계층(옵션)입니다. 다중 계층 퍼셉트론 신경망에서 각 뉴런은 하나 이상의 입력을 받아 하나 이상의 동일한 출력을 생성합니다. 각 출력은 뉴런에 대한 입력 합계의 간단한 비선형 함수입니다. 입력은 입력 계층의 노드에서 숨겨진 계층의 노드로 전달된 후 최종적으로 출력 계층으로 전달됩니다. 계층 내 뉴런 사이에는 연결이 없습니다. 숨겨진 계층이 없는 경우에는 입력이 입력 계층의 노드에서 출력 계층의 노드로 전달됩니다. 다중 계층 퍼셉트론 신경망에 대한 자세한 내용은 이 설명서에서 다루지 않습니다.
Microsoft 신경망 알고리즘을 사용하여 생성된 마이닝 모델은 입력 및 예측에 모두 사용되는 열 개수나 예측에만 사용되는 열 개수에 따라 여러 네트워크를 포함할 수 있습니다. 단일 마이닝 모델이 포함할 수 있는 네트워크 수는 마이닝 모델이 사용하는 입력 열 및 예측 가능한 열에 포함된 상태 수에 따라 달라집니다.
Microsoft 신경망 알고리즘을 사용하여 생성된 신경망에는 다음과 같은 3가지 유형의 뉴런이 있습니다.
- 입력 뉴런
입력 뉴런은 데이터 마이닝 모델의 입력 특성 값을 제공합니다. 불연속 입력 특성의 경우 입력 뉴런은 일반적으로 누락된 값을 포함한 입력 특성의 단일 상태를 나타냅니다. 예를 들어 이진 입력 특성은 해당 특성의 값이 있는지 여부를 나타내기 위해 누락된 상태 또는 기존 상태를 설명하는 입력 노드 하나를 생성합니다. 입력 특성으로 사용되는 부울 열은 3개의 입력 뉴런, 즉 true 값에 대해 뉴런 하나, false 값에 대해 뉴런 하나, 그리고 누락된 상태나 기존 상태에 대해 뉴런 하나를 생성합니다. 3개 이상의 상태가 있는 불연속 입력 특성은 각 상태에 대해 입력 뉴런 하나와 누락된 상태 또는 기존 상태에 대해 입력 뉴런 하나를 생성합니다. 연속 입력 특성은 두 개의 입력 뉴런, 즉 누락된 상태 또는 기존 상태에 대해 뉴런 하나와 연속 특성 자체 값에 대해 뉴런 하나를 생성합니다. 입력 뉴런은 하나 이상의 숨겨진 뉴런에 입력을 제공합니다. - 숨겨진 뉴런
숨겨진 뉴런은 입력 뉴런에서 입력을 받아 출력 뉴런에 출력을 제공합니다. - 출력 뉴런
출력 뉴런은 데이터 마이닝 모델의 예측 가능한 특성 값을 나타냅니다. 불연속 입력 특성의 경우 출력 뉴런은 일반적으로 누락된 값을 포함한 예측 가능한 특성의 단일 예측 상태를 나타냅니다. 예를 들어 예측 가능한 이진 특성은 해당 특성의 값이 있는지 여부를 나타내기 위해 누락된 상태 또는 기존 상태를 설명하는 출력 노드 하나를 생성합니다. 예측 가능한 특성으로 사용되는 부울 열은 3개의 출력 뉴런, 즉 true 값에 대해 뉴런 하나, false 값에 대해 뉴런 하나, 그리고 누락된 상태나 기존 상태에 대해 뉴런 하나를 생성합니다. 3개 이상의 상태가 있는 예측 가능한 불연속 특성은 각 상태에 대해 출력 뉴런 하나와 누락된 상태 또는 기존 상태에 대해 출력 뉴런 하나를 생성합니다. 예측 가능한 연속 열은 두 개의 출력 뉴런, 즉 누락된 상태 또는 기존 상태에 대해 뉴런 하나와 연속 열 자체 값에 대해 뉴런 하나를 생성합니다. 예측 가능한 열 집합을 검토하여 500개가 넘는 출력 뉴런이 생성되는 경우 Analysis Services 에서는 마이닝 모델에 새 네트워크를 생성하여 추가 출력 뉴런을 나타냅니다.
각 뉴런은 여러 개의 입력을 받습니다. 입력 뉴런의 경우 원래 데이터에서 입력을 받고 숨겨진 뉴런 및 출력 뉴런의 경우 신경망의 다른 뉴런 출력에서 입력을 받습니다. 입력은 뉴런 간에 관계를 설정하며 이러한 관계는 특정 사례 집합에 대한 분석 경로 역할을 합니다.
각 입력에는 가중치라는 할당된 값이 있으며 이 값은 숨겨진 뉴런 또는 출력 뉴런에 대한 특정 입력의 관련성 또는 중요도를 설명합니다. 알고리즘에서 입력이 특정 사례를 성공적으로 분류하는지 여부를 결정할 때 해당 입력에 할당된 가중치가 클수록 뉴런에 대한 입력 값의 관련성 또는 중요도가 커집니다. 가중치는 음수가 될 수 있으며 이 경우 입력이 특정 뉴런을 활성화하는 대신 차단할 수 있음을 의미합니다. 특정 뉴런에 대한 입력을 강조하기 위해 입력 값을 가중치와 곱합니다. 음수 가중치의 경우 입력 값을 가중치와 곱하여 입력이 부각되지 않습니다.
마찬가지로 각 뉴런에는 활성화 함수라는 간단한 비선형 함수가 할당되어 있으며 이 함수는 신경망 계층에 대한 특정 뉴런의 관련성 또는 중요도를 설명합니다. 숨겨진 뉴런은 활성화 함수로 하이퍼탄젠트 함수를 사용하는 반면 출력 뉴런은 활성화 함수로 시그모이드 함수를 사용합니다. 두 함수는 모두 신경망이 입력 뉴런과 출력 뉴런 간의 비선형 관계를 모델링할 수 있도록 하는 비선형 연속 함수입니다.
신경망 성향 습득
Microsoft 신경망 알고리즘을 사용하는 데이터 마이닝 모델의 성향 습득에는 여러 단계가 필요합니다. 이러한 단계는 알고리즘에 사용 가능한 매개 변수에 대해 지정한 값에 큰 영향을 받습니다.
먼저 데이터 원본에서 성향 습득 데이터가 평가 및 추출됩니다. 홀드아웃 데이터라는 성향 습득 데이터의 비율은 결과 모델 구조의 정확도를 측정하는 데 사용하기 위해 예약됩니다. 성향 습득 프로세스 중 모델은 성향 습득 데이터에 대한 각 반복 후에 홀드아웃 데이터와 비교 평가됩니다. 모델의 정확도가 더 이상 증가하지 않으면 성향 습득 프로세스가 중지됩니다. SAMPLE_SIZE 및 HOLDOUT_PERCENTAGE 매개 변수의 값은 성향 습득 데이터에서 샘플링할 사례 수와 홀드아웃 데이터로 예약할 사례 수를 결정하는 데 사용됩니다. HOLDOUT_SEED 매개 변수 값은 홀드아웃 데이터로 예약할 개별 사례를 임의로 결정하는 데 사용됩니다.
그런 다음 알고리즘은 마이닝 모델이 지원하는 네트워크의 수 및 복잡도를 확인합니다. 마이닝 모델이 예측에만 사용되는 특성을 하나 이상 포함하면 이러한 모든 특성을 나타내는 단일 네트워크가 생성됩니다. 마이닝 모델이 입력 및 예측에 모두 사용되는 특성을 하나 이상 포함하면 이러한 각 특성에 대해 네트워크가 하나씩 생성됩니다. 입력 또는 예측 가능한 특성 수가 각각 MAXIMUM_INPUT_ATTRIBUTES 매개 변수 또는 MAXIMUM_OUTPUT_ATTRIBUTES 매개 변수 값보다 크면 마이닝 모델에 포함된 네트워크의 복잡도를 낮추기 위해 기능 선택 알고리즘이 사용됩니다. 기능 선택은 통계상 모델과 가장 관련성이 높은 특성만 남겨 입력 또는 예측 가능한 특성 수를 줄입니다.
불연속 값이 포함된 입력 또는 예측 가능한 특성의 경우 각 입력 또는 출력 뉴런이 각각 단일 상태를 나타냅니다. 연속 특성이 포함된 입력 및 예측 가능한 특성의 경우에는 각 입력 또는 출력 뉴런이 각각 특성 값의 범위 및 분포를 나타냅니다. 두 경우 모두에서 지원되는 최대 상태 수는 MAXIMUM_STATES 알고리즘 매개 변수 값에 따라 달라집니다. 특정 특성의 상태 수가 MAXIMUM_STATES 알고리즘 매개 변수 값을 초과하면 해당 특성에 대해 가장 많이 사용되거나 해당 특성과 관련성이 가장 높은 상태가 최대값을 초과하지 않는 한도 내에서 선택되고 나머지 상태는 분석을 위해 누락된 값으로 그룹화됩니다.
그런 다음 알고리즘은 HIDDEN_NODE_RATIO 매개 변수 값을 사용하여 숨겨진 계층에 대해 만들 초기 뉴런 수를 결정합니다. HIDDEN_NODE_RATIO를 0으로 설정하여 알고리즘이 마이닝 모델에 대해 생성하는 네트워크에서 숨겨진 계층의 생성을 방지하고 신경망을 로지스틱 회귀로 처리할 수 있습니다.
알고리즘 공급자는 이전에 예약된 성향 습득 데이터 집합을 사용하고 일괄 학습이라는 프로세스를 통해 홀드아웃 데이터에 있는 각 사례의 실제 알려진 값을 네트워크의 예측과 비교하여 네트워크 전반의 모든 입력 가중치를 반복하여 동시에 평가합니다. 알고리즘은 전체 성향 습득 데이터 집합을 평가한 후 각 뉴런의 예측 값 및 실제 값을 검토합니다. 이때 오류 정도(있는 경우)를 계산하고 역전파라는 프로세스를 통해 출력 뉴런에서 입력 뉴런으로 반대 방향으로 작업하여 해당 뉴런에 대한 입력과 연결된 가중치를 조정합니다. 그런 다음 전체 성향 습득 데이터 집합에 대해 이 프로세스를 반복합니다. 알고리즘에 다양한 가중치 및 출력 뉴런을 사용할 수 있으므로 입력에 대한 가중치 할당 및 평가를 위해 켤레 경사도 알고리즘을 사용하여 성향 습득 프로세스를 진행할 수 있습니다. 켤레 경사도 알고리즘에 대한 자세한 내용은 이 설명서에서 다루지 않습니다.
알고리즘 사용
신경망 모델은 하나의 키 열, 하나 이상의 입력 열, 하나 이상의 예측 가능한 열을 포함해야 합니다.
Microsoft 신경망 알고리즘은 다음 표에 나열된 특정 입력 열 내용 유형, 예측 가능한 열 내용 유형 및 모델링 플래그를 지원합니다.
입력 열 내용 유형 |
Continuous, Cyclical, Discrete, Discretized, Key, Table 및 Ordered |
예측 가능한 열 내용 유형 |
Continuous, Cyclical, Discrete, Discretized 및 Ordered |
모델링 플래그 |
MODEL_EXISTENCE_ONLY 및 NOT NULL |
분산 플래그 |
Normal, Uniform 및 Log Normal |
모든 Microsoft 알고리즘은 공통 함수 집합을 지원합니다. 그러나 Microsoft 신경망 알고리즘은 다음 표에 나열된 함수를 추가로 지원합니다.
|
모든 Microsoft 알고리즘에 공통된 함수 목록은 데이터 마이닝 알고리즘을 참조하십시오. 이러한 함수 사용 방법은 DMX(데이터 마이닝 확장) 함수 참조를 참조하십시오.
마이닝 모델의 노드 구조가 반드시 기본 데이터에 직접 해당하지 않을 수 있기 때문에 Microsoft 신경망 알고리즘을 사용하여 생성된 모델에는 드릴스루 또는 데이터 마이닝 차원을 사용할 수 없습니다.
Microsoft 신경망 알고리즘은 결과 마이닝 모델의 성능 및 정확도에 영향을 주는 여러 매개 변수를 지원합니다. 다음 표에서는 각 매개 변수를 설명합니다.
매개 변수 | 설명 |
---|---|
HIDDEN_NODE_RATIO |
입력 및 출력 뉴런에 대한 숨겨진 뉴런의 비율을 지정합니다. 다음 수식에서는 숨겨진 계층의 초기 뉴런 수를 결정합니다. HIDDEN_NODE_RATIO * SQRT(Total input neurons * Total output neurons) 기본값은 4.0입니다. |
HOLDOUT_PERCENTAGE |
홀드아웃 오류를 계산하는 데 사용되는 성향 습득 데이터 내의 사례 비율을 지정합니다. 이 비율은 마이닝 모델 성향 습득 중 중지 조건의 일부로 사용됩니다. 기본값은 30입니다. |
HOLDOUT_SEED |
알고리즘이 홀드아웃 데이터를 임의로 결정할 때 난수 생성기의 초기값으로 사용할 숫자를 지정합니다. 이 매개 변수를 0으로 설정하면 알고리즘은 마이닝 모델의 이름을 기반으로 초기값을 생성하여 다시 처리하는 동안 모델 내용이 동일하게 유지되도록 합니다. 기본값은 0입니다. |
MAXIMUM_INPUT_ATTRIBUTES |
기능 선택을 사용하기 전에 알고리즘에 제공할 수 있는 최대 입력 특성 수를 결정합니다. 이 값을 0으로 설정하면 입력 특성에 대해 기능 선택을 사용할 수 없습니다. 기본값은 255입니다. |
MAXIMUM_OUTPUT_ATTRIBUTES |
기능 선택을 사용하기 전에 알고리즘에 제공할 수 있는 최대 출력 특성 수를 결정합니다. 이 값을 0으로 설정하면 출력 특성에 대해 기능 선택을 사용할 수 없습니다. 기본값은 255입니다. |
MAXIMUM_STATES |
알고리즘이 지원하는 특성 당 최대 불연속 상태 수를 지정합니다. 특정 특성의 상태 수가 이 매개 변수에 지정한 수보다 크면 알고리즘은 해당 특성에 대해 가장 많이 사용되는 상태를 사용하고 나머지 상태를 누락된 것으로 처리합니다. 기본값은 100입니다. |
SAMPLE_SIZE |
모델의 성향 습득에 사용되는 사례 수를 지정합니다. 이 알고리즘은 HOLDOUT_PERCENTAGE 매개 변수에 의해 지정된 홀드아웃 데이터에 포함되지 않은 총 사례 수의 비율이나 이 숫자 중 더 작은 값을 사용합니다. 즉, HOLDOUT_PERCENTAGE를 30으로 설정한 경우 알고리즘은 이 매개 변수 값이나 총 사례 수의 70%와 같은 값 중 더 작은 값을 사용합니다. 기본값은 10000입니다. |
참고 항목
개념
데이터 마이닝 알고리즘
데이터 마이닝에서 기능 선택
데이터 마이닝 도구 사용
Microsoft 신경망 뷰어를 사용하여 마이닝 모델 보기