다음을 통해 공유


Microsoft 신경망 알고리즘 기술 참조

Microsoft 신경망은 최대 3개의 뉴런 계층 또는 퍼셉트론으로 구성된 Back-Propagated 델타 규칙 네트워크라고도 하는 다층 퍼셉트론 네트워크를 사용합니다. 이러한 계층은 입력 계층, 선택적 숨겨진 계층 및 출력 계층입니다.

다층 퍼셉트론 신경망에 대한 자세한 내용은 이 설명서의 범위를 벗어납니다. 이 항목에서는 입력 및 출력 값을 정규화하는 데 사용되는 메서드와 특성 카디널리티를 줄이는 데 사용되는 기능 선택 메서드를 포함하여 알고리즘의 기본 구현에 대해 설명합니다. 이 항목에서는 알고리즘의 동작을 사용자 지정하는 데 사용할 수 있는 매개 변수 및 기타 설정에 대해 설명하고 모델 쿼리에 대한 추가 정보에 대한 링크를 제공합니다.

Microsoft 신경망 알고리즘 구현

다층 퍼셉트론 신경망에서 각 뉴런은 하나 이상의 입력을 수신하고 하나 이상의 동일한 출력을 생성합니다. 각 출력은 뉴런에 대한 입력 합계의 간단한 비선형 함수입니다. 입력은 입력 계층의 노드에서 숨겨진 계층의 노드로 전달한 다음 숨겨진 계층에서 출력 계층으로 전달합니다. 레이어 내의 뉴런 간에는 연결이 없습니다. 로지스틱 회귀 모델에서와 같이 숨겨진 계층이 포함되지 않은 경우 입력은 입력 계층의 노드에서 출력 계층의 노드로 직접 전달됩니다.

신경망에는 Microsoft 신경망 알고리즘을 사용하여 만든 세 가지 유형의 뉴런이 있습니다.

  • Input neurons

입력 뉴런은 데이터 마이닝 모델에 대한 입력 특성 값을 제공합니다. 불연속 입력 특성의 경우 입력 뉴런은 일반적으로 입력 특성의 단일 상태를 나타냅니다. 여기에는 학습 데이터에 해당 특성에 대한 null이 포함된 경우 누락된 값이 포함됩니다. 두 개 이상의 상태가 있는 불연속 입력 특성은 학습 데이터에 null이 있는 경우 각 상태에 대해 하나의 입력 뉴런과 누락된 상태에 대한 하나의 입력 뉴런을 생성합니다. 연속 입력 특성은 두 개의 입력 뉴런을 생성합니다. 하나는 누락된 상태에 대한 뉴런이고, 다른 하나는 연속 특성 자체의 값에 대한 뉴런입니다. 입력 뉴런은 하나 이상의 숨겨진 뉴런에 대한 입력을 제공합니다.

  • Hidden neurons

숨겨진 뉴런은 입력 뉴런에서 입력을 수신하고 출력 뉴런에 출력을 제공합니다.

  • Output neurons

출력 뉴런은 데이터 마이닝 모델에 대한 예측 가능한 특성 값을 나타냅니다. 불연속 입력 특성의 경우 출력 뉴런은 일반적으로 누락된 값을 포함하여 예측 가능한 특성에 대해 예측된 단일 상태를 나타냅니다. 예를 들어 이진 예측 가능한 특성은 해당 특성에 대한 값이 있는지 여부를 나타내기 위해 누락된 상태 또는 기존 상태를 설명하는 하나의 출력 노드를 생성합니다. 예측 가능한 특성으로 사용되는 부울 열은 세 가지 출력 뉴런을 생성합니다. 하나는 참(true) 값에 대한 뉴런이고, 다른 하나는 거짓(false) 값에 대한 뉴런이며, 또 다른 하나는 누락되거나 존재하는 상태에 대한 뉴런입니다. 두 개 이상의 상태를 갖는 불연속 예측 가능한 특성은 각 상태에 대해 하나의 출력 뉴런을 생성하고, 누락되거나 기존 상태에 대해 하나의 출력 뉴런을 생성합니다. 연속 예측 가능한 열은 두 개의 출력 뉴런을 생성합니다. 하나는 누락되거나 기존 상태에 대한 뉴런이고, 다른 하나는 연속 열 자체의 값에 대한 뉴런입니다. 예측 가능한 열 집합을 검토하여 500개 이상의 출력 뉴런이 생성되는 경우 Analysis Services는 마이닝 모델에 새 네트워크를 생성하여 추가 출력 뉴런을 나타냅니다.

뉴런은 네트워크 계층에 따라 다른 뉴런 또는 다른 데이터로부터 입력을 받습니다. 입력 뉴런은 원래 데이터에서 입력을 받습니다. 숨겨진 뉴런 및 출력 뉴런은 신경망에 있는 다른 뉴런의 출력에서 입력을 받습니다. 입력은 뉴런 간의 관계를 설정하고 관계는 특정 사례 집합에 대한 분석 경로 역할을 합니다.

각 입력에는 숨겨진 뉴런 또는 출력 뉴런에 대한 특정 입력의 관련성 또는 중요도를 설명하는 가중치라고 하는 값이 할당되어 있습니다. 입력에 할당된 가중치가 클수록 해당 입력의 값이 더 관련성이 높거나 중요합니다. 가중치는 음수일 수 있으며, 이는 입력이 특정 뉴런을 활성화하는 대신 억제할 수 있음을 의미합니다. 각 입력의 값은 가중치를 곱하여 특정 뉴런에 대한 입력의 중요성을 강조합니다. 음수 가중치의 경우 값을 가중치로 곱하는 효과는 중요도를 한정하는 것입니다.

각 뉴런에는 신경망의 해당 계층에 대한 특정 뉴런의 관련성 또는 중요성을 설명하는 활성화 함수라고 하는 간단한 비선형 함수가 할당되어 있습니다. 숨겨진 뉴런은 활성화 함수에 하이퍼볼릭 탄젠트 함수(tanh)를 사용하는 반면, 출력 뉴런은 활성화를 위해 시그모이드 함수를 사용합니다. 두 함수는 모두 신경망이 입력 및 출력 뉴런 간의 비선형 관계를 모델링할 수 있도록 하는 비선형 연속 함수입니다.

신경망 학습

Microsoft 신경망 알고리즘을 사용하는 데이터 마이닝 모델 학습에는 몇 가지 단계가 포함됩니다. 이러한 단계는 알고리즘 매개 변수에 대해 지정하는 값의 영향을 크게 받습니다.

알고리즘은 먼저 데이터 원본에서 학습 데이터를 평가하고 추출합니다. 홀드아웃 데이터라고 하는 학습 데이터의 백분율은 네트워크의 정확도를 평가하는 데 사용하도록 예약되어 있습니다. 학습 프로세스 전체에서 네트워크는 학습 데이터를 반복할 때마다 즉시 평가됩니다. 정확도가 더 이상 증가하지 않으면 학습 프로세스가 중지됩니다.

SAMPLE_SIZEHOLDOUT_PERCENTAGE 매개 변수의 값은 학습 데이터에서 샘플링할 사례 수와 홀드아웃 데이터에 대해 따로 둘 사례 수를 결정하는 데 사용됩니다. HOLDOUT_SEED 매개 변수의 값은 홀드아웃 데이터에 대해 따로 배치할 개별 사례를 임의로 결정하는 데 사용됩니다.

비고

이러한 알고리즘 매개 변수는 테스트 데이터 집합을 정의하기 위해 마이닝 구조에 적용되는 HOLDOUT_SIZE 및 HOLDOUT_SEED 속성과 다릅니다.

다음 알고리즘은 마이닝 모델이 지원하는 네트워크의 수와 복잡성을 결정합니다. 마이닝 모델에 예측에만 사용되는 하나 이상의 특성이 포함된 경우 알고리즘은 이러한 모든 특성을 나타내는 단일 네트워크를 만듭니다. 마이닝 모델에 입력 및 예측 모두에 사용되는 하나 이상의 특성이 포함된 경우 알고리즘 공급자는 각 특성에 대한 네트워크를 생성합니다.

불연속 값이 있는 입력 및 예측 가능한 특성의 경우 각 입력 또는 출력 뉴런은 각각 단일 상태를 나타냅니다. 연속 값이 있는 입력 및 예측 가능한 특성의 경우 각 입력 또는 출력 뉴런은 각각 특성에 대한 값의 범위와 분포를 나타냅니다. 두 경우 모두 지원되는 최대 상태 수는 MAXIMUM_STATES 알고리즘 매개 변수의 값에 따라 달라집니다. 특정 특성의 상태 수가 MAXIMUM_STATES 알고리즘 매개 변수의 값을 초과하면 해당 특성에 대해 가장 많이 사용되거나 관련 상태가 선택되고 최대 허용 상태 수까지 선택되고 나머지 상태는 분석을 위해 누락된 값으로 그룹화됩니다.

그런 다음 알고리즘은 숨겨진 계층에 대해 만들 초기 뉴런 수를 결정할 때 HIDDEN_NODE_RATIO 매개 변수의 값을 사용합니다. HIDDEN_NODE_RATIO 0으로 설정하면 알고리즘이 마이닝 모델에 대해 생성하는 네트워크에서 숨겨진 계층이 생성되지 않도록 방지하여 신경망을 로지스틱 회귀로 처리할 수 있습니다.

알고리즘 공급자는 이전에 예약된 학습 데이터 집합을 가져와서 홀드아웃 데이터의 각 사례에 대한 실제 알려진 값을 일괄 학습이라고 하는 프로세스에서 네트워크의 예측과 비교하여 네트워크 전체의 모든 입력에 대한 가중치를 동시에 반복적으로 평가합니다. 알고리즘이 전체 학습 데이터 집합을 평가한 후 알고리즘은 각 뉴런에 대해 예측된 값과 실제 값을 검토합니다. 이 알고리즘은 오류 수준(있는 경우)을 계산하고 해당 뉴런의 입력과 연결된 가중치를 조정하여 출력 뉴런에서 백프로포지션이라고 하는 프로세스의 입력 뉴런까지 뒤로 작업합니다. 그런 다음 알고리즘은 전체 학습 데이터 집합에 대해 프로세스를 반복합니다. 알고리즘은 많은 가중치 및 출력 뉴런을 지원할 수 있으므로 컨쥬게이트 그라데이션 알고리즘은 입력에 대한 가중치를 할당하고 평가하기 위한 학습 프로세스를 안내하는 데 사용됩니다. 컨쥬게이트 그라데이션 알고리즘에 대한 설명은 이 설명서의 범위를 벗어납니다.

기능 선택

입력 특성 수가 MAXIMUM_INPUT_ATTRIBUTES 매개 변수의 값보다 크거나 예측 가능한 특성 수가 MAXIMUM_OUTPUT_ATTRIBUTES 매개 변수 값보다 큰 경우 기능 선택 알고리즘을 사용하여 마이닝 모델에 포함된 네트워크의 복잡성을 줄입니다. 기능 선택은 모델과 통계적으로 가장 관련이 있는 특성의 입력 또는 예측 가능한 특성 수를 줄입니다.

기능 선택은 분석을 개선하고 처리 부하를 줄이기 위해 모든 Analysis Services 데이터 마이닝 알고리즘에서 자동으로 사용됩니다. 신경망 모델의 기능 선택에 사용되는 방법은 특성의 데이터 형식에 따라 달라집니다. 참조를 위해 다음 표에서는 신경망 모델에 사용되는 기능 선택 방법을 보여 줍니다. 또한 신경망 알고리즘을 기반으로 하는 로지스틱 회귀 알고리즘에 사용되는 기능 선택 방법도 보여 줍니다.

알고리즘 분석 방법 코멘트
신경망 흥미롭기 점수

섀넌의 엔트로피

베이즈 방식의 K2 우선권 사용

이전에 유니폼을 입은 베이지안 디리히렛(기본값)
데이터에 연속 열이 포함되어 있는 한 신경망 알고리즘은 엔트로피 기반 및 Bayesian 점수 매기기 메서드를 모두 사용할 수 있습니다.

기본값.
로지스틱 회귀 흥미롭기 점수

섀넌의 엔트로피

베이지안(K2 우선순위 사용)

이전에 유니폼을 입은 베이지안 디리히렛(기본값)
기능 선거 동작을 제어하기 위해 이 알고리즘에 매개 변수를 전달할 수 없으므로 기본값이 사용됩니다. 따라서 모든 특성이 불연속적이거나 불연속화된 경우 기본값은 BDEU입니다.

신경망 모델의 기능 선택을 제어하는 알고리즘 매개 변수는 MAXIMUM_INPUT_ATTRIBUTES, MAXIMUM_OUTPUT_ATTRIBUTES 및 MAXIMUM_STATES. HIDDEN_NODE_RATIO 매개 변수를 설정하여 숨겨진 레이어 수를 제어할 수도 있습니다.

점수 매기기 메서드

채점 은 일종의 정규화이며, 신경망 모델 학습의 맥락에서 불연속 텍스트 레이블과 같은 값을 다른 유형의 입력과 비교하고 네트워크에서 가중치를 적용할 수 있는 값으로 변환하는 프로세스를 의미합니다. 예를 들어 한 입력 특성이 Gender이고 가능한 값이 Male 및 Female이고 다른 입력 특성이 Income인 경우 값 범위가 가변적이므로 각 특성의 값은 직접 비교할 수 없으므로 가중치를 계산할 수 있도록 공통 크기 조정으로 인코딩해야 합니다. 점수 매기기는 이러한 입력을 숫자 값, 특히 확률 범위로 정규화하는 프로세스입니다. 정규화에 사용되는 함수는 극단적인 값이 분석 결과를 왜곡하지 않도록 입력 값을 균일한 배율로 보다 균등하게 분산하는 데도 도움이 됩니다.

신경망의 출력도 인코딩됩니다. 출력에 대한 단일 대상(즉, 예측) 또는 입력이 아닌 예측에만 사용되는 여러 대상이 있는 경우 모델은 단일 네트워크를 만들고 값을 정규화할 필요가 없는 것처럼 보일 수 있습니다. 그러나 입력 및 예측에 여러 특성을 사용하는 경우 모델은 여러 네트워크를 만들어야 합니다. 따라서 모든 값을 정규화해야 하며 출력도 네트워크를 종료할 때 인코딩되어야 합니다.

입력에 대한 인코딩은 학습 사례에서 각 불연속 값의 합계를 계산하고 해당 값의 가중치를 곱한 값을 기반으로 합니다. 이를 숨겨진 계층의 활성화 함수에 전달되는 가중 합계라고 합니다. z 점수는 다음과 같이 인코딩에 사용됩니다.

불연속 값

μ = p - 상태의 이전 확률

StdDev = sqrt(p(1-p))

연속 값

현재 값= 1 - μ/σ

기존 값 없음= -μ/σ

값이 인코딩된 후 입력은 가중치 합계를 거쳐 네트워크 에지를 가중치로 사용합니다.

출력에 대한 인코딩은 예측에 매우 유용하게 만드는 속성이 있는 시그모이드 함수를 사용합니다. 이러한 속성 중 하나는 원래 값의 크기를 조정하는 방법과 값이 음수인지 양수인지에 관계없이 이 함수의 출력은 항상 0에서 1 사이의 값이며 확률을 예측하는 데 적합합니다. 또 다른 유용한 속성은 시그모이드 함수가 부드러운 효과를 가지므로 값이 변곡점에서 멀리 이동하면 값의 확률이 0 또는 1로 이동하지만 속도가 느려집니다.

신경망 알고리즘 사용자 지정

Microsoft 신경망 알고리즘은 결과 마이닝 모델의 동작, 성능 및 정확도에 영향을 주는 몇 가지 매개 변수를 지원합니다. 열에 모델링 플래그를 설정하거나 배포 플래그를 설정하여 열 내의 값을 처리하는 방법을 지정하여 모델이 데이터를 처리하는 방식을 수정할 수도 있습니다.

알고리즘 매개 변수 설정

다음 표에서는 Microsoft 신경망 알고리즘과 함께 사용할 수 있는 매개 변수에 대해 설명합니다.

히든_노드_비율
숨겨진 뉴런과 입력 및 출력 뉴런의 비율을 지정합니다. 다음 수식은 숨겨진 계층의 초기 뉴런 수를 결정합니다.

HIDDEN_NODE_RATIO * SQRT(총 입력 뉴런 * 총 출력 뉴런)

기본값은 4.0입니다.

보류 비율
마이닝 모델을 학습하는 동안 중지 조건의 일부로 사용되는 홀드아웃 오류를 계산하는 데 사용되는 학습 데이터 내의 사례 비율을 지정합니다.

기본값은 30입니다.

HOLDOUT_SEED
알고리즘이 홀드아웃 데이터를 임의로 결정할 때 의사 임의 생성기를 시드하는 데 사용되는 숫자를 지정합니다. 이 매개 변수가 0으로 설정된 경우 알고리즘은 마이닝 모델의 이름을 기반으로 시드를 생성하여 다시 처리하는 동안 모델 콘텐츠가 동일하게 유지되도록 합니다.

기본값은 0입니다.

최대 입력 속성
기능 선택이 사용되기 전에 알고리즘에 제공할 수 있는 최대 입력 특성 수를 결정합니다. 이 값을 0으로 설정하면 입력 특성에 대한 기능 선택이 비활성화됩니다.

기본값은 255입니다.

최대 출력 속성
기능 선택이 사용되기 전에 알고리즘에 제공할 수 있는 출력 특성의 최대 수를 결정합니다. 이 값을 0으로 설정하면 출력 특성에 대한 기능 선택이 비활성화됩니다.

기본값은 255입니다.

최대 상태
알고리즘에서 지원하는 특성당 불연속 상태의 최대 수를 지정합니다. 특정 특성의 상태 수가 이 매개 변수에 대해 지정된 수보다 크면 알고리즘은 해당 특성에 가장 많이 사용되는 상태를 사용하고 나머지 상태를 누락된 것으로 처리합니다.

기본값은 100입니다.

표본 크기
모델을 학습하는 데 사용할 사례 수를 지정합니다. 이 알고리즘은 HOLDOUT_PERCENTAGE 매개 변수에서 지정한 대로 홀드아웃 데이터에 포함되지 않은 총 사례의 백분율 또는 이 숫자 중 더 작은 값을 사용합니다.

즉, HOLDOUT_PERCENTAGE 30으로 설정된 경우 알고리즘은 이 매개 변수의 값 또는 총 사례 수의 70%에 해당하는 값을 사용합니다.

기본값은 10000입니다.

모델링 플래그

다음 모델링 플래그는 Microsoft 신경망 알고리즘에서 사용할 수 있습니다.

NULL이 아님 (NOT NULL)
열에 null을 포함할 수 없음을 나타냅니다. 모델 학습 중에 Analysis Services가 null을 발견하면 오류가 발생합니다.

마이닝 구조 열에 적용됩니다.

모델_존재_전용
모델이 특성에 대한 값이 있는지 또는 값이 누락되었는지 여부만 고려해야 했음을 나타냅니다. 정확한 값은 중요하지 않습니다.

마이닝 모델 열에 적용됩니다.

배포 플래그

Microsoft 신경망 알고리즘에서 사용할 수 있는 배포 플래그는 다음과 같습니다. 플래그는 모델에 대한 힌트로만 사용됩니다. 알고리즘이 다른 배포를 검색하면 힌트에 제공된 배포가 아니라 찾은 배포를 사용합니다.

정상
열 내의 값이 일반 또는 가우스 분포를 나타내는 것처럼 처리되어야 했음을 나타냅니다.

제복
열 내의 값이 균일하게 분산된 것처럼 처리되어야 했음을 나타냅니다. 즉, 모든 값의 확률은 대략 같으며 총 값 수의 함수입니다.

로그 정규 분포
열 내의 값은 로그 정규 곡선에 따라 분산된 것처럼 처리되어야 하며, 이는 값의 로그가 정상적으로 분산됨을 의미합니다.

요구 사항

신경망 모델에는 하나 이상의 입력 열과 하나의 출력 열이 포함되어야 합니다.

입력 열 및 예측 가능한 열

Microsoft 신경망 알고리즘은 다음 표에 나열된 특정 입력 열과 예측 가능한 열을 지원합니다.

칼럼 내용 유형
입력 특성 연속형, 순환형, 이산형, 이산화된, 키, 테이블 및 정렬된
예측 가능한 특성 연속, 순환, 불연속, 불연속화 및 순서 지정

비고

주기적 및 순서가 지정된 콘텐츠 형식은 지원되지만 알고리즘은 이를 불연속 값으로 처리하며 특수한 처리를 수행하지 않습니다.

또한 참조하십시오

Microsoft 신경망 알고리즘
신경망 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)
신경망 모델 쿼리 예제