Microsoft 시퀀스 클러스터링 알고리즘 기술 참조Microsoft Sequence Clustering Algorithm Technical Reference

적용 대상:예SQL Server Analysis Services아니요Azure Analysis ServicesAPPLIES TO:yesSQL Server Analysis ServicesnoAzure Analysis ServicesMicrosoft 시퀀스 클러스터링 알고리즘은 Markov 체인 분석을 사용 하 여 정렬 된 시퀀스를 식별 하 고, 시퀀스 및 기타 특성에 따라 클러스터 생성 방법으로 클러스터링과 함께이 분석 결과 결합 하는 하이브리드 알고리즘 모델입니다. The Microsoft Sequence Clustering algorithm is a hybrid algorithm that uses Markov chain analysis to identify ordered sequences, and combines the results of this analysis with clustering techniques to generate clusters based on the sequences and other attributes in the model. 이 항목에서는 알고리즘의 구현, 알고리즘을 사용자 지정하는 방법 및 시퀀스 클러스터링 모델에 대한 특수한 요구 사항을 설명합니다.This topic describes the implementation of the algorithm, how to customize the algorithm, and special requirements for sequence clustering models.

시퀀스 클러스터링 모델을 찾아보고 쿼리하는 방법을 비롯하여 알고리즘에 대한 자세한 내용은 Microsoft Sequence Clustering Algorithm을 참조하십시오.For more general information about the algorithm, including how to browse and query sequence clustering models, see Microsoft Sequence Clustering Algorithm.

Microsoft 시퀀스 클러스터링 알고리즘 구현Implementation of the Microsoft Sequence Clustering Algorithm

Microsoft 시퀀스 클러스터링 모델에서는 Markov 모델을 사용하여 시퀀스를 식별하고 시퀀스의 확률을 확인합니다.The Microsoft Sequence Clustering model uses Markov models to identify sequences and determine the probability of sequences. Markov 모델은 여러 상태 간의 전환을 저장하는 방향 그래프입니다.A Markov model is a directed graph that stores the transitions between different states. Microsoft 시퀀스 클러스터링 알고리즘에서는 Hidden Markov 모델이 아니라 n차 Markov 체인을 사용합니다.The Microsoft Sequence Clustering algorithm uses n-order Markov chains, not a Hidden Markov model.

Markov 체인의 차수는 현재 상태의 확률을 확인하는 데 사용된 상태 수를 나타냅니다.The number of orders in a Markov chain tells you how many states are used to determine the probability of the current states. 예를 들어 1차 Markov 모델에서 현재 상태의 확률은 이전 상태에 따라서만 달라지고,In a first-order Markov model, the probability of the current state depends only on the previous state. 2차 Markov 체인에서 상태의 확률은 이전의 두 상태에 따라 달라집니다.In a second-order Markov chain, the probability of a state depends on the previous two states, and so forth. 각 Markov 체인의 전환 행렬에는 각 상태 조합에 대한 전환이 저장됩니다.For each Markov chain, a transition matrix stores the transitions for each combination of states. Markov 체인의 길이가 늘어나면 행렬의 크기도 기하급수적으로 늘어나며 행렬이 매우 스파스하게 됩니다.As the length of the Markov chain increases, the size of the matrix also increases exponentially, and the matrix becomes extremely sparse. 또한 그에 따라 처리 시간도 늘어납니다.Processing time also increases proportionally.

사이트의 웹 페이지 방문을 분석하는 클릭 동향 분석 예를 사용하여 체인을 시각화하면 매우 유용할 수 있습니다.It might be helpful to visualize the chain by using the example of clickstream analysis, which analyzes visits to Web pages on a site. 각 사용자는 각 세션에 대해 긴 클릭 시퀀스를 생성합니다.Each user creates a long sequence of clicks for each session. 모델을 만들어 웹 사이트에서의 사용자 동작을 분석할 경우 학습에 사용되는 데이터 집합은 URL의 시퀀스로서, 이는 동일한 클릭 경로의 모든 인스턴스 수를 포함하는 그래프로 변환됩니다.When you create a model to analyze user behavior on a Web site, the data set used for training is a sequence of URLs, converted to a graph that includes the count of all instances of the same click path. 예를 들어 이 그래프에는 사용자가 1페이지에서 2페이지로 이동하는 확률(10%), 1페이지에서 3페이지로 이동하는 확률(20%) 등이 포함됩니다.For example, the graph contains the probability that the user moves from page 1 to page 2 (10%), the probability that the user moves from page 1 to page 3 (20%), and so forth. 가능한 모든 경로와 부분 경로를 함께 포함하면 관찰된 단일 경로보다 길고 복잡한 그래프가 생성됩니다.When you put all the possible paths and pieces of the paths together, you obtain a graph that might be much longer and more complex than any single observed path.

기본적으로 Microsoft 시퀀스 클러스터링 알고리즘에서는 EM(Expectation Maximization) 클러스터링 방법을 사용합니다.By default, the Microsoft Sequence Clustering algorithm uses the Expectation Maximization (EM) method of clustering. 자세한 내용은 Microsoft 클러스터링 알고리즘 기술 참조를 참조하세요.For more information, see Microsoft Clustering Algorithm Technical Reference.

순차적 특성과 비순차적 특성이 모두 클러스터링 대상이 됩니다.The targets of clustering are both the sequential and nonsequential attributes. 각 클러스터는 확률 분포를 사용하여 무작위로 선택됩니다.Each cluster is randomly selected using a probability distribution. 각 클러스터에는 전체 경로 집합을 나타내는 Markov 체인과 시퀀스 상태 전환 및 확률이 들어 있는 행렬이 포함됩니다.Each cluster has a Markov chain that represents the complete set of paths, and a matrix that contains the sequence state transitions and probabilities. 초기 분포에 따라 특정 클러스터에 있는 특성의 확률(시퀀스 포함)을 계산하는 데는 Bayes 규칙이 사용됩니다.Based on the initial distribution, Bayes rule is used to calculate the probability of any attribute, including a sequence, in a specific cluster.

Microsoft 시퀀스 클러스터링 알고리즘에서는 모델에 비순차적 특성을 추가할 수 있습니다.The Microsoft Sequence Clustering algorithm supports the additional of nonsequential attributes to the model. 일반적인 클러스터링 모델에서와 마찬가지로 이러한 추가 특성은 순차적 특성과 결합되어 비슷한 특성이 있는 사례의 클러스터를 생성합니다.This means that these additional attributes are combined with the sequence attributes to create clusters of cases with similar attributes, just like in a typical clustering model.

시퀀스 클러스터링 모델은 일반적인 클러스터링 모델보다 더 많은 클러스터를 만드는 경향이 있습니다.A sequence clustering model tends to create many more clusters than a typical clustering model. 따라서 Microsoft 시퀀스 클러스터링 알고리즘은 클러스터 분해를 수행하여 시퀀스 및 기타 특성에 따라 클러스터를 분리합니다.Therefore, the Microsoft Sequence Clustering algorithm performs cluster decompositionto separate clusters based on sequences and other attributes.

시퀀스 클러스터링 모델의 기능 선택Feature Selection in a Sequence Clustering Model

시퀀스를 작성할 때는 기능 선택이 호출되지 않지만 클러스터링 단계에서 기능 선택이 적용됩니다.Feature selection is not invoked when building sequences; however, feature selection applies at the clustering stage.

모델 유형Model type 기능 선택 방법Feature Selection Method 설명Comments
시퀀스 클러스터링Sequence Clustering 사용되지 않음Not used 기능 선택이 호출되지 않습니다. 그러나 MINIMUM_SUPPORT 및 MINIMUM_PROBABILIITY 매개 변수의 값을 설정하여 알고리즘의 동작을 제어할 수 있습니다.Feature selection is not invoked; however, you can control the behavior of the algorithm by setting the value of the parameters MINIMUM_SUPPORT and MINIMUM_PROBABILIITY.
ClusteringClustering 흥미도 점수Interestingness score 클러스터링 알고리즘은 불연속 또는 불연속화된 알고리즘을 사용할 수 있지만 각 특성의 점수는 거리로 계산되며 연속적입니다. 따라서 흥미도 점수가 사용됩니다.Although the clustering algorithm may use discrete or discretized algorithms, the score of each attribute is calculated as a distance and is continuous; therefore the interestingness score is used.

자세한 내용은 Feature Selection을 참조하세요.For more information, see Feature Selection.

성능 최적화Optimizing Performance

Microsoft 시퀀스 클러스터링 알고리즘에서는 다양한 방법으로 처리를 최적화할 수 있습니다.The Microsoft Sequence Clustering algorithm supports various ways to optimize processing:

  • CLUSTER_COUNT 매개 변수의 값을 설정하여 생성되는 클러스터 수를 제어합니다.Controlling the number of clusters generated, by setting a value for the CLUSTER_COUNT parameter.

  • MINIMUM_SUPPORT 매개 변수의 값을 늘려 특성으로 포함되는 시퀀스 수를 줄입니다.Reducing the number of sequences included as attributes, by increasing the value of the MINIMUM_SUPPORT parameter. 그 결과 빈도가 낮은 시퀀스는 제거됩니다.As a result, rare sequences are eliminated.

  • 모델을 처리하기 전에 관련 특성을 그룹화하여 복잡성을 줄입니다.Reducing complexity before processing the model, by grouping related attributes.

    일반적으로 다음과 같은 몇 가지 방법으로 n차 Markov 체인 모드의 성능을 최적화할 수 있습니다.In general, you can optimize the performance of an n-order Markov chain mode in several ways:

  • 가능한 시퀀스의 길이를 제어합니다.Controlling the length of the possible sequences.

  • 프로그래밍 방식으로 n 값을 줄입니다.Programmatically reducing the value of n.

  • 지정된 임계값을 초과하는 확률만 저장합니다.Storing only probabilities that exceed a specified threshold.

    이러한 방법에 대한 자세한 설명은 이 항목에서는 다루지 않습니다.A complete discussion of these methods is beyond the scope of this topic.

시퀀스 클러스터링 알고리즘 사용자 지정Customizing the Sequence Clustering Algorithm

MicrosoftMicrosoft 시퀀스 클러스터링 알고리즘은 결과 마이닝 모델의 동작, 성능 및 정확도에 영향을 주는 매개 변수를 지원합니다.The MicrosoftMicrosoft Sequence Clustering algorithm supports parameters that affect the behavior, performance, and accuracy of the resulting mining model. 알고리즘의 학습 데이터 처리 방식을 제어하는 모델링 플래그를 설정하여 완성된 모델의 동작을 수정할 수도 있습니다.You can also modify the behavior of the completed model by setting modeling flags that control the way the algorithm processes training data.

알고리즘 매개 변수 설정Setting Algorithm Parameters

다음 표에서는 Microsoft 시퀀스 클러스터링 알고리즘에서 사용할 수 있는 매개 변수에 대해 설명합니다.The following table describes the parameters that can be used with the Microsoft Sequence Clustering algorithm.

CLUSTER_COUNTCLUSTER_COUNT
알고리즘에서 작성할 클러스터의 대략적인 개수를 지정합니다.Specifies the approximate number of clusters to be built by the algorithm. 데이터에서 대략적인 개수의 클러스터를 작성할 수 없는 경우 알고리즘은 가능한 한 많은 클러스터를 작성합니다.If the approximate number of clusters cannot be built from the data, the algorithm builds as many clusters as possible. CLUSTER_COUNT 매개 변수를 0으로 설정하면 알고리즘은 경험적 접근을 사용하여 작성할 최적의 클러스터 수를 결정합니다.Setting the CLUSTER_COUNT parameter to 0 causes the algorithm to use heuristics to best determine the number of clusters to build.

기본값은 10입니다.The default is 10.

참고

0이 아닌 숫자를 지정하면 알고리즘에서는 지정된 개수를 찾고자 시도하지만 최종적으로 찾는 개수는 그보다 많을 수도 있고 적을 수도 있습니다.Specifying a non-zero number acts as a hint to the algorithm, which proceeds with the goal of finding the specified number, but may end up finding more or less.

MINIMUM_SUPPORTMINIMUM_SUPPORT
특성을 지원하며 클러스터를 만드는 데 필요한 최소 사례 수를 지정합니다.Specifies the minimum number of cases that is required in support of an attribute to create a cluster.

기본값은 10입니다.The default is 10.

MAXIMUM_SEQUENCE_STATESMAXIMUM_SEQUENCE_STATES
시퀀스에 포함할 수 있는 최대 상태 수를 지정합니다.Specifies the maximum number of states that a sequence can have.

이 값을 100보다 큰 숫자로 설정하면 알고리즘은 의미 없는 정보를 제공하는 모델을 작성합니다.Setting this value to a number greater than 100 may cause the algorithm to create a model that does not provide meaningful information.

기본값은 64입니다.The default is 64.

MAXIMUM_STATESMAXIMUM_STATES
알고리즘이 지원하는 비시퀀스 특성에 대한 최대 상태 수를 지정합니다.Specifies the maximum number of states for a non-sequence attribute that the algorithm supports. 비시퀀스 특성의 상태 수가 최대 상태 수보다 크면 알고리즘은 특성의 가장 일반적인 상태를 사용하고 나머지 상태는 Missing으로 처리합니다.If the number of states for a non-sequence attribute is greater than the maximum number of states, the algorithm uses the attribute’s most popular states and treats the remaining states as Missing.

기본값은 100입니다.The default is 100.

모델링 플래그Modeling Flags

MicrosoftMicrosoft 시퀀스 클러스터링 알고리즘에서 지원되는 모델링 플래그는 다음과 같습니다.The following modeling flags are supported for use with the MicrosoftMicrosoft Sequence Clustering algorithm.

NOT NULLNOT NULL
열에 null이 포함될 수 없음을 나타냅니다.Indicates that the column cannot contain a null. 따라서 Analysis Services가 모델 학습 중 Null을 발견할 경우 오류가 발생합니다.An error will result if Analysis Services encounters a null during model training.

마이닝 구조 열에 적용됩니다.Applies to the mining structure column.

MODEL_EXISTENCE_ONLYMODEL_EXISTENCE_ONLY
열이 MissingExisting상태를 갖는 것으로 간주됩니다.Means that the column will be treated as having two possible states: Missing and Existing. Null은 Missing 값으로 처리됩니다.A null is treated as a Missing value.

마이닝 모델 열에 적용됩니다.Applies to the mining model column.

마이닝 모델에서의 누락 값 사용과 누락 값이 확률 점수에 주는 영향에 대한 자세한 내용은 누락 값(Analysis Services - 데이터 마이닝)을 참조하세요.For more information about the use of Missing values in mining models, and how missing values affect probability scores, see Missing Values (Analysis Services - Data Mining).

요구 사항Requirements

사례 테이블에는 사례 ID 열이 있어야 합니다.The case table must have a case ID column. 필요에 따라 사례에 대한 특성을 저장하는 다른 열도 사례 테이블에 포함될 수 있습니다.Optionally the case table can contain other columns that store attributes about the case.

Microsoft 시퀀스 클러스터링 알고리즘을 사용하려면 중첩 테이블로 저장된 시퀀스 정보가 필요합니다.The Microsoft Sequence Clustering algorithm requires sequence information, stored as a nested table. 중첩 테이블에는 단일 Key Sequence 열이 있어야 합니다.The nested table must have a single Key Sequence column. Key Sequence 열에는 문자열 데이터 형식을 비롯하여 정렬 가능한 모든 형식의 데이터가 포함될 수 있지만 각 사례에 대해 고유한 값이 포함되어야 합니다.A Key Sequence column can contain any type of data that can be sorted, including string data types, but the column must contain unique values for each case. 또한 모델을 처리하기 전에 사례 테이블과 중첩 테이블이 모두 해당 테이블과 관련된 키를 기준으로 오름차순으로 정렬되도록 해야 합니다.Moreover, before you process the model, you must ensure that both the case table and the nested table are sorted in ascending order on the key that relates the tables.

참고

Microsoft 시퀀스 알고리즘을 사용하는 모델을 만들면서 시퀀스 열은 사용하지 않을 경우 결과 모델은 시퀀스를 포함하지 않고 단지 모델에 포함된 다른 특성에 따라 사례를 클러스터링하기만 합니다.If you create a model that uses the Microsoft Sequence algorithm but do not use a sequence column, the resulting model will not contain any sequences, but will simply cluster cases based on other attributes that are included in the model.

입력 열과 예측 가능한 열Input and Predictable Columns

MicrosoftMicrosoft 시퀀스 클러스터링 알고리즘은 다음 표에 나열된 특정 입력 열과 예측 가능한 열을 지원합니다.The MicrosoftMicrosoft Sequence Clustering algorithm supports the specific input columns and predictable columns that are listed in the following table. 마이닝 모델에 사용되는 경우 콘텐츠 형식의 의미에 대한 자세한 내용은 콘텐츠 형식(데이터 마이닝)을 참조하세요.For more information about what the content types mean when used in a mining model, see Content Types (Data Mining).

Column 내용 유형Content types
입력 특성Input attribute Continuous, Cyclical, Discrete, Discretized, Key, Key Sequence, Table 및 OrderedContinuous, Cyclical, Discrete, Discretized, Key, Key Sequence, Table, and Ordered
예측 가능한 특성Predictable attribute Continuous, Cyclical, Discrete, Discretized, Table 및 OrderedContinuous, Cyclical, Discrete, Discretized, Table, and Ordered

주의Remarks

관련 항목:See Also

Microsoft Sequence Clustering Algorithm Microsoft Sequence Clustering Algorithm
시퀀스 클러스터링 모델 쿼리 예제 Sequence Clustering Model Query Examples
시퀀스 클러스터링 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)Mining Model Content for Sequence Clustering Models (Analysis Services - Data Mining)