KR20210102860A - Apparatus and method for processing imbalance data - Google Patents

Apparatus and method for processing imbalance data Download PDF

Info

Publication number
KR20210102860A
KR20210102860A KR1020210020128A KR20210020128A KR20210102860A KR 20210102860 A KR20210102860 A KR 20210102860A KR 1020210020128 A KR1020210020128 A KR 1020210020128A KR 20210020128 A KR20210020128 A KR 20210020128A KR 20210102860 A KR20210102860 A KR 20210102860A
Authority
KR
South Korea
Prior art keywords
data
unit
sample
samples
imbalance
Prior art date
Application number
KR1020210020128A
Other languages
Korean (ko)
Other versions
KR102533084B1 (en
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 KR20210102860A publication Critical patent/KR20210102860A/en
Application granted granted Critical
Publication of KR102533084B1 publication Critical patent/KR102533084B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/023Learning or tuning the parameters of a fuzzy system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to a device and method for processing imbalanced data, wherein the device for processing the imbalanced data may comprise: an over-sampling part that acquires at least one data, and adds the at least one piece of data to a minority sample by further generating the virtual data; and an under-sampling part that detects data adjacent to the data of the minority sample from among the data of a plurality of samples, and removes the adjacent data from the plurality of samples. Therefore, the present invention is capable of preventing a degradation in performance of the learning model.

Description

불균형 데이터 처리 장치 및 방법{APPARATUS AND METHOD FOR PROCESSING IMBALANCE DATA}Unbalanced data processing apparatus and method {APPARATUS AND METHOD FOR PROCESSING IMBALANCE DATA}

불균형 데이터 처리 장치 및 방법에 관한 것이다.It relates to an apparatus and method for processing unbalanced data.

최근 정보 처리에 관한 하드웨어 기술의 발달에 따라 대량의 데이터의 신속한 처리가 가능해지고 있다. 이는 대량의 데이터를 기반으로 학습을 수행하고 학습 결과 획득된 규칙을 기반으로 다양한 정보를 획득하거나 연산 또는 제어 처리를 수행하는 기계학습 기술의 개발, 연구, 도입 및 이용을 더욱 촉진하고 있다. 이와 같은 기계학습 기술은 다양한 분야에서 이용되고 있다. 예를 들어, 데이터 검색, 날씨 등의 미래 데이터에 대한 예측, 음성 인식 및 텍스트 변환, 문자 인식, 언어 번역, 차량의 자율 주행, 소비자 성향 분석 및 이에 관한 서비스 제공, 게임, 스마트 그리드 및 사물 인터넷 등과 같이 다양한 분야에서 인공지능 기술이 개발 및 채용되어 이용되고 있다. 기계학습 중에서 지도 학습은 데이터 및 이에 대응하는 정답을 이용하여 학습을 수행하는 방법으로, 데이터를 어느 하나의 클래스로 분류시키는 분류 방법과 데이터의 연속으로 이루어진 함수를 추론하는 회귀 방법으로 나뉘어진다. 그런데, 지도 학습의 분류 방법은 데이터 불균형 시에는 그 성능이 저하되는 문제점이 있다. 구체적으로, 특정한 하나 또는 둘 이상의 클래스(다수 클래스)에 해당하는 데이터는 상대적으로 다수가 입력된 반면에 다른 하나 또는 둘 이상의 클래스(소수 클래스)에 해당하는 데이터는 상대적으로 소수가 입력되어 학습된 모델은, 추후 분류 대상 데이터가 입력되면 이들의 분류에 오류가 발생할 가능성이 높다. 즉, 소수 클래스에 해당하는 데이터가 분류 대상 데이터로 입력된 경우, 학습 모델은 이들 데이터를 다수 클래스로 오분류하기 쉽다. 그러므로, 이와 같은 클래스 간의 데이터 불균형은, 학습 모델의 예측 정확도는 향상시키는 반면에 그 재현율은 감소시켜 학습 모델의 전반적의 성능을 저하시키는 문제점이 있었다.With the recent development of hardware technology related to information processing, it is possible to quickly process a large amount of data. This is further accelerating the development, research, introduction and use of machine learning technology that performs learning based on a large amount of data and acquires various information or performs computation or control processing based on rules obtained as a result of learning. Such machine learning technology is being used in various fields. For example, data search, forecasting of future data such as weather, speech recognition and text conversion, character recognition, language translation, vehicle autonomous driving, consumer tendency analysis and related services, games, smart grid and Internet of Things, etc. Artificial intelligence technology is being developed, adopted and used in various fields. Among machine learning, supervised learning is a method of learning using data and corresponding correct answers. It is divided into a classification method that classifies data into any one class and a regression method that infers a function consisting of a sequence of data. However, the classification method of supervised learning has a problem in that its performance is degraded when data is imbalanced. Specifically, data corresponding to one or more specific classes (multiple classes) are input in relatively large numbers, while data corresponding to other one or more classes (minority classes) are input in a relatively small number. However, if data to be classified is input later, there is a high possibility that an error will occur in their classification. That is, when data corresponding to a minority class is input as classification target data, the learning model is likely to misclassify these data into a majority class. Therefore, such data imbalance between classes has a problem in that the prediction accuracy of the learning model is improved while the recall is reduced, thereby degrading the overall performance of the learning model.

클래스 간 데이터 불균형에 기인한 학습 모델의 성능 저하를 해결할 수 있는 불균형 데이터 처리 장치 및 방법을 제공하는 것을 해결하고자 하는 과제로 한다.An object to be solved is to provide an imbalanced data processing apparatus and method that can solve the performance degradation of the learning model due to data imbalance between classes.

상술한 과제를 해결하기 위하여 하기와 같이 불균형 데이터 처리 장치 및 방법이 제공된다.In order to solve the above problems, an apparatus and method for processing unbalanced data are provided as follows.

불균형 데이터 처리 장치는, 소수 표본에 속하는 적어도 하나의 데이터를 수신하고, 가상의 데이터를 더 생성하여 상기 소수 표본에 추가하는 오버 샘플링부 및 다수 표본에 속하는 적어도 하나의 데이터를 수신하고, 상기 다수 표본의 데이터 중에서 상기 소수 표본의 데이터와 근접한 데이터를 검출하고 상기 근접한 데이터를 상기 다수 표본으로부터 제거하는 언더 샘플링부를 포함할 수 있다.The imbalance data processing apparatus receives at least one data belonging to a fractional sample, an oversampling unit that further generates virtual data and adds it to the fractional sample, and at least one data belonging to the plurality of samples, the plurality of samples and an under-sampling unit configured to detect data adjacent to the data of the minority sample from among the data of , and remove the adjacent data from the plurality of samples.

불균형 데이터 처리 방법은, 적어도 하나의 데이터를 획득하되, 상기 적어도 하나의 데이터는 소수 표본 또는 다수 표본 중 적어도 하나에 속하는 단계, 가상의 데이터를 더 생성하여 상기 소수 표본에 추가하여 오버 샘플링을 수행하는 단계 및 상기 다수 표본의 데이터 중에서 상기 소수 표본의 데이터와 근접한 데이터를 검출하고 상기 근접한 데이터를 상기 다수 표본에서 제거하여 언더 샘플링을 수행하는 단계를 포함할 수 있다.The method for processing unbalanced data includes: acquiring at least one data, wherein the at least one data belongs to at least one of a minority sample or a multiple sample; generating virtual data further and adding it to the minority sample to perform oversampling and detecting data adjacent to the data of the minority sample from among the data of the plurality of samples, and performing undersampling by removing the adjacent data from the plurality of samples.

상술한 불균형 데이터 처리 장치 및 방법에 의하면, 클래스 간 데이터 불균형에 따라 발생되는 여러 문제점을 해결할 수 있게 된다.According to the above-described apparatus and method for processing unbalanced data, it is possible to solve various problems caused by data imbalance between classes.

상술한 불균형 데이터 처리 장치 및 방법에 의하면, 상대적으로 데이터가 많은 하나 이상의 다수 클래스 및 상대적으로 데이터가 적은 하나 이상의 소수 클래스가 존재하는 상황에서도 지도 학습 등을 위한 학습 모델의 성능 저하를 방지할 수 있게 된다.According to the above-described unbalanced data processing apparatus and method, it is possible to prevent the performance degradation of the learning model for supervised learning, etc. even in a situation where one or more multiple classes with relatively large data and one or more minority classes with relatively small data exist. do.

상술한 불균형 데이터 처리 장치 및 방법에 의하면, 시계열 데이터, 음향 데이터 또는 패턴 데이터 등의 분류 정확도를 높이면서도 재현율도 함께 높일 수 있는 장점이 있다.According to the above-described imbalance data processing apparatus and method, there is an advantage in that the accuracy of classification of time series data, sound data, pattern data, etc. can be increased, and a recall rate can also be increased.

도 1은 불균형 데이터 처리 장치의 일 실시예에 대한 블록도이다.
도 2는 데이터의 일 실시예에 대한 블록도이다.
도 3은 샘플링 처리 전의 데이터에 대한 t분포 확률적 임베딩 결과를 도시한 그래프 도면이다.
도 4는 샘플링 처리 후의 데이터에 대한 t분포 확률적 임베딩 결과를 도시한 그래프 도면이다.
도 5는 불균형 데이터 처리 방법의 일 실시예에 대한 블록도이다.
1 is a block diagram of an embodiment of an apparatus for processing unbalanced data.
2 is a block diagram of one embodiment of data.
3 is a graph showing a t-distribution stochastic embedding result for data before sampling processing.
4 is a graph showing a t-distribution stochastic embedding result for data after sampling processing.
5 is a block diagram of an embodiment of a method for processing unbalanced data.

이하 명세서 전체에서 동일 참조 부호는 특별한 사정이 없는 한 동일 구성요소를 지칭한다. 이하에서 사용되는 '부'가 부가된 용어는, 소프트웨어 또는 하드웨어로 구현될 수 있으며, 설계자나 사용자의 고려나 임의적 선택에 따라 하나의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 복수의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 하나의 '부'가 복수의 물리적 또는 논리적 부품들로 구현되는 것도 가능하다. 명세서 전체에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 어떤 부분과 다른 부분에 따라서 물리적 연결을 의미할 수도 있고, 또는 전기적으로 연결된 것을 의미할 수도 있다. 또한, 어떤 부분이 다른 부분을 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 부분 이외의 또 다른 부분을 제외하는 것이 아니며, 설계자의 선택에 따라서 또 다른 부분을 더 포함할 수 있음을 의미한다. 제1이나 제2 등의 용어는 하나의 부분을 다른 부분으로부터 구별하기 위해 사용되는 것으로, 특별한 기재가 없는 이상 이들이 순차적인 표현을 의미하는 것은 아니다. 또한 단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.In the following specification, the same reference numerals refer to the same elements unless otherwise specified. The term added with 'part' used below may be implemented in software or hardware, and one 'unit' may be implemented as one physical or logical part, or a plurality of parts may be implemented according to the consideration or arbitrary selection of a designer or user It is also possible that 'unit' is implemented as one physical or logical part, or one 'unit' is implemented with a plurality of physical or logical parts. Throughout the specification, when it is said that a part is connected to another part, this may mean a physical connection or an electrically connected part depending on the part and the other part. In addition, when it is said that a part includes another part, it does not exclude another part other than the other part unless otherwise stated, and it means that another part may be further included according to the designer's choice. do. Terms such as first and second are used to distinguish one part from another, and unless otherwise specified, they do not mean sequential expressions. Also, singular expressions may include plural expressions unless the context clearly dictates otherwise.

이하 도 1 내지 도 4를 참조하여 불균형 데이터 처리 장치의 일 실시예를 설명하도록 한다.Hereinafter, an embodiment of an apparatus for processing unbalanced data will be described with reference to FIGS. 1 to 4 .

도 1은 불균형 데이터 처리 장치의 일 실시예에 대한 블록도이고, 도 2는 데이터의 일 실시예에 대한 블록도이다.1 is a block diagram of an embodiment of an apparatus for processing unbalanced data, and FIG. 2 is a block diagram of an embodiment of data.

도 1 및 도 2에 도시된 바에 의하면, 불균형 데이터 처리 장치(100)는, 일 실시예에 있어서, 외부로부터 적어도 하나의 데이터(50)를 획득하는 데이터 획득부(101)와, 데이터 획득부(101)로부터 수신한 데이터(50)를 기반으로 불균형 데이터 처리, 학습 모델의 훈련 및/또는 훈련된 학습 모델 기반 결과 획득을 수행할 수 있는 프로세서(110)와, 프로세서(110)가 획득한 정보를 외부로 시각적 또는 청각적으로 출력 가능한 데이터 출력부(103)를 포함할 수 있다. 여기서, 데이터 획득부(101), 데이터 출력부(103) 및 프로세서(110)는 일방으로 또는 쌍방으로 명령/지시나 데이터 등을 전송할 수 있되, 예를 들어, 케이블, 무선통신네트워크 및 회로라인 중 적어도 하나를 통해 명령/지시나 데이터 등을 순차적으로 또는 비순차적으로 전송할 수 있도록 마련될 수 있다.1 and 2 , the imbalance data processing apparatus 100 includes, in an embodiment, a data acquisition unit 101 that acquires at least one data 50 from the outside, and a data acquisition unit ( Based on the data 50 received from 101), the processor 110 capable of processing imbalanced data, training the learning model, and/or obtaining the trained learning model-based result, and the information obtained by the processor 110 It may include a data output unit 103 that can be output visually or audibly to the outside. Here, the data acquisition unit 101, the data output unit 103, and the processor 110 may transmit commands/instructions or data to one or both sides, for example, among cables, wireless communication networks, and circuit lines. It may be provided to sequentially or non-sequentially transmit a command/instruction or data through at least one.

데이터 획득부(101)는 사용자의 조작에 따라, 메모리 장치나 다른 정보 처리 장치로부터의 수신에 따라 적어도 하나의 데이터(50)를 획득할 수 있다. 데이터 획득부(101)는, 실시예에 따라서, 키보드, 마우스, 태블릿, 터치 스크린, 터치 패드, 트랙볼, 트랙패드, 스캐너 장치, 영상 촬영 모듈, 동작 감지 센서, 진동 센서, 수광 센서, 감압 센서, 근접 센서, 초음파 스캐너, 마이크로 폰, 외부의 다른 장치(일례로 휴대용 메모리 장치 등)로부터 데이터 등의 수신이 가능한 데이터 입출력 단자 및/또는 통신 모듈(일례로 랜카드, 근거리 통신 모듈 또는 이동통신 모듈 등) 등을 포함할 수 있다.The data acquisition unit 101 may acquire at least one data 50 according to a user's manipulation or reception from a memory device or other information processing device. The data acquisition unit 101 may include, according to an embodiment, a keyboard, a mouse, a tablet, a touch screen, a touch pad, a track ball, a track pad, a scanner device, an image capturing module, a motion detection sensor, a vibration sensor, a light receiving sensor, a pressure sensor, Proximity sensor, ultrasound scanner, microphone, data input/output terminal and/or communication module (eg, LAN card, short-distance communication module or mobile communication module, etc.) capable of receiving data from other external devices (eg, portable memory device, etc.) and the like.

데이터 획득부(101)가 획득한 데이터(50)는, 예를 들어, 도 2에 도시된 바와 같이 어느 하나의 표본(51, 이하 소수 표본)에 속하는 적어도 하나의 데이터(1 내지 4) 및/또는 다른 하나의 표본(52, 이하 다수 표본)에 속하는 적어도 하나의 데이터(5 내지 13)을 포함할 수 있다. 이 경우, 소수 표본(51)은 다수 표본(52)에 비해 상대적으로 적은 수의 데이터(1 내지 4)를 포함하고, 반대로 다수 표본(52)은 소수 표본(51)에 비해 상대적으로 많은 수의 데이터(5 내지 13)를 포함할 수 있다. 상황에 따라서 소수 표본(51)은 다수 표본(52)에 비해 포함하는 데이터가 극히 적을 수도 있다. 소수 표본(51)의 데이터(1 내지 4)는, 지도 학습 등을 통해 어느 하나의 클래스(이하 소수 클래스)로 분류될 수 있는 데이터이고, 다수 표본(52)의 데이터(5 내지 13)는 다른 하나의 클래스(이하 다수 클래스)로 분류될 수 있는 데이터이다. 즉, 소수 표본(51)은 소수 클래스에 대응하고, 다수 표본(52)은 다수 클래스에 대응한다. 이 경우, 소수 표본(51)의 데이터(1 내지 4)의 개수가 다수 표본(52)의 데이터(5 내지 13)의 개수에 비해 상당히 작으면, 양 표본(51, 52) 데이터(1 내지 4, 5 내지 13)의 불균형으로 인해 정확도는 증가해도 재현율이 감소하게 되는 문제점이 발생한다. 도 2에는 오직 두 개의 표본(51, 52)만이 도시되어 있으나, 이는 예시적인 것으로, 표본(51, 52)의 개수나 데이터(1 내지 13)의 개수는 이에 한정되는 것은 아니다. 실시예에 따라서 데이터 획득부(101)는 셋 이상의 표본에 속하는 데이터를 획득할 수도 있다. 여기서, 셋 이상의 표본 중 적어도 하나의 표본은 다른 둘 이상의 표본에 비해 상대적으로 소수의 데이터를 포함하고, 적어도 하나의 다른 표본은 다른 둘 이상의 표본에 대해 상대적으로 다수의 데이터를 포함할 수 있다. 또한, 실시예에 따라서 데이터(1 내지 13)는 후술하는 전처리부(111)에 의해 처리되거나 특징 추출부(112)에 의해 추출된 특징을 포함할 수도 있다. The data 50 acquired by the data acquisition unit 101 is, for example, as shown in FIG. 2 , at least one data 1 to 4 belonging to any one sample 51 (hereinafter referred to as a prime sample) and/or Alternatively, at least one piece of data 5 to 13 belonging to another sample 52 (hereinafter, multiple samples) may be included. In this case, the minority sample 51 includes a relatively small number of data 1 to 4 compared to the majority sample 52 , and on the contrary, the majority sample 52 includes a relatively large number of data compared to the minority sample 51 . data 5 to 13 may be included. Depending on circumstances, the minority sample 51 may include very little data compared to the majority sample 52 . The data 1 to 4 of the minority sample 51 are data that can be classified into any one class (hereinafter referred to as a minority class) through supervised learning, etc., and the data 5 to 13 of the multiple sample 52 are different Data that can be classified into one class (hereinafter, multiple classes). That is, the minority sample 51 corresponds to the minority class, and the majority sample 52 corresponds to the majority class. In this case, if the number of data 1 to 4 in the minority sample 51 is significantly smaller than the number of data 5 to 13 in the majority sample 52, both samples 51 and 52 data 1 to 4 , 5 to 13), there is a problem in that the recall decreases even if the accuracy is increased. Although only two samples 51 and 52 are illustrated in FIG. 2 , this is exemplary, and the number of samples 51 and 52 or the number of data 1 to 13 is not limited thereto. According to an embodiment, the data acquisition unit 101 may acquire data belonging to three or more samples. Here, at least one sample of the three or more samples may include a relatively small number of data compared to the other two or more samples, and the at least one other sample may include a relatively large number of data with respect to the other two or more samples. In addition, according to an embodiment, the data 1 to 13 may include features processed by the pre-processing unit 111 to be described later or extracted by the feature extracting unit 112 .

데이터(1 내지 13)는 적어도 하나의 패턴 데이터를 포함할 수 있으며, 패턴 데이터는 시간의 흐름에 따라 변화하는 시계열 데이터를 포함할 수 있다. 패턴 데이터는, 예를 들어, 정현파나 고조파를 포함할 수 있다. 실시예에 따라서, 데이터(1 내지 13)는 청진음 데이터(일례로 심음(心音)), 음성, 주변 음향, 잡음 또는 음악 등과 같은 음향 데이터를 포함할 수 있다. 여기서, 심음은 심장의 박동 소리로, 심음의 정상 여부를 통해 판막 질환 등과 같은 심장의 상태 이상 여부를 용이하게 측정할 수 있다. 이러한 심음은 시계열적 패턴 데이터이다. 데이터 획득부(101)가 획득한 데이터(1 내지 13)는 즉시 또는 순차적으로 프로세서(110)로 전달될 수 있다. 프로세서(110)로의 전달 전에 데이터(1 내지 13)는 일시적 또는 비일시적으로 저장부(미도시)에 저장될 수도 있다. 여기서 저장부는 주기억장치 및 보조기억장치 중 적어도 하나를 포함할 수 있다.The data 1 to 13 may include at least one pattern data, and the pattern data may include time series data that changes over time. The pattern data may include, for example, a sine wave or a harmonic wave. According to an embodiment, the data 1 to 13 may include sound data such as auscultation sound data (eg, heart sound), voice, ambient sound, noise, or music. Here, the heart sound is a beating sound of the heart, and it is possible to easily measure whether the heart is abnormal, such as a valve disease, based on whether the heart sound is normal. These heart sounds are time-series pattern data. The data 1 to 13 acquired by the data acquisition unit 101 may be immediately or sequentially transmitted to the processor 110 . Before delivery to the processor 110 , the data 1 to 13 may be temporarily or non-temporarily stored in a storage unit (not shown). Here, the storage unit may include at least one of a main memory device and an auxiliary memory device.

프로세서(110)는 적어도 하나의 데이터(1 내지 13)를 획득하고 획득한 적어도 하나의 데이터(1 내지 13)에 대해 오버 샘플링 및 언더 샘플링을 수행하여 불균형된 데이터를 적절하게 처리할 수 있다.The processor 110 may appropriately process unbalanced data by acquiring at least one data 1 to 13 and performing oversampling and undersampling on the at least one data 1 to 13 .

도 1에 도시된 일 실시예에 의하면, 프로세서(110)는 전처리부(111), 특징 추출부(112), 샘플링 처리부(113), 불균형 확인부(114) 및 분류 처리부(115)를 포함할 수 있다. 실시예에 따라서, 전처리부(111), 특징 추출부(112), 불균형 확인부(114) 및 분류처리부(115) 중 적어도 하나는 생략 가능하다. 여기서, 전처리부(111), 특징 추출부(112), 샘플링처리부(113), 불균형 확인부(114) 및 분류처리부(115)는 논리적으로 구분되는 것일 수도 있고 물리적으로 구분되는 것일 수도 있다.1 , the processor 110 may include a pre-processing unit 111 , a feature extraction unit 112 , a sampling processing unit 113 , an imbalance checking unit 114 , and a classification processing unit 115 . can According to an embodiment, at least one of the pre-processing unit 111 , the feature extraction unit 112 , the imbalance checking unit 114 , and the classification processing unit 115 may be omitted. Here, the preprocessing unit 111 , the feature extracting unit 112 , the sampling processing unit 113 , the imbalance checking unit 114 , and the classification processing unit 115 may be logically separated or physically separated.

전처리부(111)는 데이터(1 내지 13)를 처리가 가능하거나 용이한 상태로 변환할 수 있다. 예를 들어, 전처리부(111)는 데이터(1 내지 13)가 주파수 기반의 데이터인 경우, 데이터(1 내지 13)에 대해 푸리에 변환을 적용하여 데이터(1 내지 13)의 전처리를 수행할 수도 있다. The preprocessor 111 may convert the data 1 to 13 into a state in which processing is possible or easy. For example, when the data 1 to 13 are frequency-based data, the preprocessor 111 may perform preprocessing of the data 1 to 13 by applying a Fourier transform to the data 1 to 13 . .

특징 추출부(112)는 데이터(1 내지 13), 일례로 음향 데이터로부터 적어도 하나의 특징(feature)를 추출할 수 있다. 특징은 소수 표본(51)에 대응하는 특징 및 다수 표본(52)에 대응하는 특징을 포함할 수 있다. 이 경우, 특징 추출부(112)는 시간, 주파수 및 통계 중 어느 하나를 기반으로 특징을 추출할 수도 있고, 또는 이들 중 복수를 기반으로 특징을 추출한 후 융합할 수도 있다. 특징 추출부(112)는 예를 들어, 멜 주파수 켑스트럴 계수(MFCC: Mel-frequency cepstral coefficients), 멜 스펙트로그램(Mel spectrogram), 제로 크로싱율(zero crossing rate), 크로마(chroma) 및 콘트라스트(contrast) 방법 중 하나를 이용하거나 또는 이들 중 둘 이상을 조합 이용하여 특징을 추출할 수도 있다. 여기서, 멜 스펙트로그램은 입력되는 신호를 프레임으로 분할하고 이에 푸리에 변환을 적용하여 스펙트럼을 획득한 후, 멜 필터를 통해 여과시켜 데이터를 주파수 영역으로 표현하는 것이고, 멜 주파수 켑스트럴 계수는 멜 스펙트로그램에 대해 켑스트럴 분석을 통해 획득되는 벡터이다. 제로 크로싱율은 음성 신호나 시계열 데이터의 값이 0으로 변화하는 횟수를 측정한 값을 특징에 대한 값으로 이용하는 방법이다. 크로마는 음높이를 12음계를 나타내는 피치 클래스로 나타내는 벡터이다. 콘트라스트는 옥타브 기반의 스펙트럼 대역대의 특성을 나타내면서 특징을 통해 음악의 장르를 분류할 수 있도록 하는 방법이다.The feature extractor 112 may extract at least one feature from the data 1 to 13 , for example, sound data. The features may include features corresponding to the minority sample 51 and features corresponding to the majority sample 52 . In this case, the feature extraction unit 112 may extract a feature based on any one of time, frequency, and statistics, or may extract a feature based on a plurality of them and then fuse them. The feature extraction unit 112 may include, for example, Mel-frequency cepstral coefficients (MFCC), Mel spectrogram, zero crossing rate, chroma, and contrast. The feature may be extracted using one of (contrast) methods or a combination of two or more of them. Here, the Mel spectrogram divides the input signal into frames, applies a Fourier transform to it, obtains a spectrum, and then filters it through a Mel filter to express the data in the frequency domain. It is a vector obtained through cepstral analysis for gram. The zero crossing rate is a method of using a value obtained by measuring the number of times a value of a voice signal or time series data changes to 0 as a value for a feature. Chroma is a vector that represents pitch as a pitch class representing 12 scales. Contrast is a method of classifying music genres through characteristics while indicating characteristics of an octave-based spectral band.

샘플링 처리부(113)는 주어진 데이터(1 내지 13)에 대해 새로운 데이터를 더 부가하거나 또는 주어진 데이터(1 내지 13) 중에서 일부를 제거하는 등 데이터(1 내지 13)에 대한 가공을 수행할 수 있다. 여기서, 주어진 데이터(1 내지 13)는, 데이터 획득부(101)가 획득한 데이터(1 내지 13)일 수도 있고, 전처리부(111)에 의해 전처리된 데이터일 수도 있으며, 및/ 또는 특징추출부(112)에서 추출된 데이터(1 내지 13)에 상응하는 특징일 수도 있다. The sampling processing unit 113 may perform processing on the data 1 to 13 , such as adding new data to the given data 1 to 13 or removing some of the given data 1 to 13 . Here, the given data 1 to 13 may be data 1 to 13 acquired by the data acquisition unit 101, data pre-processed by the pre-processing unit 111, and/or feature extraction unit It may be a feature corresponding to the data 1 to 13 extracted in 112 .

일 실시예에 의하면, 샘플링 처리부(113)는 오버 샘플링 처리를 수행하는 오버 샘플링 처리부(113a) 및 언더 샘플링 처리를 수행하는 언더 샘플링 처리부(113b)를 포함할 수 있다. 오버 샘플링 처리부(113a)는 가상의 데이터를 더 생성하여 소수 표본(51)에 추가할 수 있다. 즉, 소수 표본(51)은 기존의 데이터(1 내지 4, 상술한 바와 같이 특징을 포함할 수도 있음) 외에 다른 가상의 데이터(또는 특징)를 더 포함하게 된다. 이 경우, 오버 샘플링 처리부(113a)는 소수 표본(51)의 하나 이상의 데이터(1 내지 4) 중에서 적어도 하나(일례로 중심이 되는 데이터)를 선택하고, 선택된 데이터와 다른 데이터를 가상의 선분으로 연결한 후, 가상의 선분 위에 적어도 하나의 가상의 데이터를 임의적으로 추가함으로써 적어도 하나의 가상의 데이터를 생성할 수 있다. 이에 따라 소수 표본(51)에 해당하는 데이터(1 내지 4)의 개수는 증가하게 된다. 언더 샘플링 처리부(113b)는 다수 표본(52)의 데이터(5 내지 13) 중에서 적어도 하나의 데이터를 삭제하여 언더 샘플링을 수행할 수 있다. 이 경우, 언더 샘플링 처리부(113b)는 표본(51, 52) 내의 데이터(1 내지 13, 상술한 바와 같이 다수 표본(52)에 속하는 특징을 포함할 수 있음) 간의 거리를 이용하여 언더 샘플링을 수행할 수 있다. 예를 들어, 언더 샘플링 처리부(113b)는 다수 표본(52)의 데이터(5 내지 13, 또는 추출된 특징) 중에서 소수 표본(51)의 데이터(1 내지 4, 또는 추출된 특징) 중 적어도 하나와 근접한 적어도 하나의 데이터를 획득하고, 소수 표본(51)의 데이터(1 내지 4) 중 적어도 하나와 근접한 적어도 하나의 데이터를 다수 표본(52)에서 제거하여 다수 표본(51)의 데이터(5 내지 13)의 개수를 감소시킬 수 있다. 실시예에 따라서 샘플링 처리부(113)는 불균형 확인부(114)에 의한 데이터 불균형 발생 여부의 확인 결과에 응하여 상술한 오버 샘플링 및 언더 샘플링 중 적어도 하나를 수행할 수도 있다.According to an embodiment, the sampling processing unit 113 may include an oversampling processing unit 113a performing oversampling processing and an undersampling processing unit 113b performing undersampling processing. The oversampling processing unit 113a may further generate virtual data and add it to the decimal sample 51 . That is, the decimal sample 51 further includes other virtual data (or features) in addition to the existing data (1 to 4, which may include features as described above). In this case, the oversampling processing unit 113a selects at least one (eg, central data) from one or more data 1 to 4 of the decimal sample 51 , and connects the selected data and other data with a virtual line segment. Then, at least one virtual data may be generated by arbitrarily adding at least one virtual data on the virtual line segment. Accordingly, the number of data 1 to 4 corresponding to the decimal sample 51 increases. The under-sampling processing unit 113b may perform under-sampling by deleting at least one data from among the data 5 to 13 of the plurality of samples 52 . In this case, the undersampling processing unit 113b performs undersampling by using the distance between the data (1 to 13, which may include features belonging to the plurality of samples 52 as described above) in the samples 51 and 52 . can do. For example, the under-sampling processing unit 113b may perform at least one of data (1 to 4, or extracted features) of the minority sample 51 among data (5 to 13, or extracted features) of the multiple samples 52 and At least one data adjacent to each other is obtained, and at least one data adjacent to at least one of the data 1 to 4 of the minority sample 51 is removed from the majority sample 52 to remove the data 5 to 13 of the majority sample 51 ) can be reduced. According to an embodiment, the sampling processing unit 113 may perform at least one of the above-described oversampling and undersampling in response to a result of determining whether data imbalance has occurred by the imbalance checking unit 114 .

도 3은 샘플링 처리 전의 데이터에 대한 t분포 확률적 임베딩 결과를 도시한 그래프 도면이고, 도 4는 샘플링 처리 후의 데이터에 대한 t분포 확률적 임베딩 결과를 도시한 그래프 도면이다.3 is a graph showing a t-distribution stochastic embedding result for data before sampling processing, and FIG. 4 is a graph diagram illustrating a t-distribution stochastic embedding result for data after sampling processing.

불균형 확인부(114)는 데이터 획득부(101)가 획득한 데이터(1 내지 13), 전처리부(111)에 의해 전처리된 데이터 및/또는 특징추출부(112)에 의해 추출된 특징을 기반으로 클래스 불균형 여부를 판단할 수 있다. 일 실시예에 의하면, 불균형 확인부(114)는, 오버 샘플링부(113a)에 의해 처리된 소수 표본(51)의 데이터(1 내지 4) 및 언더 샘플링부(113b)에 의해 처리된 다수 표본(52)의 데이터에(5 내지 13)에 대해 t분포 확률적 임베딩(T-SNE: t-Stochastic Nearest Neighbor)를 적용함으로써 클래스 불균형 여부를 판단할 수도 있다. t분포 확률적 임베딩은 고차원의 데이터를 저차원으로 축소하는 기계 학습 방법으로, 3 이상의 차원의 데이터를 2차원 또는 3차원의 데이터로 축소하여 도 3 및 도 4에 도시된 바와 같이 그래프의 형태로 시각화할 수 있다. 도 3에 도시된 바와 같이 오버 샘플링 또는 언더 샘플링이 수행되지 않은 데이터의 경우, 클래스 불균형으로 인해 데이터가 혼재한 양상을 나타내고 있다. 반면에 오버 샘플링부(113a) 및 언더 샘플링부(113b) 각각에 의해 오버 샘플링 및 언더 샘플링이 수행된 이후에는 도 4에 도시된 바와 같이 좀더 개선된 형태로 분류되고 있다.The imbalance check unit 114 is based on the data 1 to 13 acquired by the data acquisition unit 101, the data pre-processed by the pre-processing unit 111, and/or the features extracted by the feature extraction unit 112. Class imbalance can be determined. According to an embodiment, the imbalance check unit 114 includes data 1 to 4 of the minority sample 51 processed by the oversampling unit 113a and the multiple samples ( ) processed by the undersampling unit 113b. 52) by applying a t-distribution stochastic embedding (T-SNE: t-Stochastic Nearest Neighbor) to (5 to 13) to the data of (5) to determine whether the class imbalance. The t-distribution stochastic embedding is a machine learning method that reduces high-dimensional data to low-dimensional data, and reduces three-dimensional data to two-dimensional or three-dimensional data in the form of a graph as shown in FIGS. 3 and 4 . can be visualized. As illustrated in FIG. 3 , in the case of data on which oversampling or undersampling is not performed, data is mixed due to class imbalance. On the other hand, after oversampling and undersampling are performed by the oversampling unit 113a and the undersampling unit 113b, respectively, as shown in FIG. 4 , they are classified into a more improved form.

분류 처리부(115)는, 일 실시예에 따르면, 소수 표본(51)의 데이터(1 내지 4)와, 오버 샘플링부(113a)에 의해 소수 표본(51)에 부가된 가상의 데이터와, 언더 샘플링부(113b)에 의해 일부가 제거된 다수 표본(52)의 데이터(5 내지 13 중 적어도 하나)를 기반으로 클래스 분류를 수행할 수 있다. 이를 위해 분류 처리부(115)는 적어도 하나의 학습 모델을 이용할 수 있다. 여기서, 적어도 하나의 학습 모델은, 예를 들어, 심층 신경망(DNN, Deep Neural Network), 콘볼루션 신경망(CNN, Convolutional Neural Network), 순환 신경망(RNN, Recurrent Neural Network), 심층 신뢰 신경망(DBN, Deep Belief Network), 심층 Q-네트워크(Deep Q-Networks), 장단기 메모리(LSTM: Long short term memory), 랜덤 포레스트(Random Forest), 다층 퍼셉트론(Multi-layer Perceptron), 서포트 벡터 머신(SVM: support vector machine), 생성적 적대 신경망(GAN: Generative Adversarial Network) 및/또는 조건적 생성적 적대 신경망(cGAN: Conditional GAN) 등과 같은 학습 모델을 기반으로 구축된 것이되, 하나의 학습 모델을 이용하여 구현된 것일 수도 있고 또는 둘 이상의 학습 모델을 조합하여 구현된 것일 수도 있다. 한편, 상술한 학습 모델들은 예시적인 것으로 분류 처리부(115)는 이들 외에도 설계자나 사용자가 고려 가능한 적어도 하나의 다른 학습 모델을 기반으로 클래스 분류를 수행할 수도 있다.According to an embodiment, the classification processing unit 115 includes data 1 to 4 of the decimal sample 51 , virtual data added to the decimal sample 51 by the oversampling unit 113a, and undersampling. Class classification may be performed based on data (at least one of 5 to 13) of the plurality of samples 52 from which a part has been removed by the unit 113b. For this, the classification processing unit 115 may use at least one learning model. Here, the at least one learning model is, for example, a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a deep trust neural network (DBN, Deep Belief Network, Deep Q-Networks, Long short term memory (LSTM), Random Forest, Multi-layer Perceptron, Support Vector Machine (SVM: support) vector machine), a generative adversarial network (GAN) and/or a conditional adversarial neural network (cGAN), etc. It may be implemented or implemented by combining two or more learning models. Meanwhile, the above-described learning models are exemplary, and in addition to these, the classification processing unit 115 may perform class classification based on at least one other learning model that a designer or a user can consider.

상술한 프로세서(100)는, 예를 들어, 중앙 처리 장치(CPU, Central Processing Unit), 마이크로 컨트롤러 유닛(MCU, Micro Controller Unit), 마이컴(Micom, Micro Processor), 애플리케이션 프로세서(AP, Application Processor), 전자 제어 유닛(ECU, Electronic Controlling Unit) 및/또는 각종 연산 처리 및 제어 신호의 생성이 가능한 다른 전자 장치 등을 포함할 수 있다. 이들 장치는, 예를 들어, 하나 또는 둘 이상의 반도체 칩 등을 이용하여 구현된 것일 수 있다. 또한, 프로세서(100)는 저장부에 저장된 프로그램을 실행시켜, 미리 정의된 연산, 판단, 처리 및/또는 제어 동작 등을 수행할 수 있으며, 저장부에 저장된 프로그램은 사용자나 설계자 등에 의해 직접 작성 및 수정된 것일 수도 있고, 다른 메모리 장치 등으로부터 전달, 설치 및 갱신된 것일 수도 있으며, 및/또는 유선 또는 무선 통신 네트워크를 통해 접속 가능한 전자 소프트웨어 유통망을 통하여 획득 또는 갱신된 것일 수도 있다.The above-described processor 100 is, for example, a central processing unit (CPU, Central Processing Unit), a micro controller unit (MCU, Micro Controller Unit), a microcomputer (Micom, Micro Processor), an application processor (AP, Application Processor) , an electronic control unit (ECU, Electronic Controlling Unit) and/or other electronic devices capable of processing various calculations and generating control signals. These devices may be implemented using, for example, one or two or more semiconductor chips. In addition, the processor 100 may execute a program stored in the storage unit to perform predefined operations, judgment, processing and/or control operations, etc., and the program stored in the storage unit may be directly created and It may be modified, it may be transmitted, installed, and updated from another memory device, and/or it may be obtained or updated through an electronic software distribution network accessible through a wired or wireless communication network.

데이터 출력부(103)는 샘플링 처리부(113)의 처리 결과, 불균형 확인부(114)가 획득한 불균형에 관한 그래프나, 분류 처리부(115)에 의함 분류 처리 결과 등을 시각적 또는 청각적으로 외부로 출력하거나, 및/또는 외부의 메모리 장치나 다른 정보 처리 장치로 전달할 수 있다. 데이터 출력부(103)는 예를 들어, 디스플레이, 프린터 장치, 스피커 장치, 영상 출력 단자, 데이터 입출력 단자 및/또는 통신 모듈 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.The data output unit 103 visually or aurally outputs the processing result of the sampling processing unit 113, the graph related to the imbalance obtained by the imbalance checking unit 114, the classification processing result by the classification processing unit 115, and the like. may be output and/or transmitted to an external memory device or other information processing device. The data output unit 103 may include, for example, a display, a printer device, a speaker device, an image output terminal, a data input/output terminal, and/or a communication module, but is not limited thereto.

상술한 불균형 데이터 처리 장치(100)는, 하나의 정보처리장치를 이용하여 또는 둘 이상의 정보처리장치를 조합 이용하여 구현될 수 있다. 여기서, 정보 처리 장치는, 실시예에 따라서, 서버용 컴퓨터 장치, 데스크톱 컴퓨터, 랩톱 컴퓨터, 스마트 폰, 태블릿 피씨, 스마트 시계, 두부 장착형 디스플레이(HMD: Head Mounted Display) 장치, 내비게이션 장치, 휴대용 게임기, 개인용 디지털 보조기(PDA: Personal Digital Assistant), 디지털 텔레비전, 전자 광고판, 셋 톱 박스, 가전 기기(냉장고나 세탁기 등), 인공 지능 음향 재생 장치, 유인 이동체(승용차, 버스나 이륜차 등의 차량 등), 무인 이동체(로봇 청소기 등), 건설기계, 유인 비행체, 무인 비행체, 가정용 또는 산업용 로봇 및/또는 산업용 기계 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 하나 또는 둘 이상의 정보처리장치는 예시된 바 이외에도 데이터의 기반의 학습 모델의 훈련 및/또는 훈련된 학습 모델 기반의 정보 획득을 수행할 수 있는 다양한 장치를 포함할 수 있다.The above-described imbalanced data processing apparatus 100 may be implemented using one information processing apparatus or a combination of two or more information processing apparatuses. Here, the information processing device, according to an embodiment, is a computer device for a server, a desktop computer, a laptop computer, a smart phone, a tablet PC, a smart watch, a head mounted display (HMD) device, a navigation device, a portable game machine, and a personal device. Digital assistants (PDA: Personal Digital Assistant), digital televisions, electronic billboards, set-top boxes, home appliances (refrigerators and washing machines, etc.), artificial intelligence sound reproduction devices, manned vehicles (cars, buses, vehicles such as two-wheeled vehicles, etc.), unmanned It may include, but is not limited to, a moving object (robot cleaner, etc.), a construction machine, a manned vehicle, an unmanned aerial vehicle, a household or industrial robot, and/or an industrial machine. The one or more information processing devices may include various devices capable of performing training of a data-based learning model and/or information acquisition based on the trained learning model, in addition to those exemplified.

이하 도 5를 참조하여 불균형 데이터 처리 방법의 일 실시예를 설명하도록 한다.Hereinafter, an embodiment of a method for processing unbalanced data will be described with reference to FIG. 5 .

도 5는 불균형 데이터 처리 방법의 일 실시예에 대한 블록도이다.5 is a block diagram of an embodiment of a method for processing unbalanced data.

도 5에 도시된 바에 의하면, 먼저 적어도 하나의 데이터가 획득되되, 획득된 적어도 하나의 데이터는 복수의 표본 중 어느 하나에 속할 수 있다(200). 이 경우, 복수의 표본은 포함하는 데이터의 개수에 따라서 적어도 하나의 소수 표본 또는 적어도 하나의 다수 표본으로 구분될 수 있다. 적어도 하나의 데이터는 적어도 하나의 소수 표본 및 적어도 하나의 다수 표본 중 적어도 하나에 속할 수 있다. 일 실시예에 의하면, 데이터는 심음과 같은 음향 데이터 또는 음향 데이터로부터 추출된 특징을 포함할 수 있다. 음향 데이터로부터 추출된 특징은, 예를 들어, 음향 데이터에 대해 푸리에 변환 등을 이용하여 전처리를 수행한 후, 시간, 주파수 및 통계 중 어느 하나를 기반으로 전처리된 데이터로부터 추출된 것일 수 있다. 특징의 추출은, 멜 주파수 켑스트럴 계수, 멜 스펙트로그램, 제로 크로싱, 크로마 및/또는 콘트라스트 등을 기반으로 수행 가능하다.As shown in FIG. 5 , at least one data is first obtained, and the at least one data obtained may belong to any one of a plurality of samples ( 200 ). In this case, the plurality of samples may be divided into at least one minority sample or at least one multiple sample according to the number of data included. The at least one data may belong to at least one of at least one minority sample and at least one majority sample. According to an embodiment, the data may include sound data such as a heart sound or a feature extracted from the sound data. The features extracted from the acoustic data may be, for example, pre-processed using a Fourier transform on the acoustic data, and then extracted from the pre-processed data based on any one of time, frequency, and statistics. Extraction of features may be performed based on Mel frequency cepstral coefficients, Mel spectrogram, zero crossing, chroma and/or contrast, and the like.

필요에 따라서 데이터에 대해 불균형 여부가 확인될 수 있다(402). 불균형 여부는 데이터에 대해 t분포 확률적 임베딩을 적용함으로써 수행될 수 있다. 데이터에 대한 불균형 여부의 확인은 도 5에 도시된 바와 같이 오버 샘플링 과정(204) 및 언더 샘플링 과정(206) 전에 수행될 수도 있고, 오버 샘플링 과정(204) 및 언더 샘플링 과정(206) 중 적어도 하나와 동시에 또는 순차적으로 수행될 수도 있으며, 및/또는 오버 샘플링 과정(204) 및 언더 샘플링 과정(206)이 처리된 이후에 수행될 수도 있다. 실시예에 따라서, 데이터 불균형 여부의 확인은 오버 샘플링 및 언더 샘플링이 처리되기 전의 데이터에 대해서도 수행되고, 아울러 오버 샘플링 및 언더 샘플링이 처리된 이후의 데이터에 대해서도 수행될 수도 있다.If necessary, it may be checked whether the data is unbalanced ( 402 ). Whether there is an imbalance can be performed by applying t-distribution stochastic embedding to the data. Checking whether the data is unbalanced may be performed before the oversampling process 204 and the undersampling process 206 as shown in FIG. 5 , and at least one of the oversampling process 204 and the undersampling process 206 . may be performed simultaneously with or sequentially, and/or may be performed after the oversampling process 204 and the undersampling process 206 are processed. According to an embodiment, the determination of whether data is imbalanced may be performed on data before oversampling and undersampling, and also on data after oversampling and undersampling are processed.

소수 표본에 대해서 오버 샘플링이 수행될 수 있다(404). 오버 샘플링은 소수 표본에 가상의 데이터를 더 추가함으로써 수행될 수 있다. 일 실시예에 따르면, 오버 샘플링은 소수 표본의 하나 이상의 데이터 중에서 적어도 하나를 선택하고, 선택된 데이터와 다른 데이터를 가상의 선분으로 연결한 후, 가상의 선분 위에 적어도 하나의 가상의 데이터를 임의적으로 추가함으로써 수행될 수도 있다.Oversampling may be performed on the fractional sample (404). Oversampling can be performed by adding more hypothetical data to a fractional sample. According to an embodiment, the oversampling selects at least one of one or more data of a small sample, connects the selected data and other data with a virtual line segment, and then randomly adds at least one virtual data on the virtual line segment. It can also be done by

오버 샘플링에 후행하거나, 선행하거나 또는 오버 샘플링과 동시에 다수 표본에 대해서 언더 샘플링이 수행될 수 있다(406). 언더 샘플링은 다수 표본의 데이터의 일부를 제거하는 방식으로 수행될 수도 있다. 구체적으로 예를 들어, 언더 샘플링은 다수 표본에 속하는 적어도 하나의 데이터 중에서 소수 표본의 적어도 하나의 데이터와 거리가 가까운 적어도 하나의 데이터를 선택하고, 선택된 적어도 하나의 데이터를 다수 표본에서 삭제함으로써 수행될 수도 있다.Undersampling may be performed on multiple samples following, preceding, or concurrently with oversampling (406). Undersampling may be performed in a manner that removes some of the data of multiple samples. Specifically, for example, the undersampling may be performed by selecting at least one data that is close to at least one data of a minority sample from among at least one data belonging to a plurality of samples, and deleting the selected at least one data from the plurality of samples. may be

오버 샘플링(404) 및 언더 샘플링(406)이 수행되면, 실시예에 따라서, 오버 샘플링된 소수 표본의 데이터와 언더 샘플링된 다수 표본의 데이터를 기반으로 클래스 분류가 더 수행될 수도 있다(408). 클래스 분류는 적어도 하나의 학습 모델을 기반으로 수행될 수 있으며, 예를 들어, 심층 신경망, 콘볼루션 신경망, 순환 신경망, 심층 신뢰 신경망, 심층 Q-네트워크, 장단기 메모리, 랜덤 포레스트, 다층 퍼셉트론, 서포트 벡터 머신, 생성적 적대 신경망 및 조건적 생성적 적대 신경망 중 적어도 하나의 학습 모델을 기반으로 수행될 수 있다. 클래스 분류는 생략 가능하다.After the oversampling 404 and the undersampling 406 are performed, class classification may be further performed based on the oversampled prime-sample data and the under-sampled multiple-sample data according to an embodiment ( 408 ). Class classification may be performed based on at least one learning model, for example, deep neural networks, convolutional neural networks, recurrent neural networks, deep trust neural networks, deep Q-networks, long and short-term memories, random forests, multi-layer perceptrons, support vectors. It may be performed based on a learning model of at least one of a machine, a generative adversarial neural network, and a conditional generative adversarial neural network. Class classification can be omitted.

상술한 실시예에 따른 불균형 데이터 처리 방법은, 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 여기서 프로그램은, 프로그램 명령, 데이터 파일 및 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 프로그램은 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 또한, 여기서, 컴퓨터 장치는, 프로그램의 기능을 실현 가능하게 하는 프로세서나 메모리 등을 포함하여 구현된 것일 수 있으며, 필요에 따라 통신 장치를 더 포함할 수도 있다. 상술한 불균형 데이터 처리 방법을 구현하기 위한 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 솔리드 스테이트 드라이브(SSD), 롬, 램 또는 플래시 메모리 등과 같은 반도체 저장 장치, 하드 디스크나 플로피 디스크 등과 같은 자기 디스크 저장 매체, 콤팩트 디스크나 디브이디 등과 같은 광 기록 매체, 플롭티컬 디스크 등과 같은 자기-광 기록 매체 및 자기 테이프 등 컴퓨터 등의 호출에 따라 실행되는 특정 프로그램을 저장 가능한 적어도 한 종류의 물리적 장치를 포함할 수 있다.The unbalanced data processing method according to the above-described embodiment may be implemented in the form of a program that can be driven by a computer device. Here, the program may include program instructions, data files, and data structures alone or in combination. The program may be designed and manufactured using machine code or high-level language code. The program may be specially designed to implement the above-described method, or may be implemented using various functions or definitions that are known and available to those skilled in the art of computer software. In addition, here, the computer device may be implemented including a processor or memory that enables the function of the program to be realized, and may further include a communication device if necessary. A program for implementing the above-described unbalanced data processing method may be recorded in a computer-readable recording medium. The computer-readable recording medium includes, for example, a solid state drive (SSD), a semiconductor storage device such as a ROM, RAM or flash memory, a magnetic disk storage medium such as a hard disk or a floppy disk, a compact disk or DVD, etc. It may include at least one type of physical device capable of storing a specific program executed in response to a call of a computer, such as an optical recording medium, a magneto-optical recording medium such as a floppy disk, and a magnetic tape.

이상 불균형 데이터 처리 장치 및 방법의 일 실시예에 대해 설명하였으나, 불균형 데이터 처리 장치 및 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 실시예를 기초로 수정 및 변형하여 구현 가능한 장치나 방법 역시 상술한 불균형 데이터 처리 장치 및 방법의 일례가 될 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로, 기능, 부품 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성 요소 또는 균등물에 의하여 대치되거나 또는 치환되더라도 상술한 불균형 데이터 처리 장치 및 방법의 일 실시예가 될 수 있다.Although an embodiment of the apparatus and method for processing unbalanced data has been described above, the apparatus and method for processing unbalanced data are not limited to the above-described embodiment. An apparatus or method that can be implemented by a person skilled in the art by modifying and modifying based on the above-described embodiment may also be an example of the above-described imbalanced data processing apparatus and method. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, function, component, etc., are combined or combined in a different manner than the described method. , may be an embodiment of the above-described unbalanced data processing apparatus and method even if substituted or substituted by other components or equivalents.

100: 불균형 데이터 처리 장치 101: 데이터 획득부
111: 전처리부 112: 특징 추출부
113: 샘플링 처리부 113a: 오버 샘플링 처리부
113b: 언더 샘플링 처리부 114: 불균형 확인부
115: 분류 처리부
100: unbalanced data processing device 101: data acquisition unit
111: preprocessor 112: feature extraction unit
113: sampling processing unit 113a: oversampling processing unit
113b: under-sampling processing unit 114: imbalance check unit
115: classification processing unit

Claims (10)

소수 표본에 속하는 적어도 하나의 데이터를 수신하고, 가상의 데이터를 더 생성하여 상기 소수 표본에 추가하는 오버 샘플링부; 및
다수 표본에 속하는 적어도 하나의 데이터를 수신하고, 상기 다수 표본의 데이터 중에서 상기 소수 표본의 데이터와 근접한 데이터를 검출하고 상기 근접한 데이터를 상기 다수 표본으로부터 제거하는 언더 샘플링부;를 포함하는 불균형 데이터 처리 장치.
an oversampling unit that receives at least one data belonging to a prime number sample, generates additional virtual data, and adds the data to the prime sample; and
An imbalance data processing apparatus comprising a; .
제1항에 있어서,
상기 적어도 하나의 데이터는 음향 데이터를 포함하는 불균형 데이터 처리 장치.
According to claim 1,
The at least one data is an imbalance data processing apparatus including acoustic data.
제1항에 있어서,
음향 데이터에 대해 푸리에 변환을 수행하는 전처리부; 및
상기 전처리부에 의해 전처리된 음향 데이터로부터 특징을 추출하는 특징 추출부;를 더 포함하고,
상기 적어도 하나의 데이터는 추출된 상기 특징을 포함하는 불균형 데이터 처리 장치.
According to claim 1,
a preprocessor that performs a Fourier transform on the acoustic data; and
A feature extraction unit for extracting features from the sound data preprocessed by the preprocessor;
wherein the at least one data includes the extracted feature.
제1항에 있어서,
상기 적어도 하나의 데이터에 대해 또는 상기 오버 샘플링부 및 상기 언더 샘플링부에 의해 처리된 상기 소수 표본 및 상기 다수 표본의 데이터에 대해 t분포 확률적 임베딩을 기반으로 데이터 불균형을 확인하는 불균형 확인부;를 더 포함하는 불균형 데이터 처리 장치.
According to claim 1,
An imbalance checking unit for confirming data imbalance based on t-distribution stochastic embedding for the at least one data or for the data of the prime sample and the plurality of samples processed by the over-sampling section and the under-sampling section; Unbalanced data processing unit further comprising.
제1항에 있어서,
상기 오버 샘플링부 및 상기 언더 샘플링부에 의해 처리된 상기 소수 표본 및 상기 다수 표본의 데이터에 대해 적어도 하나의 학습 모델을 기반으로 클래스 분류를 수행하되, 상기 적어도 하나의 학습 모델은 랜덤 포레스트(Random Forest), 다층 퍼셉트론(MLP: Multi-Layer Perceptron), 심층 신경망(DNN: Deep Neural Network), 콘볼루션 신경망(CNN: Convolutional Neural Network) 및 순환 신경망(RNN: Recurrent Neural Network) 중 적어도 하나를 포함하는 분류 처리부;를 더 포함하는 불균형 데이터 처리 장치.
According to claim 1,
Class classification is performed based on at least one learning model on the data of the few samples and the plurality of samples processed by the oversampling unit and the undersampling unit, wherein the at least one learning model is a random forest (Random Forest). ), a multi-layer perceptron (MLP), a deep neural network (DNN), a convolutional neural network (CNN), and a recurrent neural network (RNN). Unbalanced data processing apparatus further comprising a processing unit.
적어도 하나의 데이터를 획득하되, 상기 적어도 하나의 데이터는 소수 표본 또는 다수 표본 중 적어도 하나에 속하는 단계;
가상의 데이터를 더 생성하여 상기 소수 표본에 추가하여 오버 샘플링을 수행하는 단계; 및
상기 다수 표본의 데이터 중에서 상기 소수 표본의 데이터와 근접한 데이터를 검출하고 상기 근접한 데이터를 상기 다수 표본에서 제거하여 언더 샘플링을 수행하는 단계;를 포함하는 불균형 데이터 처리 방법.
obtaining at least one data, wherein the at least one data belongs to at least one of a minority sample or a majority sample;
performing oversampling by further generating virtual data and adding it to the fractional sample; and
and detecting data adjacent to the data of the minority sample from among the data of the plurality of samples, and performing undersampling by removing the adjacent data from the plurality of samples.
제6항에 있어서,
상기 적어도 하나의 데이터는 음향 데이터를 포함하는 불균형 데이터 처리 방법.
7. The method of claim 6,
wherein the at least one data includes sound data.
제7항에 있어서,
상기 적어도 하나의 데이터는, 푸리에 변환이 수행된 음향 데이터로부터 추출된 특징을 포함하는 불균형 데이터 처리 방법.
8. The method of claim 7,
The at least one data is an imbalance data processing method including a feature extracted from sound data on which Fourier transform has been performed.
제6항에 있어서,
상기 적어도 하나의 데이터에 대해 또는 상기 오버 샘플링부 및 상기 언더 샘플링부에 의해 처리된 상기 소수 표본 및 상기 다수 표본의 데이터에 대해 t분포 확률적 임베딩을 기반으로 데이터 불균형을 확인하는 단계;를 더 포함하는 불균형 데이터 처리 방법.
7. The method of claim 6,
Checking the data imbalance based on the t-distribution stochastic embedding for the at least one data or for the data of the fractional sample and the plurality of samples processed by the oversampling unit and the undersampling unit; How to handle unbalanced data.
제5항에 있어서,
상기 오버 샘플링부 및 상기 언더 샘플링부에 의해 처리된 상기 소수 표본 및 상기 다수 표본의 데이터에 대해 적어도 하나의 학습 모델을 기반으로 클래스 분류를 수행하되, 상기 적어도 하나의 학습 모델은 랜덤 포레스트(Random Forest), 다층 퍼셉트론(MLP: Multi-Layer Perceptron), 심층 신경망(DNN: Deep Neural Network), 콘볼루션 신경망(CNN: Convolutional Neural Network) 및 순환 신경망(RNN: Recurrent Neural Network) 중 적어도 하나를 포함하는 단계;를 더 포함하는 불균형 데이터 처리 방법.
6. The method of claim 5,
Class classification is performed based on at least one learning model on the data of the few samples and the plurality of samples processed by the oversampling unit and the undersampling unit, wherein the at least one learning model is a random forest (Random Forest). ), a multi-layer perceptron (MLP), a deep neural network (DNN), a convolutional neural network (CNN), and a recurrent neural network (RNN) comprising at least one of ; Unbalanced data processing method further comprising.
KR1020210020128A 2020-02-11 2021-02-15 Apparatus and method for processing imbalance data KR102533084B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200016477 2020-02-11
KR1020200016477 2020-02-11

Publications (2)

Publication Number Publication Date
KR20210102860A true KR20210102860A (en) 2021-08-20
KR102533084B1 KR102533084B1 (en) 2023-05-18

Family

ID=77466895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210020128A KR102533084B1 (en) 2020-02-11 2021-02-15 Apparatus and method for processing imbalance data

Country Status (1)

Country Link
KR (1) KR102533084B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230146349A (en) 2022-04-12 2023-10-19 삼성에스디에스 주식회사 Method for generating data and system thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140334304A1 (en) * 2013-05-13 2014-11-13 Hui Zang Content classification of internet traffic
JP2018502275A (en) * 2014-10-17 2018-01-25 シレカ セラノスティクス エルエルシーCireca Theranostics,Llc Biological sample classification method and system including analysis optimization and correlation utilization
WO2020013302A1 (en) * 2018-07-13 2020-01-16 株式会社生命科学インスティテュート Mental/nervous system disorder estimation system, estimation program, and estimation method
KR20200103494A (en) * 2019-02-25 2020-09-02 서강대학교산학협력단 Method for oversampling minority category for training data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140334304A1 (en) * 2013-05-13 2014-11-13 Hui Zang Content classification of internet traffic
JP2018502275A (en) * 2014-10-17 2018-01-25 シレカ セラノスティクス エルエルシーCireca Theranostics,Llc Biological sample classification method and system including analysis optimization and correlation utilization
WO2020013302A1 (en) * 2018-07-13 2020-01-16 株式会社生命科学インスティテュート Mental/nervous system disorder estimation system, estimation program, and estimation method
KR20200103494A (en) * 2019-02-25 2020-09-02 서강대학교산학협력단 Method for oversampling minority category for training data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Junsomboon, Nutthaporn, and Tanasanee Phienthrakul. Combining over-sampling and under-sampling techniques for imbalance dataset. 9th international conference on machine learning and computing. 2017.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230146349A (en) 2022-04-12 2023-10-19 삼성에스디에스 주식회사 Method for generating data and system thereof

Also Published As

Publication number Publication date
KR102533084B1 (en) 2023-05-18

Similar Documents

Publication Publication Date Title
CN110853617B (en) Model training method, language identification method, device and equipment
US20210012766A1 (en) Voice conversation analysis method and apparatus using artificial intelligence
CN110853618A (en) Language identification method, model training method, device and equipment
CN107112006A (en) Speech processes based on neutral net
US11423884B2 (en) Device with convolutional neural network for acquiring multiple intent words, and method thereof
KR102321855B1 (en) Artificial intelligence device that interacts with voice and method therefor
US11341945B2 (en) Techniques for learning effective musical features for generative and retrieval-based applications
CN110059794A (en) Man-machine recognition methods and device, electronic equipment, storage medium
US10916240B2 (en) Mobile terminal and method of operating the same
EP3769237A1 (en) Proximity-based engagement with digital assistants
US20200135212A1 (en) Speech recognition method and apparatus in environment including plurality of apparatuses
KR102533084B1 (en) Apparatus and method for processing imbalance data
CN114818864A (en) Gesture recognition method based on small samples
KR20210031344A (en) Computer programs for providing startup language recognition technology
WO2016206647A1 (en) System for controlling machine apparatus to generate action
CN112639965A (en) Speech recognition method and device in an environment comprising a plurality of devices
CN115866291A (en) Data processing method and device
CN115618232A (en) Data prediction method, device, storage medium and electronic equipment
KR20230093826A (en) Video data labeling method and devicd for animal detection and classification
WO2022222056A1 (en) Synthetic speech detection
US11120805B1 (en) Intelligent microphone having deep learning accelerator and random access memory
CN111971670A (en) Generating responses in a conversation
JP7273078B2 (en) Speaker Diarization Method, System, and Computer Program Using Voice Activity Detection Based on Speaker Embedding
WO2024089554A1 (en) System and method for keyword false alarm reduction
US11869492B2 (en) Anomaly detection system and method using noise signal and adversarial neural network

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right