WO2015064829A1 - 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템 - Google Patents

데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템 Download PDF

Info

Publication number
WO2015064829A1
WO2015064829A1 PCT/KR2013/011630 KR2013011630W WO2015064829A1 WO 2015064829 A1 WO2015064829 A1 WO 2015064829A1 KR 2013011630 W KR2013011630 W KR 2013011630W WO 2015064829 A1 WO2015064829 A1 WO 2015064829A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
classification
degree
classification model
clustering
Prior art date
Application number
PCT/KR2013/011630
Other languages
English (en)
French (fr)
Inventor
신동민
이재영
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Publication of WO2015064829A1 publication Critical patent/WO2015064829A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/70Machine learning, data mining or chemometrics

Definitions

  • Embodiments of the present invention relate to data classification techniques, and more particularly, to a data classification apparatus and method and a data collection system using the same.
  • the data In order to classify certain data, the data must be clearly labeled. Therefore, it is difficult to classify the data when the label of the data is not clear and is expressed only by the class membership degree. For example, as shown in Table 1 below, when the degree of association with the server failure is indicated by the class membership degree, the performance data should be classified as Abnormal: A as shown in Table 1 below. It is difficult to classify as: N).
  • the classification result also has a low reliability because the result of labeling with class membership degree is low reliability.
  • An embodiment of the present invention is to provide a data classification apparatus and method and a data collection system using the same can improve data classification performance.
  • An embodiment of the present invention is to provide a data classification apparatus and method and a data collection system using the same that can classify data whose label is unclear.
  • a data classification apparatus may include a clustering unit configured to group the vector by reflecting the class belonging degree to a plurality of classification target data including a vector including a class belonging degree and at least one attribute value. ; And a classification model generator configured to label the plurality of classification target data according to the clustered result and to generate a classification model using the labeled classification target data.
  • the data classification apparatus may further include a cluster parameter determining unit configured to optimize a cluster parameter value according to the first clustering of each vector of the classification target data, wherein the clustering unit is configured to use the cluster parameter value and the class belonging degree.
  • a vector of sorted data can be regrouped.
  • the cluster parameter determiner may optimize the cluster parameter value according to whether the similarity of the vectors in the cluster exceeds a preset value and the distance between the clusters exceeds a preset value.
  • the clustering unit may regroup the vectors of the plurality of classification target data through the following equation.
  • n Influence of class affinity.
  • PDF ' New probability density function that reflects the class membership of the data being classified.
  • the classification model generation unit may label the binary classification based on whether or not a cluster of each classification target data is included.
  • the data classification apparatus may further include a verification unit that verifies the accuracy of the generated classification model.
  • the verification unit may label the plurality of test data using a class belonging value of the test data, and calculate the accuracy of the classification model by substituting the labeled test data into the classification model.
  • the clustering unit may regroup the vector of a plurality of classification target data by adjusting a degree of reflection of the class belonging degree.
  • the verification unit may calculate the accuracy of the classification model according to the degree of correspondence between the classification result according to the labeling of the test data and the classification result according to the classification model of the test data.
  • the data classification apparatus may further include a communication unit configured to receive input data from a data collection unit, and to transmit the data collection period change signal to the data collection unit according to a classification result by substituting the received input data into the classification model. have.
  • the class belonging degree may be calculated based on an association degree according to a time difference between a generation time of the classification target data and a specific event.
  • the class belonging degree may be calculated through the following equation.
  • x The time difference between when the data to be classified is generated and a specific event.
  • a data classification method may include: clustering the vector by reflecting the class belonging degree to a plurality of classification target data including a vector including a class belonging degree and at least one attribute value; Labeling the plurality of classification target data according to the clustered result; And generating a classification model using the labeled classification target data.
  • the clustering may include optimizing a cluster parameter value according to a first clustering of each vector of the classification target data; And regrouping the vector of the classification target data using the cluster parameter value and the class membership.
  • the optimizing of the cluster parameter value may include optimizing the cluster parameter value according to whether the similarity of the vectors in the cluster exceeds a preset value and the distance between the clusters exceeds the preset value.
  • the vector of the plurality of classification target data may be regrouped through the following equation.
  • n Influence of class affinity.
  • PDF ' New probability density function that reflects the class membership of the data being classified.
  • the labeling of the plurality of classification target data may be performed by binary classification by labeling whether or not a cluster of each classification target data is included.
  • the method may further include verifying an accuracy of the generated classification model.
  • the verifying accuracy of the classification model may include labeling a plurality of test data using a class belonging value of test data; And substituting the labeled test data into the classification model to calculate the accuracy of the classification model.
  • the step of adjusting the degree of reflection of the class belonging degree to regroup the vector of a plurality of classification data may include.
  • the calculating of the accuracy of the classification model may be calculated according to the degree of correspondence between the classification result according to the labeling of the test data and the classification result according to the classification model of the test data.
  • the class belonging degree may be calculated based on an association degree according to a time difference between a generation time of the classification target data and a specific event.
  • the class belonging degree may be calculated through the following equation.
  • the data collection system may cluster the vector by reflecting the class belonging degree to a plurality of classification target data including a vector including a class belonging degree and at least one attribute value, A data classification device for labeling the plurality of classification data according to a clustered result, and generating a classification model using the labeled classification data; And a data collection device configured to collect data at predetermined intervals and transmit the data to the data classification device, wherein the data collection device changes the data collection period according to a result of the collected data classified by the classification model.
  • the data collection device may shorten the data collection cycle when the collected data is classified as a failure.
  • the class belonging degree may be calculated based on an association degree according to a time difference between a generation time of the classification target data and a specific event.
  • the class belonging degree may be calculated through the following equation.
  • the training data by grouping the training data to reflect the class membership included in the training data, labeling the training data according to the clustered result, and generating a classification model using the labeled training data as input data
  • even training data with a low degree of confidence in class membership can improve the classification performance of the data.
  • since the input data is classified after labeling according to the clustered result it is possible to effectively classify even in the case of data whose label is unclear.
  • the accuracy of the classification model is less than the target value, by adjusting the degree of reflection of class membership degree, it is possible to optimize the performance of the classification model.
  • FIG. 1 is a diagram illustrating a configuration of a data classification device according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a class belonging function f (x) when a and b are set to 2 in Equation 1;
  • FIG. 3 is a diagram illustrating clustering results when class belonging degree is not considered and class belonging degree is considered.
  • FIG. 4 is a flowchart illustrating a data classification method according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating a failure prediction system using a data classification device according to an embodiment of the present invention.
  • FIGS. 1 to 5 a specific embodiment of a data classification device and method and a data collection system using the same will be described with reference to FIGS. 1 to 5.
  • this is only an exemplary embodiment and the present invention is not limited thereto.
  • the data classification apparatus 100 may include a cluster parameter determiner 102, a clusterer 104, a classification model generator 106, and a verifier 108.
  • the cluster parameter determiner 102 determines a cluster parameter value capable of optimizing the clustering result when primary clustering (or grouping) a plurality of input training data. That is, the cluster parameter determiner 102 optimizes cluster parameter values of the plurality of training data.
  • the cluster parameter determiner 102 may determine what is the cluster parameter value capable of deriving an optimal cluster result that satisfies a predetermined condition when primaryly clustering a plurality of training data. For example, when the cluster parameter determining unit 102 primarily clusters a plurality of training data by the k-means clustering technique, 1) the similarity of the training data in the cluster exceeds a preset value, and 2) clusters.
  • clustering parameters to be optimized for each clustering technique may vary.
  • the cluster parameter determiner 102 may select a cluster parameter to be optimized according to a clustering technique when first clustering a plurality of training data, and then optimize the value of the selected cluster parameter. Even in the same clustering technique, the value of the optimized clustering parameter may vary depending on the type and characteristics of the training data.
  • the cluster parameter determiner 102 may determine a cluster parameter value representing an optimal cluster result by comparing the cluster result while changing the cluster parameter value for the same training data. Selection of a clustering technique, an optimization method of cluster parameters according to each clustering technique, an evaluation index of clustering results, etc. are beyond the scope of the present invention, and thus detailed description thereof will be omitted.
  • the training data includes unique identification information, class belonging degree, and attribute value.
  • Table 2 below shows training data according to an embodiment of the present invention.
  • the state value of the server is shown as one embodiment of the training data, the training data is not limited thereto.
  • the unique identification information refers to information that can distinguish the training data from other training data.
  • Class affiliation refers to the degree of association with a particular event in the training data.
  • the class affiliation may indicate a degree of association with server failure of the corresponding training data.
  • the attribute value represents the value of each attribute included in the training data.
  • the attribute value may be a value obtained by measuring each performance value, an operation value, and an environment (temperature, humidity, pressure, etc.) of the corresponding server (or device) at a predetermined time.
  • the present invention is not limited thereto, and the attribute value may be various kinds of values according to which attribute the training data includes.
  • the attribute values include CPU utilization, CPU execution queue, CPU latency, memory utilization, memory page out, memory usage (for example, actual usage area except file cache), swap usage, File system utilization.
  • the training data includes at least one attribute value, and each set of attribute values may be represented as a vector.
  • the cluster parameter determiner 102 determines a cluster parameter value for deriving an optimal cluster result when first clustering each vector of a plurality of training data.
  • the data classification apparatus 100 may generate a corresponding training data and a specific event (for example, a server failure).
  • the degree of belonging of the training data can be calculated based on the correlation between the differences. That is, the degree of association (class membership degree) with the specific event of the training data may be calculated according to when a specific event occurs after the training data occurs.
  • the specific event may include various types of server failure occurrence events defined by an administrator, such as a software error, an operating system error, a hardware damage, and a server reboot.
  • the data classification apparatus 100 may use a logistic function as shown in Equation 1 to calculate class affiliation of predetermined training data.
  • x represents the difference between the timing of occurrence of training data and the timing of occurrence of a specific event.
  • a and b represent correction coefficients set according to the characteristics of the training data.
  • FIG. 2 is a diagram illustrating a class belonging function f (x) when a and b are set to 2 in Equation 1.
  • a server failure that is, a specific event
  • the class membership of the training data is 0.992769.
  • the class membership of the training data is 0.832548.
  • the class membership of the training data is 0.273867.
  • the class membership degree of the training data decreases as the server failure time is delayed from the timing of the generation of the training data.
  • the class membership function f (x) the class membership of the training data may be calculated.
  • the clustering unit 104 secondarily clusters (regroups) the plurality of training data using the cluster parameter value determined by the cluster parameter determining unit 102.
  • the clustering unit 104 clusters training data having similarities using, for example, a clustering technique such as k-means cluster or Dirichlet cluster.
  • a clustering technique such as k-means cluster or Dirichlet cluster.
  • the clustering unit 104 regroups a plurality of training data (ie, vectors of a plurality of training data) using the determined cluster parameter value, and reflects the class membership included in each training data. Training data can be regrouped.
  • the general clustering technique determines whether the training data is included in a specific cluster by using a probability density function (PDF) set in the corresponding clustering technique, but the clustering unit 104 determines the probability density function (PDF).
  • PDF probability density function
  • the inclusion of a specific cluster is determined by reflecting the class membership of each training data.
  • the clustering unit 104 may regroup the plurality of training data through the clustering function described in Equation 2 below.
  • PDF represents a probability density function of the clustering technique
  • n represents the degree of influence of class membership. That is, when n> 1, the influence of class belonging degree becomes relatively large in a clustering process, and when n ⁇ 1, the influence of class belonging degree becomes relatively small in a clustering process.
  • the degree of influence (n) of class affiliation may be determined according to how much the class affiliation is reflected (that is, how much weight to give) when re-grouping a plurality of training data.
  • PDF ' represents a new probability density function that reflects the class membership of the training data.
  • the clustering unit 104 may reassemble the plurality of training data through the clustering function described in Equation 3 below. Can be clustered
  • dist represents the distance between the center of the cluster and the training data.
  • the center of the specific cluster may be determined by an average value of each vector included in the specific cluster, and the distance between the center of the cluster and the specific training data may be determined by the Euclidean distance between the center and the specific training data.
  • Equation 3 1) training data having a high class affiliation and a short distance from the center of the cluster belong to the cluster. 2) Even if the degree of class affiliation is high, training data that is far from the center of the cluster (that is, the representativeness of the cluster is weak) does not belong to the cluster. However, even if the representativeness of the cluster is weak, it may belong to the cluster if the class membership degree is high enough. 3) If the class membership degree is medium or low, it may be a criterion for determining whether the distance from the center of the cluster belongs to the cluster. In other words, even if the class membership is not very high, the training data having a short distance from the center of the cluster may belong to the cluster.
  • FIG. 3 is a diagram illustrating a clustering result when class belonging degree is not considered and class belonging degree is considered.
  • FIG. Here, the case of clustering by the k-means technique is shown.
  • the points shown in FIG. 3 represent training data projected on a two-dimensional Euclidean plane. The darker the point, the higher the degree of belonging to the class.
  • the classification model generation unit 106 performs labeling according to the result of regrouping the plurality of training data, and generates a classification model using the labeled training data.
  • the classification model generator 106 may label each of the training data into two classifications (ie, binary classifications) according to the regrouping result. For example, the classification model generation unit 106 labels the training data belonging to a predetermined cluster as Abnormal (A) and the training data not belonging to any cluster is normal (N) according to the regrouping result. Can be labeled.
  • the classification model generator 106 may generate a classification model using training data labeled as binary classification as input data.
  • the classification model generator 106 may generate a classification model using a classification technique such as Naive Bayesian, Random Forest, and Support Vector Machine (SVM), but is not limited thereto. There are many other classification techniques available.
  • SVM Support Vector Machine
  • the verification unit 108 may verify the accuracy of the classification model generated by the classification model generator 106.
  • the verification unit 108 may verify the accuracy of the classification model using test data having the same form as the training data.
  • the test data includes unique identification information, class membership, and attribute values, such as training data.
  • the verification unit 108 may label each test data using a class belonging value included in the input test data.
  • the verification unit 108 may classify the test data as an abnormality (A) when the class belonging degree is more than a preset value, and classify the test data as normal (N) when the class belonging degree is less than the preset value. have.
  • the verification unit 108 may input the labeled test data into the classification model generated by the classification model generation unit 106 and then check the classified result to calculate the accuracy of the classification model.
  • Table 3 is a table showing an embodiment for verifying the accuracy of the classification model generated by the classification model generator 106. Referring to Table 3, a total of 2588945 test data were used. Here, as a result of substituting 2304925 test data labeled as normal (N) into the classification model, 2300319 was classified as normal (N) and 4606 were classified as abnormal (A). As a result of substituting 284020 test data labeled abnormal (A) into the classification model, 280211 were classified as normal (N) and 3809 were classified as abnormal (A). The classification results shown in Table 3 show the accuracy and error rate of the classification model.
  • the data classification apparatus 100 when the data classification apparatus 100 receives input data from a data collector (not shown) that collects data at a predetermined collection period, the data classification apparatus 100 substitutes the input data into a classification model and generates a data collection period change signal according to the classified result. It may be transmitted to the data collector (not shown). For example, when the input data collected from the data collector (not shown) is classified as an abnormal result as a result of substituting the classification data into the classification model, the data classification device 100 may shorten the data collection cycle. The collection period change signal may be transmitted to a data collector (not shown).
  • the training data by grouping the training data to reflect the class membership included in the training data, labeling the training data according to the clustered result, and generating a classification model using the labeled training data as input data
  • even training data with a low degree of confidence in class membership can improve the classification performance of the data.
  • since the input data is classified after labeling according to the clustered result it is possible to effectively classify even in the case of data whose label is unclear.
  • the accuracy of the classification model is less than the target value, by adjusting the degree of reflection of class membership degree, it is possible to optimize the performance of the classification model.
  • Control group The classification model is generated by directly inserting the training data that has not undergone the clustering process into the classifier.
  • the accuracy of generating a classification model by directly inserting the training data without going through the clustering process is 35.8%. In one case, the accuracy is 92.9%. That is, in the case of the experimental group it can be seen that the accuracy is improved about 2.6 times compared to the control group. This is because the clustering process reflecting class affiliation contributed to the improvement of classification performance for training data with a low degree of reliability.
  • FIG. 4 is a flowchart illustrating a data classification method according to an embodiment of the present invention.
  • the data classification apparatus 100 first clusters a plurality of input training data (S 101). For example, the data classification apparatus 100 may first cluster the vectors of similar training data using a clustering technique such as a k-means cluster or a dirichlet cluster. The data classification apparatus 100 may select a cluster parameter according to a clustering technique and primary cluster each vector of the plurality of training data using a predetermined cluster parameter value.
  • a clustering technique such as a k-means cluster or a dirichlet cluster.
  • the data classification apparatus 100 may select a cluster parameter according to a clustering technique and primary cluster each vector of the plurality of training data using a predetermined cluster parameter value.
  • the data classification apparatus 100 checks whether the clustering result of the primary clustering is optimal (S 103).
  • the data classification apparatus 100 may determine whether the clustering result of the primary clustering satisfies a predetermined condition and indicates an optimal clustering result. For example, when the data classification apparatus 100 primarily clusters a plurality of training data by k-means clustering technique, 1) the similarity of training data in a cluster exceeds a preset value, and 2) between clusters. It is possible to determine whether the cluster result is optimal according to whether the distance satisfies a condition exceeding a preset value.
  • step S 103 when the clustering result of the primary clustering is not optimal, the data classification apparatus 100 performs the primary clustering again by adjusting the value of the clustering parameter (S 105). The data classification apparatus 100 checks again whether the clustering result according to the adjustment of the cluster parameter value is optimal, and repeats this process until the optimal clustering result is obtained.
  • the data classification apparatus 100 may determine a plurality of pieces of training data by using a cluster parameter value representing the optimal clustering result and class membership of each training data. Each vector is regrouped (S 107). The data classification apparatus 100 may regroup the vectors of the plurality of training data using Equation 2 above.
  • the data classification apparatus 100 labels the plurality of training data according to the result of the regrouping (S 109). For example, according to the reclassification result, the data classification apparatus 100 labels the training data belonging to a predetermined cluster as Abnormal (A), and the training data not belonging to any cluster as Normal (N). can do.
  • Abnormal Abnormal
  • N Normal
  • the data classification apparatus 100 generates a classification model using the labeled training data as input data in operation S 111.
  • the data classification apparatus 100 may generate a classification model by using a classification technique such as Naive Bayesian, Random Forest, and Support Vector Machine (SVM), but is not limited thereto. No other classification technique can be used.
  • a classification technique such as Naive Bayesian, Random Forest, and Support Vector Machine (SVM), but is not limited thereto. No other classification technique can be used.
  • the data classification apparatus 100 verifies the accuracy of the classification model (S 113).
  • the data classification apparatus 100 may label each test data using the class belonging value included in the input test data, input the labeled test data into the classification model, and then check the classified result to determine the classification model. You can verify the accuracy.
  • the data classification apparatus 100 checks whether the accuracy of the classification model reaches a target value (S 115). As a result of checking in step S 115, when the accuracy of the classification model does not reach the target value, the data classification apparatus 100 adjusts the influence value of the class belonging degree to regroup each vector of the plurality of training data (S). 117). That is, when the accuracy of the classification model does not reach the target value, the data classification apparatus 100 may regroup the respective vectors of the plurality of training data by adjusting the influence (n) value of the class membership degree in Equation 2. Can be. Thereafter, the data classification apparatus 100 labels the plurality of training data according to the result of the regrouping, and regenerates the classification model using the labeled training data, until the accuracy of the regenerated classification model reaches a target value. This process is repeated.
  • FIG. 5 is a diagram illustrating a failure prediction system using a data classification device according to an embodiment of the present invention.
  • the failure prediction system 200 includes a training server 202, a target server 204, a failure prediction server 206, and an administrator terminal 208.
  • the training server 202 is a server that performs the same or similar operations (or functions) as the target server 204.
  • the training server 202 may be a server of the same kind as the target server 204.
  • the training server 202 transmits data measuring the performance of the training server 202, an operation value, a surrounding environment, and the like to the failure prediction server 206.
  • the data transmitted by the training server 202 may be divided into training data and test data in the failure prediction server 206.
  • the target server 204 is a server to which a failure prediction system 200 is to be predicted.
  • the target server 204 transmits data measuring the performance of the target server 204, the operation value, the surrounding environment, and the like to the failure prediction server 206.
  • the target server 204 may transmit the measured data to the failure prediction server 206 in real time (or periodically).
  • the failure prediction server 206 includes a data classification device 211 and a failure prediction device 214.
  • the data classification device 211 may label the disability relatedness (ie, class belonging degree) with respect to the data transmitted from the training server 202, and then classify the data into training data and test data.
  • the data classification apparatus 211 may group training data by reflecting disability relevance of the training data, label the training data according to the clustering result, and generate a classification model using the labeled training data as input data.
  • the data classification device 211 may verify the performance of the classification model using the test data. Since the configuration and operation of the data classification device 211 has been described above, a detailed description thereof will be omitted.
  • the failure prediction apparatus 214 When data is transmitted from the target server 204, the failure prediction apparatus 214 substitutes the data into the classification model to predict the failure of the target server 204.
  • the failure prediction apparatus 214 may notify the manager terminal 208 of the possibility of failure of the target server 204 when the probability of failure exceeds a preset threshold.
  • the threshold for the possibility of failure may be determined according to the performance of the classification model.
  • the failure prediction apparatus 214 may substitute the data received from the target server 204 into the classification model and transmit a data collection period change signal to the target server 204 according to the classification result. For example, when the data received from the target server 214 is classified as Abnormal as a result of substituting the classification model, the failure prediction device 214 changes the data collection period to shorten the data collection period. The signal may be sent to the target server 204.
  • the data classification device 211 and the failure prediction device 214 are illustrated as being implemented separately, the data classification device 211 and the failure prediction device 214 may be integrally implemented.
  • the manager terminal 208 When the manager terminal 208 is notified of the possibility of failure of the target server 204 from the failure prediction server 206, the manager terminal 208 may generate an alarm sound or a warning light to alert the manager.
  • embodiments of the present invention may include a computer readable recording medium including a program for performing the methods described herein on a computer.
  • the computer-readable recording medium may include program instructions, local data files, local data structures, etc. alone or in combination.
  • the recording medium may be one specially designed and configured for the present invention, or one commonly used in the field of computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, magnetic-optical media such as floppy disks, and ROM, RAM, flash memory, and the like.
  • Hardware devices specifically configured to store and execute program instructions are included.
  • Examples of program instructions may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.
  • cluster parameter determination unit 104 clustering unit
  • failure prediction server 208 administrator terminal

Abstract

데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템이 개시된다. 본 발명의 일실시예에 따른 데이터 분류 방법은, 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 클래스 소속도를 반영하여 벡터를 군집화 하는 단계, 군집화 된 결과에 따라 복수 개의 분류 대상 데이터들을 라벨링하는 단계, 및 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 단계를 포함한다.

Description

데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템
본 발명의 실시예는 데이터 분류 기술에 관한 것으로, 보다 상세하게는 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템에 관한 것이다.
어떤 데이터를 분류하기 위해서는 해당 데이터의 라벨이 명확해야 한다. 따라서, 데이터의 라벨이 명확하지 못하고 단지 클래스 소속도로 표현되어 있는 경우에는 데이터를 분류하기 어렵게 된다. 예를 들어, 하기의 표 1과 같이 서버의 성능 데이터들에 대해 서버의 장애와의 연관성 정도가 클래스 소속도로 표시되어 있는 경우, 해당 성능 데이터를 이상(Abnormal:A)으로 분류해야 할지 정상(Normal:N)으로 분류해야 할지 어렵게 된다.
표 1
식별자 클래스 소속도 CPU 사용률 메모리 사용률 CPU 대기 시간
AAA 30.55 70.10 4.5 430.1
BBB 79.11 4.32 97.12 96.3
CCC 5.15 18.07 3.2 4.2
여기서, 클래스 소속도의 기 설정된 값을 기준으로 성능 데이터를 라벨링한다고 해도(예를 들어, 클래스 소속도의 값 60을 기준으로 그 이상인 값을 이상(A)으로 라벨링하고, 그 미만의 값을 정상(N)으로 라벨링함), 클래스 소속도를 가지고 라벨링한 결과가 신뢰도가 낮기 때문에 분류 결과 역시 신뢰도가 낮아지게 되는 문제점이 있다.
본 발명의 실시예는 데이터 분류 성능을 향상시킬 수 있는 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템을 제공하고자 한다.
본 발명의 실시예는 라벨이 불명확한 데이터를 분류할 수 있는 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템을 제공하고자 한다.
본 발명의 일 실시예에 따른 데이터 분류 장치는, 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화하는 군집화부; 및 상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하고, 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 분류 모델 생성부를 포함한다.
상기 데이터 분류 장치는, 상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화 하는 군집 파라미터 결정부를 더 포함하고, 상기 군집화부는, 상기 군집 파라미터 값 및 상기 클래스 소속도를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화 할 수 있다.
상기 군집 파라미터 결정부는, 군집 내 상기 벡터들의 유사도가 기 설정된 값을 초과하고, 군집들 간의 거리가 기 설정된 값을 초과하는지 여부에 따라 상기 군집 파라미터 값을 최적화 할 수 있다.
상기 군집화부는, 하기 수학식을 통해 상기 복수 개의 분류 대상 데이터들의 벡터를 재군집화 할 수 있다.
(수학식)
Figure PCTKR2013011630-appb-I000001
PDF : 해당 군집 기법의 확률 밀도 함수.
n : 클래스 소속도의 영향도.
PDF' : 해당 분류 대상 데이터의 클래스 소속도가 반영된 새로운 확률 밀도 함수.
상기 분류 모델 생성부는, 각 분류 대상 데이터들의 군집 포함 여부로 이진 분류하여 라벨링할 수 있다.
상기 데이터 분류 장치는, 상기 생성된 분류 모델의 정확도를 검증하는 검증부를 더 포함할 수 있다.
상기 검증부는, 테스트 데이터의 클래스 소속도 값을 이용하여 복수 개의 테스트 데이터들을 라벨링하고, 상기 라벨링된 테스트 데이터를 상기 분류 모델에 대입하여 상기 분류 모델의 정확도를 계산할 수 있다.
상기 군집화부는, 상기 분류 모델의 정확도가 목표 성능에 도달하지 못한 경우, 상기 클래스 소속도의 반영 정도를 조정하여 복수 개의 분류 대상 데이터들의 벡터를 재군집화 할 수 있다.
상기 검증부는, 상기 테스트 데이터의 라벨링에 따른 분류 결과와 상기 테스트 데이터의 상기 분류 모델에 따른 분류 결과와의 일치 정도에 따라 상기 분류 모델의 정확도를 계산할 수 있다.
상기 데이터 분류 장치는, 데이터 수집부로부터 입력 데이터를 수신하고, 수신한 입력 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 상기 데이터 수집부로 전송하는 통신부를 더 포함할 수 있다.
상기 클래스 소속도는, 상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출될 수 있다.
상기 클래스 소속도는, 하기 수학식을 통해 산출될 수 있다.
(수학식)
Figure PCTKR2013011630-appb-I000002
x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이.
a 및 b : 보정 계수.
본 발명의 일 실시예에 따른 데이터 분류 방법은, 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화 하는 단계; 상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하는 단계; 및 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 단계를 포함한다.
상기 군집화 하는 단계는, 상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화하는 단계; 및 상기 군집 파라미터 값 및 상기 클래스 소속도를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화 하는 단계를 포함할 수 있다.
상기 군집 파라미터 값을 최적화하는 단계는, 군집 내 상기 벡터들의 유사도가 기 설정된 값을 초과하고, 군집들 간의 거리가 기 설정된 값을 초과하는지 여부에 따라 상기 군집 파라미터 값을 최적화 할 수 있다.
상기 재군집화 하는 단계는, 하기 수학식을 통해 상기 복수 개의 분류 대상 데이터들의 벡터를 재군집화 할 수 있다.
(수학식)
Figure PCTKR2013011630-appb-I000003
PDF : 해당 군집 기법의 확률 밀도 함수.
n : 클래스 소속도의 영향도.
PDF' : 해당 분류 대상 데이터의 클래스 소속도가 반영된 새로운 확률 밀도 함수.
상기 복수 개의 분류 대상 데이터들을 라벨링하는 단계는, 각 분류 대상 데이터들의 군집 포함 여부로 이진 분류하여 라벨링 할 수 있다.
상기 분류 모델을 생성하는 단계 이후에, 상기 생성된 분류 모델의 정확도를 검증하는 단계를 더 포함할 수 있다.
상기 분류 모델의 정확도를 검증하는 단계는, 테스트 데이터의 클래스 소속도 값을 이용하여 복수 개의 테스트 데이터들을 라벨링하는 단계; 및 상기 라벨링된 테스트 데이터를 상기 분류 모델에 대입하여 상기 분류 모델의 정확도를 계산하는 단계를 포함할 수 있다.
상기 분류 모델의 정확도를 계산하는 단계 이후에, 상기 분류 모델의 정확도가 목표 성능에 도달하지 못한 경우, 상기 클래스 소속도의 반영 정도를 조정하여 복수 개의 분류 대상 데이터들의 벡터를 재군집화 하는 단계를 더 포함할 수 있다.
상기 분류 모델의 정확도를 계산하는 단계는, 상기 테스트 데이터의 라벨링에 따른 분류 결과와 상기 테스트 데이터의 상기 분류 모델에 따른 분류 결과와의 일치 정도에 따라 계산할 수 있다.
상기 분류 모델을 생성하는 단계 이후에, 데이터 수집부로부터 입력 데이터를 수신하는 단계; 및 수신한 상기 입력 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 상기 데이터 수집부로 전송하는 단계를 더 포함할 수 있다.
상기 클래스 소속도는, 상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출될 수 있다.
상기 클래스 소속도는, 하기 수학식을 통해 산출될 수 있다.
(수학식)
Figure PCTKR2013011630-appb-I000004
x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이
a 및 b : 보정 계수
본 발명의 일 실시예에 따른 데이터 수집 시스템은, 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화하고, 상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하며, 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 데이터 분류 장치; 및 소정 주기로 데이터를 수집하여 상기 데이터 분류 장치로 전송하는 데이터 수집 장치를 포함하며, 상기 데이터 수집 장치는, 상기 수집된 데이터가 상기 분류 모델에 의해 분류된 결과에 따라 데이터의 수집 주기를 변경한다.
상기 데이터 수집 장치는, 상기 수집된 데이터가 장애로 분류되는 경우, 상기 데이터의 수집 주기를 단축시킬 수 있다.
상기 클래스 소속도는, 상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출될 수 있다.
상기 클래스 소속도는, 하기 수학식을 통해 산출될 수 있다.
(수학식)
Figure PCTKR2013011630-appb-I000005
x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이
a 및 b : 보정 계수
본 발명의 실시예에 의하면, 훈련 데이터에 포함된 클래스 소속도를 반영하여 훈련 데이터를 군집화 하고, 군집화된 결과에 따라 훈련 데이터를 라벨링하며, 라벨링된 훈련 데이터를 입력 데이터로 하여 분류 모델을 생성함으로써, 낮은 신뢰도의 클래스 소속도를 가진 훈련 데이터라 하더라도 데이터의 분류 성능을 향상시킬 수 있게 된다. 그리고, 입력되는 데이터들을 군집화된 결과에 따라 라벨링을 한 후 분류하기 때문에, 라벨이 불명확한 데이터의 경우에도 효과적으로 분류할 수 있게 된다. 또한, 분류 모델의 정확도가 목표 값에 미달한 경우, 클래스 소속도의 반영 정도를 조정함으로써, 분류 모델의 성능을 최적화 시킬 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 데이터 분류 장치의 구성을 나타낸 도면
도 2는 수학식 1에서 a 및 b를 2로 설정한 경우의 클래스 소속도 함수(f(x))를 나타낸 도면
도 3은 클래스 소속도를 고려하지 않은 경우와 클래스 소속도를 고려한 경우의 군집 결과를 나타낸 도면
도 4는 본 발명의 일 실시예에 따른 데이터 분류 방법을 나타낸 순서도
도 5는 본 발명의 일 실시예에 따른 데이터 분류 장치를 이용한 장애 예측 시스템을 나타낸 도면
이하, 도 1 내지 도 5를 참조하여 본 발명의 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템의 구체적인 실시예를 설명하기로 한다. 그러나 이는 예시적 실시예에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 일 실시예에 따른 데이터 분류 장치의 구성을 나타낸 도면이다. 도 1을 참조하면, 데이터 분류 장치(100)는 군집 파라미터 결정부(102), 군집화부(104), 분류 모델 생성부(106), 및 검증부(108)를 포함한다.
군집 파라미터 결정부(102)는 입력되는 복수 개의 훈련 데이터들을 1차 군집화(또는 그룹화) 할 때 군집 결과를 최적화 할 수 있는 군집 파라미터 값이 무엇인지를 결정한다. 즉, 군집 파라미터 결정부(102)는 복수 개의 훈련 데이터들의 군집 파라미터 값을 최적화하는 역할을 한다. 군집 파라미터 결정부(102)는 복수 개의 훈련 데이터들을 1차 군집화 할 때 기 설정된 조건을 만족하는 최적의 군집 결과를 도출할 수 있는 군집 파라미터 값이 무엇인지를 결정할 수 있다. 예를 들어, 군집 파라미터 결정부(102)는 복수 개의 훈련 데이터들을 k-means 군집 기법에 의해 1차 군집화하는 경우, 1) 군집 내 훈련 데이터들의 유사도가 기 설정된 값을 초과하고, 2) 군집들 간의 거리가 기 설정된 값을 초과하는 조건을 만족하여 최적의 군집 결과를 도출할 수 있는 군집 파라미터 값을 결정 할 수 있다. 여기서, 복수 개의 훈련 데이터들을 1차 군집화 할 때 각 군집 기법 마다 최적화해야 하는 군집 파라미터가 달라질 수 있다. 군집 파라미터 결정부(102)는 복수 개의 훈련 데이터들을 1차 군집화 할 때 군집 기법에 따라 최적화해야 하는 군집 파라미터를 선택한 후, 선택한 군집 파라미터의 값을 최적화 할 수 있다. 동일한 군집 기법이라 하더라도 훈련 데이터들의 종류 및 특성에 따라 최적화 된 군집 파라미터의 값이 달라질 수 있다. 군집 파라미터 결정부(102)는 동일한 훈련 데이터들에 대해 군집 파라미터의 값을 변경해가면서 군집 결과를 비교하여 최적의 군집 결과를 나타내는 군집 파라미터 값을 결정할 수 있다. 군집 기법의 선택, 각 군집 기법에 따른 군집 파라미터의 최적화 방법, 군집 결과의 평가 지표 등은 본 발명의 범위를 벗어나므로 이에 대한 자세한 설명은 생략하기로 한다.
한편, 상기 훈련 데이터는 고유 식별 정보, 클래스 소속도, 및 속성(Attribute)값을 포함한다. 하기 표 2는 본 발명의 일 실시예에 따른 훈련 데이터를 나타낸 것이다. 여기서는, 훈련 데이터의 일 실시예로 서버의 상태 값을 나타내었지만, 훈련 데이터가 이에 한정되는 것은 아니다.
표 2
고유 식별 정보 클래스 소속도 CPU 사용률 CPU 실행 큐 CPU 대기 시간 메모리 사용률 메모리 페이지 아웃 메모리 사용량 스왑(Swap) 사용량 파일 시스템 사용률
FLDBPD01.cvs@20120101-0035 27.83 74.15 19252.68 450.1 3.7 23.15 0.0 2.35 3.45
FLDBPD01.cvs@20120101-0010 7.31 23.01 8012.1 1.21 1.5 941.2 3.75 97.2 40.12
trust-db.csv@20120927-1915 70.1 4.38 48192.69 96.8 98.24 8434.5 0.0 99.9 90.53
여기서, 고유 식별 정보는 해당 훈련 데이터를 다른 훈련 데이터와 구별할 수 있는 정보를 말한다. 클래스 소속도는 해당 훈련 데이터의 특정 사건과의 연관성 정도를 나타낸다. 예를 들어, 클래스 소속도는 해당 훈련 데이터의 서버 장애와의 연관성 정도를 나타낼 수 있다. 속성값은 훈련 데이터에 포함되는 각 속성들의 값을 나타낸다. 예를 들어, 속성값으로는 소정 시간에 해당 서버(또는 장치)의 각 성능 수치, 동작 수치, 주변 환경(온도, 습도, 압력 등)을 측정한 값이 될 수 있다. 그러나, 이에 한정되는 것은 아니며 속성값은 훈련 데이터가 어떤 속성을 포함하는지에 따라 다양한 종류의 값이 될 수 있다. 상기 표 2에서 속성값으로는 CPU 사용률, CPU 실행 큐, CPU 대기 시간, 메모리 사용률, 메모리 페이지 아웃, 메모리 사용량(예를 들어, 파일 캐쉬를 제외한 실제 사용 영역의 사용량), 스왑(Swap) 사용량, 파일 시스템 사용률 등이 있다. 훈련 데이터는 적어도 하나의 속성값을 포함하며, 각 속성값들의 집합을 벡터(Vector)로 나타낼 수 있다. 군집 파라미터 결정부(102)는 복수 개의 훈련 데이터들의 각 벡터들을 1차 군집화 할 때 최적의 군집 결과를 도출하는 군집 파라미터 값을 결정하게 된다.
클래스 소속도가 훈련 데이터에 포함되지 않은 상태로 데이터 분류 장치(100)에 입력되는 경우, 데이터 분류 장치(100)는 해당 훈련 데이터의 발생 시점과 특정 이벤트(예를 들어, 서버 장애)의 발생 시점 간의 차이에 따른 연관도로 해당 훈련 데이터의 클래스 소속도를 계산할 수 있다. 즉, 훈련 데이터가 발생한 이후에 언제 특정 이벤트가 발생하였는가에 따라 해당 훈련 데이터의 특정 이벤트와의 연관성 정도(클래스 소속도)를 계산할 수 있다. 이때 상기 특정 이벤트란 소프트웨어 오류, 운영체제 오류, 하드웨어 손상, 서버 재부팅 등 관리자로부터 정의된 다양한 형태의 서버 장애 발생 이벤트를 포함할 수 있다. 데이터 분류 장치(100)는 소정 훈련 데이터의 클래스 소속도를 계산하기 위해 다음 수학식 1과 같은 로지스틱 함수를 이용할 수 있다.
수학식 1
Figure PCTKR2013011630-appb-M000001
여기서, x는 훈련 데이터의 발생 시점과 특정 이벤트의 발생 시점 간의 차이를 나타낸다. a 및 b는 훈련 데이터의 특성에 따라 설정되는 보정 계수를 나타낸다.
도 2는 수학식 1에서 a 및 b를 2로 설정한 경우의 클래스 소속도 함수(f(x))를 나타낸 도면이다. 도 2를 참조하면, 훈련 데이터의 발생 시점 이후 10분에 서버 장애(즉, 특정 이벤트)가 발생한 경우, 해당 훈련 데이터의 클래스 소속도는 0.992769인 것을 볼 수 있다. 훈련 데이터의 발생 시점 이후 1시간 15분에 서버 장애가 발생한 경우, 해당 훈련 데이터의 클래스 소속도는 0.832548인 것을 볼 수 있다. 훈련 데이터의 발생 시점 이후 2시간 30분에 서버 장애가 발생한 경우, 해당 훈련 데이터의 클래스 소속도는 0.273867인 것을 볼 수 있다. 도 2에 의하면, 훈련 데이터의 발생 시점으로부터 서버 장애가 발생한 시점이 늦어질 수록 해당 훈련 데이터의 클래스 소속도가 줄어드는 것을 볼 수 있다. 이와 같이, 클래스 소속도 함수(f(x))를 이용하면 해당 훈련 데이터의 클래스 소속도를 계산할 수 있게 된다.
군집화부(104)는 군집 파라미터 결정부(102)에서 결정된 군집 파라미터 값을 이용하여 복수 개의 훈련 데이터들을 2차 군집화(재군집화) 한다. 군집화부(104)는 예를 들어, k-means 군집 또는 디리클레 군집 등의 군집 기법을 사용하여 유사성이 있는 훈련 데이터들끼리 군집화 하게 된다. 그러나, 이에 한정되는 것은 아니며 군집화부(104)는 그 이외의 다양한 군집 기법을 사용할 수 있다. 군집화부(104)는 상기 결정된 군집 파라미터 값을 이용하여 복수 개의 훈련 데이터들(즉, 복수 개의 훈련 데이터들의 각 벡터들)을 재군집화 하되, 각 훈련 데이터에 포함된 클래스 소속도를 반영하여 복수 개의 훈련 데이터들을 재군집화 할 수 있다.
즉, 일반적인 군집 기법은 해당 군집 기법에 설정된 확률 밀도 함수(Probability Density Function : PDF)로 각 훈련 데이터의 특정 군집에 대한 포함 여부를 결정하게 되나, 군집화부(104)는 확률 밀도 함수(PDF)에 각 훈련 데이터의 클래스 소속도를 반영하여 특정 군집에 대한 포함 여부를 결정하게 된다. 구체적으로, 군집화부(104)는 다음 수학식 2에 기재된 군집 함수를 통해 복수 개의 훈련 데이터들을 재군집화 할 수 있다.
수학식 2
Figure PCTKR2013011630-appb-M000002
여기서, PDF는 해당 군집 기법의 확률 밀도 함수를 나타내고, n은 클래스 소속도의 영향도를 나타낸다. 즉, n > 1 인 경우, 군집화 과정에서 클래스 소속도의 영향이 상대적으로 커지게 되고, n < 1인 경우, 군집화 과정에서 클래스 소속도의 영향이 상대적으로 작아지게 된다. 클래스 소속도의 영향도(n)는 복수 개의 훈련 데이터들을 재군집화 할 때, 클래스 소속도를 어느 정도 반영할 것인지(즉, 어느 정도의 가중치를 부여할 것인지)에 따라 결정될 수 있다. PDF'는 해당 훈련 데이터의 클래스 소속도가 반영된 새로운 확률 밀도 함수를 나타낸다.
예를 들어, 군집화부(104)가 복수 개의 훈련 데이터들에 대해 k-means 기법을 사용하여 재군집화 하는 경우, 군집화부(104)는 수학식 3에 기재된 군집 함수를 통해 복수 개의 훈련 데이터들을 재군집화 할 수 있다.
수학식 3
Figure PCTKR2013011630-appb-M000003
여기서, dist는 해당 군집의 중심과 해당 훈련 데이터 간의 거리를 나타낸다. 그리고 특정 군집의 중심은 상기 특정 군집에 포함된 각 벡터의 평균값으로 정해질 수 있으며, 군집의 중심과 특정 훈련 데이터 간의 거리는 상기 중심과 상기 특정 훈련 데이터 간의 유클리디안 거리로 정해질 수 있다.
수학식 3에 의하면, 1) 클래스 소속도가 높고 군집의 중심과의 거리가 짧은 훈련 데이터는 해당 군집에 속하게 된다. 2) 클래스 소속도가 높더라도 군집의 중심과의 거리가 먼(즉, 해당 군집의 대표성이 약한) 훈련 데이터는 해당 군집에 속하지 않게 된다. 다만, 해당 군집의 대표성이 약하더라도 클래스 소속도가 충분히 높은 경우 해당 군집에 속할 수도 있다. 3) 클래스 소속도의 크기가 어중간하거나 낮은 경우, 군집의 중심과의 거리가 해당 군집에 속하는지 여부를 판단하는 기준이 될 수 있다. 즉, 클래스 소속도가 크게 높지 않더라도 군집의 중심과의 거리가 짧은 훈련 데이터는 해당 군집에 속할 수 있다.
도 3은 클래스 소속도를 고려하지 않은 경우와 클래스 소속도를 고려한 경우의 군집 결과를 나타낸 도면이다. 여기서는, k-means 기법으로 군집화 한 경우를 나타내었다. 도 3에서 도시된 점은 2차원 유클리드 평면 상에 투영된 훈련 데이터를 나타낸다. 점의 진한 정도는 클래스 소속도를 나타내고, 점이 진할 수록 클래스 소속도가 높음을 나타낸다.
도 3의 (a)를 참조하면, 클래스 소속도를 고려하지 않은 경우, 훈련 데이터들의 밀집 정도에 따라 3개의 군집이 나타나는 것을 볼 수 있다. 여기서는, 군집의 중심과 각 훈련 데이터 간의 거리만으로 해당 훈련 데이터의 군집 포함 여부가 결정됨을 볼 수 있다.
도 3의 (b)를 참조하면, 클래스 소속도를 고려한 경우, 도 3의 (a)와 비교하여 군집의 개수가 2개로 줄어 들고, 군집의 결과도 다르게 나타나는 것을 볼 수 있다. 클래스 소속도를 반영하여 군집화 한 경우, 도 3의 (a)에서 클래스 소속도가 낮은 훈련 데이터들이 속한 군집이 사라진 것을 볼 수 있고, 여전히 존재하는 군집에서도 클래스 소속도에 따라 훈련 데이터의 군집 포함 여부가 달라지는 것을 볼 수 있다.
분류 모델 생성부(106)는 복수 개의 훈련 데이터들을 재군집화 한 결과에 따라 라벨링을 하고, 라벨링된 훈련 데이터들을 이용하여 분류 모델을 생성한다. 분류 모델 생성부(106)는 재군집화 한 결과에 따라 각 훈련 데이터들을 2개의 분류(즉, 이진 분류)로 라벨링할 수 있다. 예를 들어, 분류 모델 생성부(106)는 재군집화 한 결과에 따라 소정 군집에 속한 훈련 데이터는 이상(Abnormal : A)으로 라벨링하고, 어떤 군집에도 속하지 않은 훈련 데이터는 정상(Normal : N)으로 라벨링할 수 있다. 분류 모델 생성부(106)는 이진 분류로 라벨링된 훈련 데이터들을 입력 데이터로 하여 분류 모델을 생성할 수 있다. 분류 모델 생성부(106)는 예를 들어, 나이브 베이지안(Naive Bayesian), 랜덤 포레스트(Random Forest), 서포트 벡터 머신(SVM) 등의 분류 기법을 사용하여 분류 모델을 생성할 수 있으나, 이에 한정되는 것은 아니며 그 이외의 다양한 분류 기법을 사용할 수 있다.
검증부(108)는 분류 모델 생성부(106)가 생성한 분류 모델의 정확도를 검증할 수 있다. 이때, 검증부(108)는 훈련 데이터와 동일한 형태의 테스트 데이터를 이용하여 상기 분류 모델의 정확도를 검증할 수 있다. 테스트 데이터는 훈련 데이터와 같이 고유 식별 정보, 클래스 소속도, 및 속성값을 포함한다. 구체적으로, 검증부(108)는 입력되는 테스트 데이터에 포함된 클래스 소속도 값을 이용하여 각 테스트 데이터를 라벨링할 수 있다. 이때, 검증부(108)는 클래스 소속도가 기 설정된 값 이상이면 해당 테스트 데이터를 이상(A)으로 분류하고, 클래스 소속도가 기 설정된 값 미만이면 해당 테스트 데이터를 정상(N)으로 분류할 수 있다. 다음으로, 검증부(108)는 라벨링 된 테스트 데이터를 분류 모델 생성부(106)가 생성한 분류 모델에 입력한 후 분류된 결과를 확인하여 상기 분류 모델의 정확도를 계산할 수 있다.
표 3
라벨링 N 라벨링 A
분류 N 2300319 280211
분류 A 4606 3809
표 3은 분류 모델 생성부(106)가 생성한 분류 모델의 정확도를 검증하기 위한 일 실시예를 나타낸 표이다. 표 3을 참조하면, 총 2588945개의 테스트 데이터가 사용되었다. 여기서, 정상(N)으로 라벨링된 2304925개의 테스트 데이터를 상기 분류 모델에 대입한 결과, 2300319개가 정상(N)으로 분류되었고, 4606개가 이상(A)으로 분류되었다. 이상(A)으로 라벨링된 284020개의 테스트 데이터를 상기 분류 모델에 대입한 결과, 280211개가 정상(N)으로 분류되었고, 3809개가 이상(A)으로 분류되었다. 표 3에 나타난 분류 결과를 통해 분류 모델의 정확도 및 오류율을 살펴보면 다음과 같다.
수학식 4
Figure PCTKR2013011630-appb-M000004
수학식 5
Figure PCTKR2013011630-appb-M000005
한편, 데이터 분류 장치(100)는 소정 수집 주기로 데이터를 수집하는 데이터 수집부(미도시)로부터 입력 데이터를 수신하는 경우, 입력 데이터를 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 데이터 수집부(미도시)로 전송할 수 있다. 예를 들어, 데이터 수집부(미도시)로부터 수집한 입력 데이터를 분류 모델에 대입한 결과 장애(Abnormal)로 분류된 경우, 데이터 분류 장치(100)는 데이터의 수집 주기를 단축시키라는 내용의 데이터 수집 주기 변경 신호를 데이터 수집부(미도시)로 전송할 수 있다.
본 발명의 실시예에 의하면, 훈련 데이터에 포함된 클래스 소속도를 반영하여 훈련 데이터를 군집화 하고, 군집화된 결과에 따라 훈련 데이터를 라벨링하며, 라벨링된 훈련 데이터를 입력 데이터로 하여 분류 모델을 생성함으로써, 낮은 신뢰도의 클래스 소속도를 가진 훈련 데이터라 하더라도 데이터의 분류 성능을 향상시킬 수 있게 된다. 그리고, 입력되는 데이터들을 군집화된 결과에 따라 라벨링을 한 후 분류하기 때문에, 라벨이 불명확한 데이터의 경우에도 효과적으로 분류할 수 있게 된다. 또한, 분류 모델의 정확도가 목표 값에 미달한 경우, 클래스 소속도의 반영 정도를 조정함으로써, 분류 모델의 성능을 최적화 시킬 수 있게 된다.
* 비교예
(1) 대조군: 군집 과정을 거치지 않은 훈련 데이터를 분류기에 바로 대입하여 분류 모델을 생성함.
(2) 실험군: 클래스 소속도를 반영하여 군집 과정을 거친 훈련 데이터를 분류기에 대입하여 분류 모델을 생성함.
(3) 실험 환경: 분석 패키지 - mahout v0.7, 군집 알고리즘 - k-means clustering, 분류기 알고리즘 - naive bayes classifier
(4) 데이터 구성: 특정 시간 간격에 따라 모니터링 된 서버 성능 데이터로서, 훈련 데이터 6,378,481개, 테스트 데이터 2,588,945개가 사용됨.
(5) 실험 결과
1) 대조군의 경우
표 4
라벨링 N 라벨링 A
분류 N 218355 396975
분류 A 3735 4680
수학식 6
Figure PCTKR2013011630-appb-M000006
2) 실험군의 경우
표 5
라벨링 N 라벨링 A
분류 N 2402863 177667
분류 A 5511 2904
수학식 7
Figure PCTKR2013011630-appb-M000007
위에서 보는 바와 같이, 군집 과정을 거치지 않고 훈련 데이터를 바로 대입하여 분류 모델을 생성한 경우의 정확도는 35.8%이고, 클래스 소속도를 반영하여 군집 과정을 거친 훈련 데이터를 분류기에 대입하여 분류 모델을 생성한 경우의 정확도는 92.9%인 것을 볼 수 있다. 즉, 실험군의 경우 대조군과 대비하여 그 정확도가 약 2.6배 향상된 것을 확인할 수 있다. 이는 클래스 소속도를 반영한 군집 과정이 낮은 신뢰도의 클래스 소속도를 가진 훈련 데이터에 대한 분류 성능 향상에 기여한 때문이다.
도 4는 본 발명의 일 실시예에 따른 데이터 분류 방법을 나타낸 순서도이다.
도 4를 참조하면, 데이터 분류 장치(100)는 입력되는 복수 개의 훈련 데이터들을 1차 군집화 한다(S 101). 예를 들어, 데이터 분류 장치(100)는 k-means 군집 또는 디리클레 군집 등의 군집 기법을 사용하여 유사성이 있는 훈련 데이터들의 벡터들끼리 1차 군집화 할 수 있다. 데이터 분류 장치(100)는 군집 기법에 따라 군집 파라미터를 선택하고, 소정의 군집 파라미터 값을 이용하여 복수 개의 훈련 데이터들의 각 벡터들을 1차 군집화 할 수 있다.
다음으로, 데이터 분류 장치(100)는 1차 군집화의 군집 결과가 최적인지 여부를 확인한다(S 103). 데이터 분류 장치(100)는 1차 군집화의 군집 결과가 기 설정된 조건을 만족하여 최적의 군집 결과를 나타내는지 여부를 확인할 수 있다. 예를 들어, 데이터 분류 장치(100)가 복수 개의 훈련 데이터들을 k-means 군집 기법에 의해 1차 군집화하는 경우, 1) 군집 내 훈련 데이터들의 유사도가 기 설정된 값을 초과하고, 2) 군집들 간의 거리가 기 설정된 값을 초과하는 조건을 만족하는지 여부에 따라 군집 결과가 최적인지를 확인할 수 있다.
단계 S 103의 확인 결과, 1차 군집화의 군집 결과가 최적이 아닌 경우, 데이터 분류 장치(100)는 군집 파라미터의 값을 조정하여 다시 1차 군집화를 수행한다(S 105). 데이터 분류 장치(100)는 군집 파라미터 값의 조정에 따른 군집 결과가 최적인지 여부를 다시 확인하고, 최적의 군집 결과가 나올때까지 이러한 과정을 반복하게 된다.
단계 S 103의 확인 결과, 1차 군집화의 군집 결과가 최적인 경우, 데이터 분류 장치(100)는 최적의 군집 결과를 나타낸 군집 파라미터 값 및 각 훈련 데이터의 클래스 소속도를 이용하여 복수 개의 훈련 데이터들의 각 벡턱들을 재군집화 한다(S 107). 데이터 분류 장치(100)는 상기 수학식 2를 이용하여 복수 개의 훈련 데이터들의 각 벡터들을 재군집화 할 수 있다.
다음으로, 데이터 분류 장치(100)는 재군집화 한 결과에 따라 복수 개의 훈련 데이터들을 라벨링한다(S 109). 예를 들어, 데이터 분류 장치(100)는 재군집화 한 결과에 따라 소정 군집에 속한 훈련 데이터는 이상(Abnormal : A)으로 라벨링하고, 어떤 군집에도 속하지 않은 훈련 데이터는 정상(Normal : N)으로 라벨링할 수 있다.
다음으로, 데이터 분류 장치(100)는 라벨링된 훈련 데이터들을 입력 데이터로 하여 분류 모델을 생성한다(S 111). 데이터 분류 장치(100)는 예를 들어, 나이브 베이지안(Naive Bayesian), 랜덤 포레스트(Random Forest), 서포트 벡터 머신(SVM) 등의 분류 기법을 사용하여 분류 모델을 생성할 수 있으나, 이에 한정되는 것은 아니며 그 이외의 다양한 분류 기법을 사용할 수 있다.
다음으로, 데이터 분류 장치(100)는 분류 모델의 정확도를 검증한다(S 113). 데이터 분류 장치(100)는 입력되는 테스트 데이터에 포함된 클래스 소속도 값을 이용하여 각 테스트 데이터를 라벨링하고, 라벨링 된 테스트 데이터를 상기 분류 모델에 입력한 후 분류된 결과를 확인하여 상기 분류 모델의 정확도를 검증할 수 있다.
다음으로, 데이터 분류 장치(100)는 분류 모델의 정확도가 목표 값에 도달하였는지 여부를 확인한다(S 115). 단계 S 115의 확인 결과, 분류 모델의 정확도가 목표 값에 도달하지 못한 경우, 데이터 분류 장치(100)는 클래스 소속도의 영향도 값을 조정하여 복수 개의 훈련 데이터들의 각 벡터들을 재군집화 한다(S 117). 즉, 분류 모델의 정확도가 목표 값에 도달하지 못한 경우, 데이터 분류 장치(100)는 수학식 2에서 클래스 소속도의 영향도(n) 값을 조정하여 복수 개의 훈련 데이터들의 각 벡터들을 재군집화 할 수 있다. 그 후, 데이터 분류 장치(100)는 재군집화 한 결과에 따라 복수 개의 훈련 데이터들을 라벨링하고, 라벨링된 훈련 데이터들을 이용하여 분류 모델을 재생성하며, 재생성한 분류 모델의 정확도가 목표 값에 도달하기까지 이러한 과정을 반복하게 된다.
도 5는 본 발명의 일 실시예에 따른 데이터 분류 장치를 이용한 장애 예측 시스템을 나타낸 도면이다.
도 5를 참조하면, 장애 예측 시스템(200)은 훈련 서버(202), 대상 서버(204), 장애 예측 서버(206), 및 관리자 단말기(208)를 포함한다.
훈련 서버(202)는 대상 서버(204)와 동일 또는 유사한 동작(또는 기능)을 수행하는 서버이다. 훈련 서버(202)는 대상 서버(204)와 동일한 종류의 서버일 수 있다. 훈련 서버(202)는 훈련 서버(202)의 성능, 동작 수치, 및 주변 환경 등을 측정한 데이터를 장애 예측 서버(206)로 전송한다. 훈련 서버(202)가 전송한 데이터들은 장애 예측 서버(206)에서 훈련 데이터와 테스트 데이터로 구분되어 사용될 수 있다.
대상 서버(204)는 장애 예측 시스템(200)에서 장애 여부를 예측하고자 하는 대상이 되는 서버이다. 대상 서버(204)는 대상 서버(204)의 성능, 동작 수치, 및 주변 환경 등을 측정한 데이터를 장애 예측 서버(206)로 전송한다. 대상 서버(204)는 상기 측정한 데이터를 실시간(또는 주기적)으로 장애 예측 서버(206)에 전송할 수 있다.
장애 예측 서버(206)는 데이터 분류 장치(211) 및 장애 예측 장치(214)를 포함한다. 데이터 분류 장치(211)는 훈련 서버(202)로부터 전송받은 데이터들에 대해 장애 관련도(즉, 클래스 소속도)를 라벨링 한 후, 훈련 데이터와 테스트 데이터로 구분할 수 있다. 데이터 분류 장치(211)는 훈련 데이터들의 장애 관련도를 반영하여 훈련 데이터들을 군집화 하고, 군집 결과에 따라 훈련 데이터들을 라벨링하며, 라벨링된 훈련 데이터들을 입력 데이터로 하여 분류 모델을 생성할 수 있다. 데이터 분류 장치(211)는 테스트 데이터를 이용하여 분류 모델의 성능을 검증할 수 있다. 데이터 분류 장치(211)에 대한 구성 및 동작은 위에서 설명하였으므로 이에 대한 자세한 설명은 생략하기로 한다. 장애 예측 장치(214)는 대상 서버(204)로부터 데이터가 전송되는 경우, 해당 데이터를 상기 분류 모델에 대입하여 대상 서버(204)의 장애를 예측한다. 장애 예측 장치(214)는 장애 발생 가능성이 기 설정된 임계치를 초과하는 경우, 관리자 단말기(208)로 대상 서버(204)의 장애 발생 가능성을 통보할 수 있다. 여기서, 장애 발생 가능성에 대한 임계치는 상기 분류 모델의 성능에 따라 결정될 수 있다. 그리고, 장애 예측 장치(214)는 대상 서버(204)로부터 수신한 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 대상 서버(204)로 전송할 수 있다. 예를 들어, 대상 서버(214)로부터 수신한 데이터를 분류 모델에 대입한 결과 장애(Abnormal)로 분류된 경우, 장애 예측 장치(214)는 데이터의 수집 주기를 단축시키라는 내용의 데이터 수집 주기 변경 신호를 대상 서버(204)로 전송할 수 있다. 여기서는, 데이터 분류 장치(211) 및 장애 예측 장치(214)가 별개로 구현된 것으로 도시하였으나, 이에 한정되는 것은 아니며 데이터 분류 장치(211) 및 장애 예측 장치(214)를 일체로 구현할 수도 있다.
관리자 단말기(208)는 장애 예측 서버(206)로부터 대상 서버(204)의 장애 발생 가능성이 통보된 경우, 경고음이나 경고등을 발생하여 관리자에게 경고할 수 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터 상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기록매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
<부호의 설명>
100 : 데이터 분류 장치
102 : 군집 파라미터 결정부 104 : 군집화부
106 : 분류 모델 생성부 108 : 검증부
200 : 장애 예측 시스템
202 : 훈련 서버 204 : 대상 서버
206 : 장애 예측 서버 208 : 관리자 단말기
211 : 데이터 분류 장치 214 : 장애 예측 장치

Claims (28)

  1. 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화하는 군집화부; 및
    상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하고, 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 분류 모델 생성부를 포함하는, 데이터 분류 장치.
  2. 제1항에 있어서,
    상기 데이터 분류 장치는,
    상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화 하는 군집 파라미터 결정부를 더 포함하고,
    상기 군집화부는, 상기 군집 파라미터 값 및 상기 클래스 소속도를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화 하는, 데이터 분류 장치.
  3. 제2항에 있어서,
    상기 군집 파라미터 결정부는,
    군집 내 상기 벡터들의 유사도가 기 설정된 값을 초과하고, 군집들 간의 거리가 기 설정된 값을 초과하는지 여부에 따라 상기 군집 파라미터 값을 최적화하는, 데이터 분류 장치.
  4. 제2항에 있어서,
    상기 군집화부는,
    하기 수학식을 통해 상기 복수 개의 분류 대상 데이터들의 벡터를 재군집화 하는, 데이터 분류 장치.
    (수학식)
    Figure PCTKR2013011630-appb-I000006
    PDF : 해당 군집 기법의 확률 밀도 함수.
    n : 클래스 소속도의 영향도.
    PDF' : 해당 분류 대상 데이터의 클래스 소속도가 반영된 새로운 확률 밀도 함수.
  5. 제1항에 있어서,
    상기 분류 모델 생성부는,
    각 분류 대상 데이터들의 군집 포함 여부로 이진 분류하여 라벨링하는, 데이터 분류 장치.
  6. 제1항에 있어서,
    상기 데이터 분류 장치는,
    상기 생성된 분류 모델의 정확도를 검증하는 검증부를 더 포함하는, 데이터 분류 장치.
  7. 제6항에 있어서,
    상기 검증부는,
    테스트 데이터의 클래스 소속도 값을 이용하여 복수 개의 테스트 데이터들을 라벨링하고, 상기 라벨링된 테스트 데이터를 상기 분류 모델에 대입하여 상기 분류 모델의 정확도를 계산하는, 데이터 분류 장치.
  8. 제7항에 있어서,
    상기 군집화부는,
    상기 분류 모델의 정확도가 목표 성능에 도달하지 못한 경우, 상기 클래스 소속도의 반영 정도를 조정하여 복수 개의 분류 대상 데이터들의 벡터를 재군집화하는, 데이터 분류 장치.
  9. 제7항에 있어서,
    상기 검증부는,
    상기 테스트 데이터의 라벨링에 따른 분류 결과와 상기 테스트 데이터의 상기 분류 모델에 따른 분류 결과와의 일치 정도에 따라 상기 분류 모델의 정확도를 계산하는, 데이터 분류 장치.
  10. 제1항에 있어서,
    상기 데이터 분류 장치는,
    데이터 수집부로부터 입력 데이터를 수신하고, 수신한 입력 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 상기 데이터 수집부로 전송하는 통신부를 더 포함하는, 데이터 분류 장치.
  11. 제1항에 있어서,
    상기 클래스 소속도는,
    상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출되는, 데이터 분류 장치.
  12. 제1항에 있어서,
    상기 클래스 소속도는,
    하기 수학식을 통해 산출되는, 데이터 분류 장치.
    (수학식)
    Figure PCTKR2013011630-appb-I000007
    x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이.
    a 및 b : 보정 계수.
  13. 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화 하는 단계;
    상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하는 단계; 및
    상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 단계를 포함하는, 데이터 분류 방법.
  14. 제13항에 있어서,
    상기 군집화 하는 단계는,
    상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화하는 단계; 및
    상기 군집 파라미터 값 및 상기 클래스 소속도를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화 하는 단계를 포함하는, 데이터 분류 방법.
  15. 제14항에 있어서,
    상기 군집 파라미터 값을 최적화하는 단계는,
    군집 내 상기 벡터들의 유사도가 기 설정된 값을 초과하고, 군집들 간의 거리가 기 설정된 값을 초과하는지 여부에 따라 상기 군집 파라미터 값을 최적화하는, 데이터 분류 방법.
  16. 제14항에 있어서,
    상기 재군집화 하는 단계는,
    하기 수학식을 통해 상기 복수 개의 분류 대상 데이터들의 벡터를 재군집화 하는, 데이터 분류 방법.
    (수학식)
    Figure PCTKR2013011630-appb-I000008
    PDF : 해당 군집 기법의 확률 밀도 함수.
    n : 클래스 소속도의 영향도.
    PDF' : 해당 분류 대상 데이터의 클래스 소속도가 반영된 새로운 확률 밀도 함수.
  17. 제13항에 있어서,
    상기 복수 개의 분류 대상 데이터들을 라벨링하는 단계는,
    각 분류 대상 데이터들의 군집 포함 여부로 이진 분류하여 라벨링하는, 데이터 분류 방법.
  18. 제13항에 있어서,
    상기 분류 모델을 생성하는 단계 이후에,
    상기 생성된 분류 모델의 정확도를 검증하는 단계를 더 포함하는, 데이터 분류 방법.
  19. 제18항에 있어서,
    상기 분류 모델의 정확도를 검증하는 단계는,
    테스트 데이터의 클래스 소속도 값을 이용하여 복수 개의 테스트 데이터들을 라벨링하는 단계; 및
    상기 라벨링된 테스트 데이터를 상기 분류 모델에 대입하여 상기 분류 모델의 정확도를 계산하는 단계를 포함하는, 데이터 분류 방법.
  20. 제19항에 있어서,
    상기 분류 모델의 정확도를 계산하는 단계 이후에,
    상기 분류 모델의 정확도가 목표 성능에 도달하지 못한 경우, 상기 클래스 소속도의 반영 정도를 조정하여 복수 개의 분류 대상 데이터들의 벡터를 재군집화 하는 단계를 더 포함하는, 데이터 분류 방법.
  21. 제19항에 있어서,
    상기 분류 모델의 정확도를 계산하는 단계는,
    상기 테스트 데이터의 라벨링에 따른 분류 결과와 상기 테스트 데이터의 상기 분류 모델에 따른 분류 결과와의 일치 정도에 따라 계산하는, 데이터 분류 방법.
  22. 제13항에 있어서,
    상기 분류 모델을 생성하는 단계 이후에,
    데이터 수집부로부터 입력 데이터를 수신하는 단계; 및
    수신한 상기 입력 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 상기 데이터 수집부로 전송하는 단계를 더 포함하는, 데이터 분류 방법.
  23. 제13항에 있어서,
    상기 클래스 소속도는,
    상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출되는, 데이터 분류 방법.
  24. 제13항에 있어서,
    상기 클래스 소속도는,
    하기 수학식을 통해 산출되는, 데이터 분류 방법.
    (수학식)
    Figure PCTKR2013011630-appb-I000009
    x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이.
    a 및 b : 보정 계수.
  25. 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화하고, 상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하며, 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 데이터 분류 장치; 및
    소정 주기로 데이터를 수집하여 상기 데이터 분류 장치로 전송하는 데이터 수집 장치를 포함하며,
    상기 데이터 수집 장치는, 상기 수집된 데이터가 상기 분류 모델에 의해 분류된 결과에 따라 데이터의 수집 주기를 변경하는, 데이터 수집 시스템.
  26. 제25항에 있어서,
    상기 데이터 수집 장치는,
    상기 수집된 데이터가 장애로 분류되는 경우, 상기 데이터의 수집 주기를 단축시키는, 데이터 수집 시스템.
  27. 제25항에 있어서,
    상기 클래스 소속도는,
    상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출되는, 데이터 수집 시스템.
  28. 제25항에 있어서,
    상기 클래스 소속도는,
    하기 수학식을 통해 산출되는, 데이터 수집 시스템.
    (수학식)
    Figure PCTKR2013011630-appb-I000010
    x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이.
    a 및 b : 보정 계수.
PCT/KR2013/011630 2013-10-30 2013-12-16 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템 WO2015064829A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130130180A KR101768438B1 (ko) 2013-10-30 2013-10-30 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템
KR10-2013-0130180 2013-10-30

Publications (1)

Publication Number Publication Date
WO2015064829A1 true WO2015064829A1 (ko) 2015-05-07

Family

ID=52996596

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/011630 WO2015064829A1 (ko) 2013-10-30 2013-12-16 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템

Country Status (4)

Country Link
US (1) US9582736B2 (ko)
KR (1) KR101768438B1 (ko)
CN (1) CN104598500B (ko)
WO (1) WO2015064829A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6474782B2 (ja) * 2014-03-07 2019-02-27 株式会社日立製作所 データ分析システム及び方法
JP6460765B2 (ja) * 2014-12-09 2019-01-30 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム
US11461368B2 (en) * 2015-06-23 2022-10-04 Micro Focus Llc Recommending analytic tasks based on similarity of datasets
DE102016008987B4 (de) * 2015-07-31 2021-09-16 Fanuc Corporation Maschinenlernverfahren und Maschinenlernvorrichtung zum Lernen von Fehlerbedingungen, und Fehlervorhersagevorrichtung und Fehlervorhersagesystem, das die Maschinenlernvorrichtung einschließt
US9923912B2 (en) * 2015-08-28 2018-03-20 Cisco Technology, Inc. Learning detector of malicious network traffic from weak labels
US10436720B2 (en) * 2015-09-18 2019-10-08 KLA-Tenfor Corp. Adaptive automatic defect classification
CN105183612B (zh) * 2015-09-25 2017-11-21 携程计算机技术(上海)有限公司 服务器可用内存异常增长及运行状况的评估方法
KR101722871B1 (ko) * 2016-03-21 2017-04-04 울산대학교 산학협력단 서포트 벡터 머신의 최적 파라미터 선택 장치 및 방법
CN106096657B (zh) * 2016-06-13 2019-04-30 第四范式(北京)技术有限公司 基于机器学习来预测数据审核目标的方法及系统
CN106940803B (zh) * 2017-02-17 2018-04-17 平安科技(深圳)有限公司 相关变量识别方法和装置
CN107229733B (zh) * 2017-06-12 2020-01-14 上海智臻智能网络科技股份有限公司 扩展问评价方法及装置
JP7027070B2 (ja) * 2017-08-31 2022-03-01 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US10628475B2 (en) * 2017-10-03 2020-04-21 International Business Machines Corporation Runtime control of automation accuracy using adjustable thresholds
JP6477943B1 (ja) * 2018-02-27 2019-03-06 オムロン株式会社 メタデータ生成装置、メタデータ生成方法及びプログラム
CN109501241B (zh) * 2018-11-05 2020-12-04 北京工业大学 立体视觉监视的高强度多方向fdm 3d打印方法
KR102281431B1 (ko) * 2019-10-01 2021-07-27 주식회사 아이옵스테크놀러지 장애 예측 및 장애 예측 모델링 관리 시스템
EP4050527A4 (en) * 2019-10-23 2022-11-23 Fujitsu Limited ESTIMATION PROGRAM, ESTIMATION METHOD, INFORMATION PROCESSING DEVICE, RELEARNING PROGRAM AND RELEARNING METHOD
KR102433598B1 (ko) * 2020-11-26 2022-08-18 (주)심플랫폼 데이터 경계 도출 시스템 및 방법
KR102314848B1 (ko) * 2021-03-30 2021-10-19 주식회사 솔리드웨어 해석이 용이한 모델생성방법 및 그 장치와, 이를 이용하여 생성된 모델을 이용한 데이터분류방법 및 그 장치
WO2023119456A1 (ja) * 2021-12-21 2023-06-29 富士通株式会社 検知プログラム、検知装置、および検知方法
KR102484218B1 (ko) * 2022-06-20 2023-01-04 주식회사 애자일소다 유사도 기반의 분류 모델 결과 검증 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100987168B1 (ko) * 2008-10-31 2010-10-11 한국전력공사 원격계측 전력 부하패턴의 분류 및 예측 방법
US20110029250A1 (en) * 2005-06-17 2011-02-03 Venture Gain LLC Non-Parametric Modeling Apparatus and Method for Classification, Especially of Activity State
KR20110080246A (ko) * 2010-01-05 2011-07-13 중앙대학교 산학협력단 분산과 사전확률을 고려한 데이터 분류 장치 및 방법
KR20130052432A (ko) * 2011-11-11 2013-05-22 경희대학교 산학협력단 마르코프 연쇄 은닉 조건부 랜덤 필드 모델 기반의 패턴 인식 방법
US20130191107A1 (en) * 2010-12-24 2013-07-25 Nec Corporation Monitoring data analyzing apparatus, monitoring data analyzing method, and monitoring data analyzing program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9800427D0 (en) * 1998-01-10 1998-03-04 Ibm Probabilistic data clustering
US7392199B2 (en) * 2001-05-01 2008-06-24 Quest Diagnostics Investments Incorporated Diagnosing inapparent diseases from common clinical tests using Bayesian analysis
WO2005117693A1 (en) * 2004-05-27 2005-12-15 Children's Medical Center Corporation Patient-specific seizure onset detection system
EP2057586A2 (en) * 2006-08-31 2009-05-13 Shell Internationale Research Maatschappij B.V. Interpreting a plurality of m-dimensional attribute vectors assigned to a plurality of locations in an n-dimensional interpretation space
US8595010B2 (en) * 2009-02-05 2013-11-26 Seiko Epson Corporation Program for creating hidden Markov model, information storage medium, system for creating hidden Markov model, speech recognition system, and method of speech recognition
US8311973B1 (en) * 2011-09-24 2012-11-13 Zadeh Lotfi A Methods and systems for applications for Z-numbers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110029250A1 (en) * 2005-06-17 2011-02-03 Venture Gain LLC Non-Parametric Modeling Apparatus and Method for Classification, Especially of Activity State
KR100987168B1 (ko) * 2008-10-31 2010-10-11 한국전력공사 원격계측 전력 부하패턴의 분류 및 예측 방법
KR20110080246A (ko) * 2010-01-05 2011-07-13 중앙대학교 산학협력단 분산과 사전확률을 고려한 데이터 분류 장치 및 방법
US20130191107A1 (en) * 2010-12-24 2013-07-25 Nec Corporation Monitoring data analyzing apparatus, monitoring data analyzing method, and monitoring data analyzing program
KR20130052432A (ko) * 2011-11-11 2013-05-22 경희대학교 산학협력단 마르코프 연쇄 은닉 조건부 랜덤 필드 모델 기반의 패턴 인식 방법

Also Published As

Publication number Publication date
US9582736B2 (en) 2017-02-28
US20150120639A1 (en) 2015-04-30
CN104598500A (zh) 2015-05-06
CN104598500B (zh) 2018-06-08
KR20150049511A (ko) 2015-05-08
KR101768438B1 (ko) 2017-08-16

Similar Documents

Publication Publication Date Title
WO2015064829A1 (ko) 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템
CN101751535B (zh) 通过应用程序数据访问分类进行的数据损失保护
CN102067148B (zh) 用于确定文件分类的方法及系统
WO2017213400A1 (en) Malware detection by exploiting malware re-composition variations
US9146927B2 (en) Data processing apparatus, data processing method, and program
JP2007533001A (ja) 改良型侵入検出監査およびインテリジェント・セキュリティ分析の比較を使用して関連するネットワーク・セキュリティの脅威を識別するための方法およびシステム
CN110825545A (zh) 一种云服务平台异常检测方法与系统
US20070050755A1 (en) Identification of input sequences
WO2022108427A1 (ko) 5g 기반 iot 환경을 위한 지능형 트러스트 인에이블러 시스템
WO2023063486A1 (ko) 기계학습모델의 생성 방법 및 그 장치
CN112633353B (zh) 基于包长概率分布与k近邻算法的物联网设备识别方法
WO2022071615A1 (ko) 장애 예측 방법, 그리고 이를 구현하기 위한 장치
CN117439916A (zh) 一种网络安全测试评估系统及方法
CN110770753B (zh) 高维数据实时分析的装置和方法
WO2022114653A1 (ko) 데이터 경계 도출 시스템 및 방법
WO2024019226A1 (ko) 유해 url 탐지 방법
WO2023106504A1 (ko) 서버 시스템 로그를 이용한 머신러닝 기반의 관측레벨 측정 및 이에 따른 위험도 산출 방법, 장치 및 컴퓨터-판독 가능 기록 매체
US11017055B2 (en) Hotspots for probabilistic model testing and cyber analysis
CN114661943A (zh) 会议信息存储管理系统
KR20230000376A (ko) 인공지능을 이용한 보안관제 침입탐지 알람 처리 장치 및 방법
KR102035925B1 (ko) 세부 동작 기반의 사물인터넷 서비스 분류 장치 및 방법
WO2023106638A1 (ko) Can 메시지 분석과 신경망 모델을 이용한 경량화된 실시간 이상 탐지 방법
CN117290851B (zh) 基于漏洞识别的阅读安全增强方法及系统
CN105373833B (zh) 推迟的飞行器维护影响评估装置、系统和方法
WO2024090662A1 (ko) 인공지능 기반의 설비 사용패턴 분석 기반 에너지 효율화 서비스 시스템 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13896727

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC , EPO FORM 1205A DATED 08-07-16

122 Ep: pct application non-entry in european phase

Ref document number: 13896727

Country of ref document: EP

Kind code of ref document: A1