KR102073020B1 - System and method for selecting optimized medical features using neural network - Google Patents

System and method for selecting optimized medical features using neural network Download PDF

Info

Publication number
KR102073020B1
KR102073020B1 KR1020170145552A KR20170145552A KR102073020B1 KR 102073020 B1 KR102073020 B1 KR 102073020B1 KR 1020170145552 A KR1020170145552 A KR 1020170145552A KR 20170145552 A KR20170145552 A KR 20170145552A KR 102073020 B1 KR102073020 B1 KR 102073020B1
Authority
KR
South Korea
Prior art keywords
influence
class
feature
input data
degree
Prior art date
Application number
KR1020170145552A
Other languages
Korean (ko)
Other versions
KR20190050229A (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 디어젠 주식회사
Priority to KR1020170145552A priority Critical patent/KR102073020B1/en
Priority to PCT/KR2018/013256 priority patent/WO2019088759A1/en
Publication of KR20190050229A publication Critical patent/KR20190050229A/en
Application granted granted Critical
Publication of KR102073020B1 publication Critical patent/KR102073020B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • G06N3/0427
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06K9/6267
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

피쳐 영향 판단방법 및 그 시스템이 개시된다. 상기의 J(J는 2 이상의 자연수)개의 피쳐(feature)들을 갖는 인풋 데이터들을 K(K는 2 이상의 자연수)개의 서로 다른 클래스들로 분류하는 뉴럴 네트워크를 이용하여 상기 J개의 피쳐들 중 적어도 하나 각각이 상기 분류에 영향을 미치는 정도를 판단하기 위한 방법은 a)피쳐 영향 판단시스템이 J개의 피쳐들 중 특정 j 피쳐의 영향력(DIj)을 연산하기 위해, N개의 인풋 데이터들 중에서, K 개의 클래스들 중 특정 k 클래스로 분류된, k 클래스 인풋 데이터를 추출하는 단계, b)상기 피쳐 영향 판단시스템이 추출한 상기 k 클래스 인풋 데이터의 상기 j 피쳐(xij)가 상기 k 클래스로 분류되는데 미치는 영향의 정도를 나타내는 kk 영향도를 연산하는 단계, c)상기 피쳐 영향 판단시스템이 상기 k 클래스 인풋 데이터의 상기 j 피쳐(xij)가 상기 k 클래스가 아닌 r(r=!k) 클래스로 분류되는데 미치는 영향의 정도를 나타내는 데이터인 kr 영향도를 적어도 하나 연산하는 단계, 및 d)상기 피쳐 영향 판단시스템이 적어도 하나의 kr 영향도 각각과 상기 kk영향도 값의 차이에 기초하여 상기 영향력(DIj)을 연산하는 단계를 포함한다.A method for determining feature influence and a system thereof are disclosed. Each of at least one of the J features using a neural network that classifies input data having J (J is a natural number of two or more) features into K (K is a natural number of two or more) different classes The method for determining the degree of influence on the classification includes: a) K classes of N input data, in order for the feature impact determination system to calculate the influence (DIj) of a particular j feature of the J features. Extracting k class input data, classified into a specific k class, b) a degree of influence of the j feature (xij) of the k class input data extracted by the feature impact determination system to be classified into the k class; Calculating a kk influence degree, c) wherein the feature influence determination system determines that the j feature (xij) of the k class input data is a r (r =! K) class rather than the k class. Calculating at least one kr impact degree, which is data indicating the degree of impact on the classification, and d) the feature impact determining system determines the influence based on the difference between each of the at least one kr influence level and the kk influence value. Calculating DIj).

Description

피쳐 영향 판단 방법 및 그 시스템{System and method for selecting optimized medical features using neural network}Feature impact determination method and system {System and method for selecting optimized medical features using neural network}

본 발명은 뉴럴 네트워크를 이용한 분류(classification)에 있어서, 인풋 데이터에 포함된 복수의 피쳐들의 상기 분류에 미치는 영향도를 판단할 수 있는 방법 또는 피쳐 셀렉션(Feature Selection)에 대한 방법 및 그 시스템에 관한 것이다. The present invention relates to a method or a system for a feature selection or a method for determining a degree of influence on the classification of a plurality of features included in input data in a classification using a neural network. will be.

피쳐 셀렉션(Feature Selection)으로 불리우는 프로세스는 머신러닝 등에서 널리 이용되는 기술이다. A process called feature selection is a technique widely used in machine learning and the like.

이러한 피쳐 셀렉션을 통해 원본 데이터가 주어졌을 때, 가장 좋은 성능을 보여 줄 수 있는 데이터 피쳐의 부분집합을 원본 데이터에서 찾아낼 수 있다.This feature selection allows you to find a subset of the data features in the original data that gives the best performance when given the original data.

한편 뉴럴 네트워크(또는 딥 러닝)이 다양한 분야에서 널리 이용되고 있다. On the other hand, neural networks (or deep learning) are widely used in various fields.

예컨대, 유전자 시퀀스로부터 특정 질병이 발현되는지 여부를 판단하거나, 신체의 조직 이미지를 이용해 정상 조직 또는 특정 질병이 발현된 조직인지 여부를 판단하는 과정에서도 이러한 뉴럴 네트워크가 활용되고 있다.For example, the neural network is also used in the process of determining whether a specific disease is expressed from a gene sequence or determining whether it is normal tissue or a tissue in which a specific disease is expressed using a body image of the body.

특히 이처럼 유전자 정보를 통한 질병의 발현 등과 같이 뉴럴 네트워크의 인풋 데이터의 피쳐(feature)들의 수가 많은 경우에는, 어떤 피쳐들이 질병의 발현에 영향을 많이 미치는지 알 수 있는 것이 매우 효과적일 수 있다.In particular, when the number of features of the neural network input data (feature) such as the expression of the disease through the genetic information, it can be very effective to know which features affect the expression of the disease a lot.

1. Peduzzi, P., Concato, J., Kemper, E., Holford, T. R., and Feinstein, A. R. (1996). A simulation study of the number of events per variable in logistic regression analysis. Journal of clinical epidemiology, 49(12), 13731379.Peduzzi, P., Concato, J., Kemper, E., Holford, T. R., and Feinstein, A. R. (1996). A simulation study of the number of events per variable in logistic regression analysis. Journal of clinical epidemiology, 49 (12), 13731379. 2. Identification of a multi-cancer gene expression biomarker for cancer clinical outcomes using a network-based algorithm Emmanuel Martinez-Ledesma, Roeland G.W. Verhaak& Victor Trevin Scientific Reports 5, Article number: 11966 (2015)2. Identification of a multi-cancer gene expression biomarker for cancer clinical outcomes using a network-based algorithm Emmanuel Martinez-Ledesma, Roeland G.W. Verhaak & Victor Trevin Scientific Reports 5, Article number: 11966 (2015) 3. Large-scale RNA-Seq Transcriptome Analysis of 4043 Cancers and 548 Normal Tissue Controls across 12 TCGA Cancer Types.3.Large-scale RNA-Seq Transcriptome Analysis of 4043 Cancers and 548 Normal Tissue Controls across 12 TCGA Cancer Types. Peng L, Bian XW, Li DK, Xu C, Wang GM, Xia QY, Xiong Q.Peng L, Bian XW, Li DK, Xu C, Wang GM, Xia QY, Xiong Q. Scientific Reports (2015)Scientific Reports (2015)

본 발명이 이루고자 하는 기술적인 과제는 소정의 방식으로 학습된 뉴럴 네트워크를 이용하여 인풋 데이터에 포함된 피쳐들 각각의 영향력(영향도)를 판단할 수 있는 방법 또는 이러한 방법을 이용하여 피쳐 셀렉션을 할 수 있는 방법 및 그 시스템을 제공하는 것이다.The technical problem to be achieved by the present invention is to use a neural network learned in a predetermined manner to determine the influence (impact) of each of the features included in the input data or to perform feature selection using such a method. It is to provide a method and a system that can be.

상기 기술적 과제를 달성하기 위한 J(J는 2 이상의 자연수)개의 피쳐(feature)들을 갖는 인풋 데이터들을 K(K는 2 이상의 자연수)개의 서로 다른 클래스들로 분류하는 뉴럴 네트워크를 이용하여 상기 J개의 피쳐들 중 적어도 하나 각각이 상기 분류에 영향을 미치는 정도를 판단하기 위한 방법은 a)피쳐 영향 판단시스템이 J개의 피쳐들 중 특정 j 피쳐의 영향력(DIj)을 연산하기 위해, N개의 인풋 데이터들 중에서, K 개의 클래스들 중 특정 k 클래스로 분류된, k 클래스 인풋 데이터를 추출하는 단계, b)상기 피쳐 영향 판단시스템이 추출한 상기 k 클래스 인풋 데이터의 상기 j 피쳐(xij)가 상기 k 클래스로 분류되는데 미치는 영향의 정도를 나타내는 kk 영향도를 연산하는 단계, 및 c)상기 피쳐 영향 판단시스템이 상기 k 클래스 인풋 데이터의 상기 j 피쳐(xij)가 상기 k 클래스가 아닌 r(r=!k) 클래스로 분류되는데 미치는 영향의 정도를 나타내는 데이터인 kr 영향도를 적어도 하나 연산하는 단계, 및 d)상기 피쳐 영향 판단시스템이 적어도 하나의 kr 영향도 각각과 상기 kk영향도 값의 차이에 기초하여 상기 영향력(DIj)을 연산하는 단계를 포함한다.The J features using a neural network classifying input data having J (J is a natural number of two or more) features into K (K is a natural number of two or more) different classes for achieving the technical problem. A method for determining the degree to which at least one of each of the above influences the classification may include: a) a feature impact determination system, among the N input data, to calculate the influence (DIj) of a particular j feature of the J features. Extracting k class input data, which is classified into a specific k class among K classes, b) the j feature (xij) of the k class input data extracted by the feature impact determination system is classified as the k class. Calculating a kk influence degree indicative of the degree of influence, and c) wherein the j effect xij of the k class input data is determined by the feature impact determination system. Computing at least one kr impact degree, which is data representing the degree of impact of being classified into a class r (r =! K) rather than a class; and d) the feature impact determination system determines at least one kr impact degree and calculating the influence DIj based on the difference in the kk influence value.

상기 c)단계는 상기 k 클래스를 제외한 모든 kr(r!=k) 영향도를 연산하는 것을 특징으로 하고, 상기 d)단계는 상기 kk 영향도와 상기 모든 kr(r!=k) 영향도 각각 간의 차이에 기초하여 상기 영향력(DIj)을 연산하는 것을 특징으로 할 수 있다.Step c) is to calculate all the kr (r! = K) influence except for the k class, step d) is between the kk impact and all the kr (r! = K) influence The influence DIj may be calculated based on the difference.

상기 b) 단계는 상기 k 클래스 인풋 데이터와 상기 뉴럴 네트워크의 웨이트 파라미터 중에서 상기 j 피쳐와 상기 k 클래스 파라미터에 상응하는 k 웨이트 파라미터를 이용하여 kk영향도를 연산하는 것을 특징으로 할 수 있다.Step b) may be calculated by using the k weight parameter corresponding to the j feature and the k class parameters of the k class input data and the weight parameter of the neural network.

상기 b)단계는 상기 k 클래스 인풋 데이터의 평균 벡터와 상기 k 웨이트 파라미터의 내적에 기초하여 상기 kk영향도를 연산하는 것을 특징으로 할 수 있다.In step b), the k k influence may be calculated based on an inner product of the k vector input data and the average vector of k class input data.

상기 피쳐 영향 판단방법은 e)상기 피쳐 영향 판단시스템이 상기 N개의 인풋 데이터들 중에서 상기 k 클래스가 아닌 소정의 s(s=!k) 클래스로 분류된 s 클래스 인풋 데이터를 추출하는 단계, f)상기 피쳐 영향 판단시스템이 추출한 상기 s 클래스 인풋 데이터의 상기 j 피쳐(xij)가 상기 k 클래스로 분류되는데 미치는 영향의 정도를 나타내는 제2 kk 영향도를 연산하는 단계 및 g)상기 피쳐 영향 판단시스템이 상기 s 클래스 인풋 데이터의 상기 j 피쳐(xij)가 상기 k 클래스가 아닌 r(r=!k) 클래스로 분류되는데 미치는 영향의 정도를 나타내는 데이터인 제2 kr 영향도를 적어도 하나 연산하는 단계 및 h)상기 피쳐 영향 판단시스템이 적어도 하나의 제2 kr 영향도 각각과 상기 제2 kk영향도의 차이에 더 기초하여 상기 영향력(DIj)을 연산하는 단계를 포함할 수 있다.The feature influence determination method may include e) extracting, by the feature influence determination system, s class input data classified into a predetermined s (s =! K) class instead of the k class among the N input data, f) Calculating a second kk influence degree indicating a degree of influence of the j feature (xij) of the s class input data extracted by the feature influence determination system to be classified into the k class; and g) the feature influence determination system includes: Computing at least one second kr impact degree that is data representing the degree of effect of the j feature (xij) of the s class input data being classified into the r (r =! K) class rather than the k class; and h The feature impact determination system may further include calculating the influence DIj based on the difference between each of the at least one second kr influence and the second kk influence.

상기 g)단계는 상기 k 클래스를 제외한 모든 제2 kr(r!=k) 영향도를 연산하는 것을 특징으로 하고, 상기 h)단계는 상기 제2 kk 영향도와 상기 모든 제2 kr(r!=k) 영향도 각각 간의 차이에 기초하여 상기 영향력(DIj)을 연산하는 것을 특징으로 할 수 있다.Step g) is to calculate all the second kr (r! = K) influence except the k class, the step h) is the second kk impact and all the second kr (r! = k) The influence DIj may be calculated based on the difference between the influence degrees.

상기 피쳐 영향 판단방법은 상기 피쳐 영향 판단 시스템이 상기 k 클래스가 아닌 모든 타 클래스 각각에대해 상기 e) 단계 내지 h)단계를 수행하는 것을 특징으로 할 수 있다.The feature influence determination method may be characterized in that the feature influence determination system performs steps e) to h) for each of the other classes other than the k class.

상기 기술적 과제를 해결하기 위한 J(J는 2 이상의 자연수)개의 피쳐(feature)들을 갖는 인풋 데이터들을 K(K는 2 이상의 자연수)개의 서로 다른 클래스들로 분류하는 뉴럴 네트워크를 이용하여 상기 J개의 피쳐들 중 적어도 하나 각각이 상기 분류에 영향을 미치는 정도를 판단하기 위한 방법은 a)피쳐 영향 판단시스템이 J개의 피쳐들 중 특정 j 피쳐의 영향력(DIj)을 연산하기 위해, N개의 인풋 데이터들 중에서, K 개의 클래스들 중 특정 k 클래스로 분류된, k 클래스 인풋 데이터를 추출하는 단계, b)상기 피쳐 영향 판단시스템이 추출한 상기 k 클래스 인풋 데이터의 상기 j 피쳐)가 상기 k 클래스로 분류되는데 미치는 영향의 정도를 나타내는 kk 영향도를 연산하는 단계, 및 c)상기 피쳐 영향 판단시스템이 상기 k 클래스 인풋 데이터의 상기 j 피쳐가 상기 k 클래스가 아닌 모든 타 클래스로 분류되는데 미치는 영향의 정도를 나타내는 데이터인 kr 영향도를 연산하는 단계, d)상기 피쳐 영향 판단시스템이 상기 kr 영향도 각각과 상기 kk영향도의 차이의 합인 j 피쳐의 k 클래스의 부분 영향력을 연산하는 단계, e) 상기 N개의 인풋 데이터들 중에서, K 개의 클래스들 중 특정 k 클래스가 아닌 모든 타 클래스 각각에 대해 상기 a)단계 내지 d)단계를 수행하여 모든 클래스 각각에 대해 j 피쳐의 부분 영향력을 연산하는 단계, 및 f) 연산된 모든 부분 영향력을 이용하여 상기 영향력(DIj)을 연산하는 단계를 포함한다.In order to solve the technical problem, the J features using a neural network classifying input data having J (J is a natural number of 2 or more) features into K (K is a natural number of 2 or more) different classes. A method for determining the degree to which at least one of each of the above influences the classification may include: a) a feature impact determination system, among the N input data, to calculate the influence (DIj) of a particular j feature of the J features. Extracting k class input data, classified into a specific k class among K classes, b) the effect of the j feature of the k class input data extracted by the feature impact determination system being classified into the k class; Computing a kk influence degree indicative of the degree of c, and c) the feature impact determination system determines that the j feature of the k class input data is the k class. Calculating kr influence, which is data representing the degree of influence that is classified into all other classes, d) k of feature j, which is the sum of the difference between each kr influence and the kk influence, Calculating a partial influence of a class; e) performing steps a) to d) on all other classes among the N input data that are not specific k classes among the K classes, Calculating a partial influence of the j feature on the j feature, and f) calculating the influence DIj using all the calculated partial influences.

상기의 방법은 기록된 컴퓨터 프로그램에 의해 구현될 수 있다.The method can be implemented by a recorded computer program.

상기의 기술적 과제를 해결하기 위한 데이터 처리장치는 프로세서 및 상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며, 상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 방법을 수행하도록 한다.    The data processing apparatus for solving the above technical problem includes a processor and a memory storing a computer program executed by the processor, wherein the computer program, when executed by the processor, to perform the method.

상기의 기술적 과제를 해결하기 위한 J(J는 2 이상의 자연수)개의 피쳐(feature)들을 갖는 인풋 데이터들을 K(K는 2 이상의 자연수)개의 서로 다른 클래스들로 분류하는 뉴럴 네트워크를 이용하여 상기 J개의 피쳐들 중 적어도 하나 각각이 상기 분류에 영향을 미치는 정도를 판단하기 위한 피쳐 영향 판단시스템은 J개의 피쳐들 중 특정 j 피쳐의 영향력(DIj)을 연산하기 위해, N개의 인풋 데이터들 중에서, K 개의 클래스들 중 특정 k 클래스로 분류된, k 클래스 인풋 데이터를 추출하기 위한 추출모듈, 상기 추출모듈에 의해 추출된 상기 k 클래스 인풋 데이터의 j 피쳐가 상기 k 클래스로 분류되는데 미치는 영향의 정도를 나타내는 kk 영향도를 연산하고, 상기 k 클래스 인풋 데이터의 상기 j 피쳐가 상기 k 클래스가 아닌 r(r=!k) 클래스로 분류되는데 미치는 영향의 정도를 나타내는 데이터인 kr 영향도를 적어도 하나 연산하며, 적어도 하나의 kr 영향도 값 각각과 상기 kk영향도 값의 차이에 기초하여 상기 j 피쳐의 영향력(DIj)을 연산하는 제어모듈을 포함한다.To solve the above technical problem, J (J is a natural number of two or more) features input data having features of K (K is a natural number of two or more) by using a neural network that classifies different classes A feature impact determination system for determining the degree to which each of at least one of the features affects the classification may include: K of N input data, from among N input data, to calculate the influence (DIj) of a particular j feature of the J features. An extraction module for extracting k class input data, which is classified into a specific k class among classes, kk indicating the degree of influence of the j feature of the k class input data extracted by the extraction module to be classified into the k class Calculating the degree of impact and the effect of the j feature of the k class input data being classified as r (r =! K) class rather than the k class. At least one operational data of kr influence diagram illustrating a FIG., And comprises at least one kr impact control module for calculating the influence (DIj) of the j feature to Fig based on the difference between the value of the kk influence the values, respectively.

상기의 기술적 과제를 해결하기 위한 J(J는 2 이상의 자연수)개의 피쳐(feature)들을 갖는 인풋 데이터들을 K(K는 2 이상의 자연수)개의 서로 다른 클래스들로 분류하는 뉴럴 네트워크를 이용하여 상기 J개의 피쳐들 중 적어도 하나 각각이 상기 분류에 영향을 미치는 정도를 판단하기 위한 피쳐 영향 판단시스템은 J개의 피쳐들 중 특정 j 피쳐의 영향력(DIj)을 연산하기 위해, N개의 인풋 데이터들 중에서, K 개의 클래스들 중 특정 k 클래스로 분류된, k 클래스 인풋 데이터를 추출하기 위한 추출모듈, 상기 추출모듈에 의해 추출된 상기 k 클래스 인풋 데이터의 상기 j 피쳐가 상기 k 클래스로 분류되는데 미치는 영향의 정도를 나타내는 kk 영향도를 연산하고, 상기 j 피쳐가 상기 k 클래스가 아닌 모든 타 클래스로 분류되는데 미치는 영향의 정도를 나타내는 데이터인 kr 영향도를 연산하며, 상기 kr 영향도 각각과 상기 kk영향도의 차이의 합인 k 클래스의 부분 영향력을 연산하기 위한 제어모듈을 포함하며, 상기 제어모듈은 K 개의 클래스들에 포함된 모든 클래스들 각각에 대해 상기의 부분 영향력을 연산하고, 연산된 모든 부분 영향력을 이용하여 상기 영향력(DIj)을 연산할 수 있다.To solve the above technical problem, J (J is a natural number of two or more) features input data having features of K (K is a natural number of two or more) by using a neural network that classifies different classes A feature impact determination system for determining the degree to which each of at least one of the features affects the classification is performed by determining the influence (DIj) of a particular j feature of the J features, among the N input data, from K inputs. An extraction module for extracting k class input data, which is classified into a specific k class among classes, indicating the degree of influence of the j feature of the k class input data extracted by the extraction module to be classified into the k class kk calculates the influence and indicates the degree of influence of the j feature on being classified into all other classes other than the k class. And a control module for calculating a kr influence, and calculating a partial influence of k class that is the sum of the difference between each kr influence and the kk influence, wherein the control module includes all classes included in the K classes. For each of these, the partial influence may be calculated, and the influence DIj may be calculated using all of the calculated partial influences.

본 발명의 기술적 사상에 따르면 뉴럴 네트워크를 통해 특정 분류에 있어서 영향력이 큰 피쳐를 용이하게 추출할 수 있는 효과가 있다.According to the technical idea of the present invention, it is possible to easily extract a feature having a high influence in a specific classification through a neural network.

이러한 기술적 사상을 유전자 시퀀스가 특정 질병의 발현여부를 분류하는 뉴럴 네트워크에 적용할 경우, 상기 특정 질병의 발현여부에 영향을 많이 미치는 유전자 정보(예컨대, RNA-seq.)를 확인할 수 있으며, 이를 통해 효과적인 바이오 마커의 개발이 가능한 효과가 있다.When this technical idea is applied to a neural network in which a gene sequence classifies whether a specific disease is expressed, genetic information (eg, RNA-seq.) That affects whether the specific disease is expressed can be identified. It is possible to develop effective biomarkers.

또한 본 발명의 기술적 사상을 통해 소정의 암을 진단하기 위한 뉴럴 네트워크를 이용하여 영향력이 큰 소정 개수(예컨대, 14개)의 유전자(feature)를 추출하였고, 이를 기존의 알려진 바이오 마커("Large-cale RNA-Seq Transcriptome Analysis of 4043 Cancers and 548 Normal Tissue Controls across 12 TCGA Cancer Type")와 비교한 결과 보다 높은 진단율을 나타내는 효과가 있었다.In addition, by using a neural network for diagnosing a given cancer through a technical idea of the present invention, a predetermined number of genes (eg, 14) having a high influence were extracted, and the known biomarkers ("Large-") were extracted. Compared with cale RNA-Seq Transcriptome Analysis of 4043 Cancers and 548 Normal Tissue Controls across 12 TCGA Cancer Type "), the rate of diagnosis was higher.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 기술적 사상에 따른 피쳐 영향 판단시스템의 개략적인 시스템 구성을 나타내는 도면이다.
도 2 내지 도3은 본 발명의 실시 예에 따른 피쳐 영향 판단방법을 개념적으로 설명하기 위한 도면이다.
도 4는 도 2와 비교하여 레이어 수가 다른 경우의 피쳐 영향 판단방법을 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 피쳐 영향 판단방법을 통해 피쳐 셀렉션을 수행하는 알고리즘의 일 예를 나타낸다.
BRIEF DESCRIPTION OF THE DRAWINGS In order to better understand the drawings cited in the detailed description of the invention, a brief description of each drawing is provided.
1 is a view showing a schematic system configuration of a feature impact determination system according to the spirit of the present invention.
2 to 3 are views for conceptually explaining a method for determining feature influence according to an embodiment of the present invention.
4 is a view for explaining a feature influence determination method when the number of layers is different compared to FIG.
5 illustrates an example of an algorithm for performing feature selection through a feature influence determination method according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.As the inventive concept allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 아니 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise.

본 명세서에 있어서, “포함하다”또는 “가지다”등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, the terms "comprise" or "having" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other. It should be understood that it does not exclude in advance the possibility of the presence or addition of features or numbers, steps, operations, components, components or combinations thereof.

또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.In addition, in the present specification, when one component 'transmits' data to another component, the component may directly transmit the data to the other component, or through at least one other component. Means that the data may be transmitted to the other component. On the contrary, when one component 'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without passing through the other component.

이하, 첨부된 도면들을 참조하여 본 발명의 실시 예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.

도 1은 본 발명의 기술적 사상에 따른 피쳐 영향 판단시스템의 개략적인 시스템 구성을 나타내는 도면이다.1 is a view showing a schematic system configuration of a feature impact determination system according to the spirit of the present invention.

도 1을 참조하면, 본 발명의 기술적 사상에 따른 피쳐 영향 판단방법을 구현하기 위해서는 피쳐 영향 판단시스템(이하, '판단시스템', 100)이 구비될 수 있다. 상기 판단시스템(100)은 소정의 서버(미도시)에 설치되어 본 발명의 기술적 사상을 구현할 수 있다. 상기 서버(미도시)는 본 발명의 기술적 사상을 구현하기 위한 연산능력을 가진 데이터 처리장치를 의미하며, 일반적으로 네트워크를 통해 클라이언트가 접속가능한 데이터 처리장치뿐만 아니라 개인용 컴퓨터, 휴대 단말 등과 같이 특정 서비스를 수행할 수 있는 어떠한 장치도 서버로 정의될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다. 물론 상기 판단시스템(100)은 소정의 유저 단말기에 설치될 수도 있다. 이하에서는 상기 판단시스템(100)이 서버(미도시)에 설치되는 일 예를 설명하지만 본 발명의 권리범위가 이에 한정되진 않는다.Referring to FIG. 1, in order to implement a feature influence determination method according to the technical spirit of the present disclosure, a feature impact determination system (hereinafter, 'determination system' 100) may be provided. The determination system 100 may be installed in a predetermined server (not shown) to implement the technical idea of the present invention. The server (not shown) refers to a data processing apparatus having a computing power for implementing the technical idea of the present invention, and generally a specific service such as a personal computer, a portable terminal, etc. The average person skilled in the art will readily be able to infer that any device capable of performing the present invention can be defined as a server. Of course, the determination system 100 may be installed in a predetermined user terminal. Hereinafter, an example in which the determination system 100 is installed in a server (not shown) is described, but the scope of the present invention is not limited thereto.

상기 서버(미도시)는 소정의 프로세서 및 저장장치를 포함할 수 있다. 상기 프로세서는 본 발명의 기술적 사상을 구현하기 위한 프로그램을 구동시킬 수 있는 연산장치를 의미할 수 있으며, 상기 프로세서는 상기 프로그램을 구동하여 본 발명의 기술적 사상에 따른 피쳐 영향 판단방법을 수행할 수 있다. 또한 피쳐 영향 판단방법을 수행함으로써 일정 개수의 피쳐 셀렉션을 수행할 수도 있다. The server (not shown) may include a predetermined processor and a storage device. The processor may mean an operation device capable of driving a program for implementing the technical idea of the present invention, and the processor may drive the program to perform a feature influence determination method according to the technical idea of the present invention. . In addition, a certain number of feature selections may be performed by performing a feature influence determination method.

상기 저장장치는 본 발명의 기술적 사상을 구현하기 위한 프로그램 및/또는 뉴럴 네트워크(NN, 130)를 저장할 수 있는 데이터 저장수단을 의미할 수 있으며, 구현 예에 따라 복수의 저장수단으로 구현될 수도 있다. 또한 상기 저장장치는 상기 서버(미도시)에 포함된 주 기억장치 뿐만 아니라, 상기 프로세서에 포함될 수 있는 임시 저장장치 또는 메모리 등을 포함하는 의미일 수도 있다. 물론 필요에 따라 상기 뉴럴 네트워크(130)는 상기 판단시스템(100)과는 이격된 장치에 저장되어 있을 수도 있다. 또는 상기 판단시스템(100)은 상기 뉴럴 네트워크(130) 자체가 아니라 상기 뉴럴 네트워크(130)를 정의하는 소정의 정보(예컨대, 모델 파라미터 등)만을 저장할 수도 있다. The storage device may refer to data storage means for storing a program and / or neural network NN 130 for implementing the technical idea of the present invention, and may be implemented as a plurality of storage means according to the embodiment. . In addition, the storage device may mean not only a main storage device included in the server (not shown), but also a temporary storage device or a memory that may be included in the processor. Of course, if necessary, the neural network 130 may be stored in a device spaced apart from the determination system 100. Alternatively, the determination system 100 may store only predetermined information (eg, model parameters, etc.) defining the neural network 130, not the neural network 130 itself.

상기 판단시스템(100)은 도 1에서는 어느 하나의 물리적 장치로 구현된 것으로 도시하였지만, 필요에 따라 복수의 물리적 장치가 유기적으로 결합되어 본 발명의 기술적 사상에 따른 판단시스템(100)을 구현할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.Although the determination system 100 is illustrated as being implemented as any one physical device in FIG. 1, a plurality of physical devices may be organically coupled as necessary to implement the determination system 100 according to the technical idea of the present invention. The average expert in the technical field of the present invention will be able to reason easily.

본 명세서에서 상기 판단시스템(100)은 소정의 뉴럴 네트워크(130)가 이용하는 인풋 데이터(Input data)에 포함되는 피쳐들(features) 각각의 영향력(영향도)을 판단할 수 있다. In this specification, the determination system 100 may determine the influence (effect) of each of the features included in the input data used by the predetermined neural network 130.

상기 영향력은 상기 뉴럴 네트워크(130)가 상기 인풋 데이터를 소정 개수의 클래스로 분류하는 기능을 수행하는 네트워크인 경우, 각각의 피쳐들이 상기 분류에 영향을 미치는 정도를 소정의 기준으로 정량화한 정보일 수 있다.When the neural network 130 is a network that performs the function of classifying the input data into a predetermined number of classes, the influence may be information obtained by quantifying the degree to which each feature affects the classification based on a predetermined criterion. have.

이처럼 인풋 데이터에 포함되는 피쳐들 각각의 영향력을 판단할 수 있다면, 영향력이 큰 일정 개수의 피쳐들이 선택될 수 있으며 이를 피쳐 셀렉션이라 할 수 있다. As such, if the influence of each of the features included in the input data can be determined, a certain number of features having a high influence can be selected, which can be referred to as a feature selection.

이러한 피쳐 셀렉션이 이루어지는 경우, 상기 분류에 있어서 불필요한 정보들(영향력이 없거나 거의 없는 data)을 필터링할 수 있으며, 분류의 성능이나 속도를 향상시킬 수 있는 효과가 있다.When such feature selection is made, it is possible to filter unnecessary information (data having little or no influence) in the classification, thereby improving the performance or speed of classification.

특히 본 발명의 기술적 사상이 유전자 정보를 인풋 데이터로 입력받아 특정 질병의 발현여부를 출력하는 뉴럴 네트워크인 경우, 인풋 데이터는 어떤 특징을 갖는 유전자 시퀀스(예컨대, RNA-seq.)일 수 있다. 그리고 영향력이 큰 몇 개의 유전자 시퀀스 즉 피쳐가 선택된다면 선택된 피쳐는 상기 특정 질병의 바이오 마커(bio marker)로 이용될 수 있다. In particular, when the technical idea of the present invention is a neural network that receives gene information as input data and outputs expression of a specific disease, the input data may be a gene sequence having a certain characteristic (eg, RNA-seq.). If a few gene sequences, that is, features, are selected, the selected features can be used as bio markers of the specific disease.

따라서 본 발명의 기술적 사상은 특정 질병에 대한 바이오 마커를 발견하는데에도 유용하게 이용될 수 있음은 물론이다.Therefore, the technical idea of the present invention can be usefully used to find a biomarker for a specific disease.

이러한 기술적 사상을 구현하기 위한 상기 판단시스템(100)은 논리적으로 도 1에 도시된 바와 같은 구성을 가질 수 있다.The determination system 100 for implementing such a technical idea may logically have a configuration as shown in FIG. 1.

상기 판단시스템(100)은 제어모듈(110) 및 추출모듈(120)을 포함할 수 있다. 또한 상기 판단시스템(100)은 뉴럴 네트워크(130)를 더 포함할 수도 있다.The determination system 100 may include a control module 110 and an extraction module 120. In addition, the determination system 100 may further include a neural network 130.

상기 판단시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비한 논리적인 구성을 의미할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 판단시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 판단시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다. 예컨대, 상기 제어모듈(110), 상기 추출모듈(120), 및/또는 상기 뉴럴 네트워크(130) 각각은 서로 다른 물리적 장치에 위치할 수도 있고, 동일한 물리적 장치에 위치할 수도 있다. 또한, 구현 예에 따라서는 상기 제어모듈(110), 상기 추출모듈(120), 및/또는 상기 뉴럴 네트워크(130) 각각을 구성하는 소프트웨어 및/또는 하드웨어의 결합 역시 서로 다른 물리적 장치에 위치하고, 서로 다른 물리적 장치에 위치한 구성들이 서로 유기적으로 결합되어 각각의 상기 모듈들을 구현할 수도 있다.The determination system 100 may refer to a logical configuration having hardware resources and / or software necessary for implementing the technical idea of the present invention, and necessarily means one physical component or one It does not mean a device. That is, the determination system 100 may mean a logical combination of hardware and / or software provided to implement the technical idea of the present invention. If necessary, the determination system 100 may be installed in devices spaced apart from each other to perform respective functions. As a result, it may be implemented as a set of logical configurations for implementing the technical idea of the present invention. In addition, the determination system 100 may refer to a set of components that are separately implemented for each function or role for implementing the technical idea of the present invention. For example, each of the control module 110, the extraction module 120, and / or the neural network 130 may be located in different physical devices or may be located in the same physical device. In some embodiments, a combination of software and / or hardware constituting each of the control module 110, the extraction module 120, and / or the neural network 130 may also be located on different physical devices. Configurations located in different physical devices may be organically combined with each other to implement each of the modules.

또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스(resource)의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.In addition, the term "module" in the present specification may mean a functional and structural combination of hardware for performing the technical idea of the present invention and software for driving the hardware. For example, the module may mean a logical unit of a predetermined code and a hardware resource for performing the predetermined code, and does not necessarily mean a physically connected code or a kind of hardware. Can be easily inferred by the average expert in the art.

상기 제어모듈(110)은 본 발명의 기술적 사상을 구현하기 위해 상기 판단시스템(100)에 포함된 다른 구성(예컨대, 상기 추출모듈(120) 및/또는 상기 뉴럴 네트워크(130) 등)을 제어할 수 있다. The control module 110 may control other components (eg, the extraction module 120 and / or the neural network 130, etc.) included in the determination system 100 to implement the technical idea of the present invention. Can be.

상기 추출모듈(120)은, 소정의 피쳐(예컨대, J개의 피쳐들 중 j번째 피쳐)의 영향력(DI)을 판단하기 위해 인풋 데이터들 중 특정 클래스(예컨대, K개의 클래스 중 k번째 클래스)로 분류된 인풋 데이터 즉, k 클래스 인풋 데이터를 추출할 수 있다. 상기 추출모듈(120)은 k 클래스 인풋 데이터들로부터 각각 상기 피쳐(예컨대, j)의 인스턴스를 추출할 수 있음은 물론이다.The extraction module 120 may select a specific class (eg, a k-th class of K classes) of input data to determine the influence (DI) of a predetermined feature (eg, the j th feature of the J features). The classified input data, that is, the k class input data may be extracted. Of course, the extraction module 120 may extract an instance of the feature (eg, j) from k class input data.

그러면 상기 제어모듈(110)은 추출된 상기 k 클래스 인풋 데이터를 이용하여 상기 피쳐(예컨대, j)의 k 클래스의 부분 영향력을 판단할 수 있다. Then, the control module 110 may determine the partial influence of the k class of the feature (eg, j) by using the extracted k class input data.

상기 피쳐(예컨대, j)의 k 클래스의 부분 영향력이라 함은 개념적으로, k클래스로 분류된 인풋 데이터들을 이용하여 j라는 피쳐가 상기 분류에 영향을 미친 정도를 표현하는 정보일 수 있다.The partial influence of the k class of the feature (eg, j) may conceptually be information representing the degree to which the feature called j affects the classification using input data classified into the k class.

이때 본 발명의 기술적 사상에 의하면 j라는 피쳐가 상기 분류에 영향을 미친 정도는, j라는 피쳐가 특정 클래스(예컨대, k 클래스)로 분류되는데 영향을 미친 정도(jk 영향력이라 함)와 j라는 피쳐가 타 클래스(예컨대, r 클래스, 여기서 r은 k가 아니면서 K개의 클래스 중 어느 하나)로 분류되는데 영향을 미친 정도(jr 영향력이라 함)의 차이를 이용하는 정보일 수 있다.At this time, according to the technical idea of the present invention, the degree of influence of the feature called j is classified into a specific class (for example, k class), and the degree of influence of the feature called j (called jk influence) and the feature of j It may be information using a difference in the degree of influence (eg, jr influence) that is influenced to be classified into another class (for example, r class, where r is any one of K classes other than k).

즉, j라는 피쳐가 해당 인풋 데이터를 k 클래스로 분류하는데 영향을 미친 정도와 j라는 피쳐가 해당 인풋 데이터를 r 클래스로 분류하는데 영향을 미친 정도가 같거나 유사하다면 적어도 j라는 피쳐는 인풋 데이터를 k클래스와 r클래스로 분류하는데에는 별로 중요하지 않은 피쳐임을 의미할 수 있다.That is, if the feature j affects the classification of the input data into the k class and the feature j affects the classification of the input data into the r class, then the feature j is at least equal to the input data. This may mean that it is not important to classify it into k and r classes.

이러한 개념을 이용하여 특정 피쳐의 영향력(DI)을 연산하는 개념의 일 예를 도 2 및 도3을 참조하여 설명하면 다음과 같을 수 있다.An example of a concept of calculating the influence DI of a specific feature using this concept will be described below with reference to FIGS. 2 and 3.

도 2 내지 도3은 본 발명의 실시 예에 따른 피쳐 영향 판단방법을 개념적으로 설명하기 위한 도면이다. 2 to 3 are views for conceptually explaining a method for determining feature influence according to an embodiment of the present invention.

도 2 및 도 3은, 인풋 레이어와 아웃풋 레이어만 존재하는 뉴럴 네트워크(130)를 일 예로 도시하고 있으며, 아웃풋 레이어의 각각의 출력은 분류할 클래스(Y1, Y2)를 나타낼 수 있다. 그리고 소정의 인풋 데이터는 도 2에 도시된 바와 같이 3개의 피쳐(x1, x2, x3)로 표현할 수 있다. 한편 상기 뉴럴 네트워크(130)에서 x1 노드와 Y1 간의 웨이트는 Wx1y1으로 표시하기로 하고, x1노드와 Y2간의 웨이트는 Wx1y2로 표현하기로 한다.2 and 3 illustrate an example neural network 130 in which only an input layer and an output layer exist, and each output of the output layer may represent classes Y1 and Y2 to be classified. The predetermined input data may be represented by three features x1, x2, and x3 as shown in FIG. Meanwhile, in the neural network 130, the weight between the node x1 and Y1 will be expressed as Wx1y1, and the weight between the node x1 and Y2 will be expressed as Wx1y2.

그리고 도 2에 도시된 바와 같은 뉴럴 네트워크(130)는 도 3에 도시된 바와 같은 인풋 데이터(Sample 1 내지 Sample 4)가 입력되면, 입력된 인풋 데이터를 Class Y1(A 클래스로 약칭하기로 함) 또는 Class Y2(B 클래스로 약칭하기로 함)로 분류하는 네트워크일 수 있다. In addition, when the input data (Sample 1 to Sample 4) as shown in FIG. 3 is input, the neural network 130 as shown in FIG. 2 classifies the input data into Class Y1 (abbreviated as class A). Or it may be a network classified as Class Y2 (abbreviated as B class).

각각의 인풋 데이터는 도 3의 상단 표에 도시된 바와 같이 3개의 피쳐들(x1, x2, x3)를 포함하며, 각 피쳐의 인스턴스 역시 도 3의 상단 표에 도시된 바와 같을 수 있다.Each input data includes three features (x1, x2, x3) as shown in the top table of FIG. 3, and an instance of each feature may also be as shown in the top table of FIG. 3.

예컨대, 제1인풋 데이터(Sample 1)의 x1피쳐는 1, x2 피쳐는 2, x3 피쳐는 3일 수 있고, 제2인풋 데이터(Sample 2)의 x1피쳐는 5, x2 피쳐는 5, x3 피쳐는 4일 수 있다. For example, the x1 feature of the first input data Sample 1 may be 1, the x2 feature is 2, the x3 feature is 3, the x1 feature of the second input data Sample 2 is 5, the x2 feature is 5, and the x3 feature. May be four.

상기 뉴럴 네트워크(130)는 다수의 트레이닝 데이터를 통해 학습된 네트워크이며, 상기 뉴럴 네트워크(130)를 정의하는 파라미터 예컨대, 노드들간의 웨이트 파라미터는 도 3의 하단에 도시된 바와 같을 수 있다. The neural network 130 is a network learned through a plurality of training data, and parameters defining the neural network 130, for example, a weight parameter between nodes may be as shown in the lower part of FIG. 3.

그리고 상기 뉴럴 네트워크(130)를 통해 각각의 인풋 데이터들(Sample 1 내지 Sample 4)는 각각 , A, B, A, B로 분류되었다고 가정한다.In addition, it is assumed that each of the input data Samples 1 to 4 is classified as A, B, A, and B through the neural network 130.

이러한 경우 상기 추출모듈(120)은 전체 피쳐들(x1, x2, x3) 중 소정의 제1피쳐(x1)의 영향력을 연산하기 위해, 전체 클래스(A, B) 중 어느 하나의 제1클래스(A)로 분류된 인풋 데이터 즉, A 클래스 인풋 데이터(예컨대, Sample 1 및 Sample 3)를 추출할 수 있다. 상기 추출모듈(120)은 A 클래스 인풋 데이터들(예컨대, Sample 1 및 Sample 3)로부터 각각 상기 제1피쳐(x1)의 인스턴스(1 및 10)를 추출할 수 있음은 물론이다.In this case, the extraction module 120 calculates the influence of the predetermined first feature x1 among the entire features x1, x2, and x3, and includes the first class of any one of the entire classes A and B. Input data classified as A), that is, class A input data (for example, Sample 1 and Sample 3) may be extracted. The extraction module 120 may extract the instances 1 and 10 of the first feature x1, respectively, from the A class input data (eg, Sample 1 and Sample 3).

그러면 상기 제어모듈(110)은 추출된 상기 A 클래스 인풋 데이터(예컨대, Sample 1 및 Sample 3)를 이용하여 상기 제1피쳐(x1)의 A 클래스의 부분 영향력을 판단할 수 있다. Then, the control module 110 may determine the partial influence of the class A of the first feature x1 by using the extracted class A input data (for example, Sample 1 and Sample 3).

상기 제1피쳐(x1)의 A 클래스의 부분 영향력이라 함은 개념적으로, A 클래스로 분류된 인풋 데이터들을 이용하여 제1피쳐(x1)가 상기 분류에 영향을 미친 정도를 표현하는 정보일 수 있다.The partial influence of class A of the first feature x1 may conceptually be information representing the degree to which the first feature x1 affects the classification by using input data classified as class A. FIG. .

그리고 전술한 바와 같이 제1피쳐(x1)가 상기 분류에 영향을 미친 정도는, A 클래스 인풋 데이터의 제1피쳐(x1)가 상기 A 클래스로 분류되는데 영향을 미친 정도(AA 영향력, WxAA)와 A 클래스 인풋 데이터의 제1피쳐(x1)가 타 클래스(예컨대, B 클래스)로 분류되는데 영향을 미친 정도(AB 영향력, WxAB)의 차이를 이용하는 정보일 수 있다.As described above, the degree to which the first feature x1 affects the classification includes the degree to which the first feature x1 of the class A input data affects the classification to the class A (AA influence, WxAA). The first feature x1 of the class A input data may be information using a difference in the degree (AB influence, WxAB) that influences the classification of another class (eg, class B).

한편, 제1피쳐(x1)의 AA 영향력(WxAA) 즉, A클래스 인풋 데이터의 제1피쳐(x1)가 A 클래스로 분류되는데 영향을 미친 정도는 A 클래스 인풋 데이터들(예컨대, Sample 1 및 Sample 3) 각각의 제1피쳐(x1)의 인스턴스 값(예컨대, 1 및 10)을 이용하여 결정되는, A 클래스 인풋 데이터들(예컨대, Sample 1 및 Sample 3)에서의 제1피쳐(x1)의 소정의 대표 값과 x1 및 A 클래스에 연계된 웨이트 파라미터(예컨대, Wx1y1)에 의해 결정될 수 있다. Meanwhile, the degree of influence that the AA influence (WxAA) of the first feature (x1), that is, the first feature (x1) of the A class input data is classified into the A class is the A class input data (eg, Sample 1 and Sample). 3) the predetermined of the first feature x1 in the Class A input data (eg, Sample 1 and Sample 3), determined using the instance value (eg, 1 and 10) of each first feature x1. And a weight parameter associated with the x1 and A classes (eg, Wx1y1).

일 실시 예에 의하면, A 클래스 인풋 데이터들(예컨대, Sample 1 및 Sample 3)에서의 제1피쳐(x1)의 소정의 대표 값은 평균 값일 수 있지만 이에 한정되지는 않는다.According to an embodiment, the predetermined representative value of the first feature x1 in the A class input data (eg, Sample 1 and Sample 3) may be an average value, but is not limited thereto.

그러면 A 클래스 인풋 데이터들(예컨대, Sample 1 및 Sample 3)에서의 제1피쳐(x1)의 대표 값 즉, 평균 값은 (1+10)/2 = 5.5이고, Wx1y1=2이므로, 제1피쳐(x1)의 AA 영향력(WxAA)은 11일 수 있다. Then, the representative value of the first feature x1 in the A class input data (eg, Sample 1 and Sample 3), that is, the average value is (1 + 10) /2=5.5 and Wx1y1 = 2, and thus the first feature The AA influence (WxAA) of (x1) may be eleven.

이와 같은 방식으로 AB 영향력(WxAB)은 (10+1)/2 * 1 = 5.5일 수 있다.In this way the AB influence WxAB may be (10 + 1) /2*1=5.5.

그러면 제1피쳐(x1)의 A 클래스의 부분 영향력은 abs(WxAA- WxAB) = 5.5일 수 있다. (여기서 abs()는 절대값 함수를 나타낸다)Then, the partial influence of class A of the first feature x1 may be abs (WxAA-WxAB) = 5.5. Where abs () represents an absolute value function

결국 제1피쳐(x1)의 A 클래스의 부분 영향력(PDI)을 PDIx1A로 표현한다면, PDIx1A는 abs(WxAA - WxAB)를 포함한다.After all, if the partial influence (PDI) of the class A of the first feature (x1) is expressed as PDIx1A, PDIx1A includes abs (WxAA-WxAB).

그리고 도 2에서는 A 클래스 외에는 B 클래스 밖에 존재하지 않으므로, In FIG. 2, since only the B class exists except for the A class,

[수식 1][Equation 1]

PDIx1A = abs(WxAA - WxAB)PDIx1A = abs (WxAA-WxAB)

로 표현될 수 있다.It can be expressed as.

수식 1을 일반화하면 수식 2와 같을 수 있다.Generalizing Equation 1 may be the same as Equation 2.

[수식 2][Formula 2]

PDIjk =

Figure 112017109043830-pat00001
여기서 r=! k이다.PDIjk =
Figure 112017109043830-pat00001
Where r =! k.

또한 제1피쳐(x1)의 WxAA는 A 클래스 인풋 데이터들의 제1피쳐(x1)의 대표 값(예컨대, avg(A label x1))과 제1피쳐(x1) 및 A 클래스와 연계된 웨이트(Wx1y1)의 곱으로 표현될 수 있다.Also, the WxAA of the first feature x1 is a representative value of the first feature x1 of the class A input data (eg, avg (A label x1)) and the weight Wx1y1 associated with the first feature x1 and the class A. Can be expressed as a product of

[수식 3][Equation 3]

제1피쳐(x1)의 WxAA = avg(A label x1) * Wx1y1WxAA of the first feature (x1) = avg (A label x1) * Wx1y1

그리고 이를 일반화하면 즉, k 클래스 인풋 데이터의 j 피쳐가 m 클래스로 분류되는 영향력 Wxkm은 수식 4와 같을 수 있다.In general, that is, the influence Wxkm in which the j feature of the k class input data is classified as the m class may be the same as Equation 4.

[수식 4][Equation 4]

Wxkm = avg(k label j) * Wjm Wxkm = avg (k label j) * Wjm

한편 제1피쳐(x1)의 영향력(DI)은 K개의 클래스 중 전부 또는 일부의 부분 영향력의 합으로 정의될 수 있다.Meanwhile, the influence DI of the first feature x1 may be defined as the sum of all or some of the partial influences of the K classes.

일반적으로 제1피쳐(x1)의 영향력(DI)은 모든 클래스들 각각의 부분 영향력의 합 즉, 수식 2와 같이 정의될 수 있다.In general, the influence DI of the first feature x1 may be defined as the sum of partial influences of all classes, that is, Equation 2.

[수식 5][Equation 5]

DI =

Figure 112017109043830-pat00002
PDIx1k DI =
Figure 112017109043830-pat00002
PDIx1k

이를 일반화하면 j 피쳐의 영향력(DIj)는 다음과 같이 정의될 수 있다.Generalizing this, the influence DIj of the j feature may be defined as follows.

[수식 6][Equation 6]

DIj =

Figure 112017109043830-pat00003
PDIjk DIj =
Figure 112017109043830-pat00003
PDIjk

하지만 아웃 풋 레이어의 정의에 따라 아웃 풋 레이어의 특정 노드는 분류하고자 하는 클래스가 아닐 수도 있으며, 다양한 이유로 실시 예에 따라서는 클래스들 전부가 아닌(또는 아웃풋 레이어의 전체 노드에 대해서가 아닌) 일부에 대해서만 부분 영향력이 합해질 수도 있다.However, depending on the definition of the output layer, a particular node of the output layer may not be the class you want to classify, and for a variety of reasons, depending on the embodiment, not all of the classes (or the entire node of the output layer) Only partial influence may be combined.

본 명세서에서는 제1피쳐(x1)의 영향력(DI)는 제1피쳐(x1)의 모든 클래스들 각각의 부분 영향력(PDI)의 합으로 정의하기로 한다. 즉, 수식 2와 같이 정의하기로 한다.In the present specification, the influence DI of the first feature x1 is defined as the sum of the partial influences PDI of all classes of the first feature x1. That is, it will be defined as Equation 2.

따라서 도 2 및 도 3에서 제1피쳐(x1)의 B 클래스 부분 영향력(PDIx1B)을 수식 1과 마찬가지로 계산해보면 다음과 같을 수 있다.Therefore, in FIG. 2 and FIG. 3, the B class partial influence PDIx1B of the first feature x1 may be calculated as in Equation 1 as follows.

B 클래스 인풋 데이터는 Sample 2 및 Sample 4이고, B 클래스 인풋 데이터들(예컨대, Sample 2 및 Sample 4)에서의 제1피쳐(x1)의 대표 값 즉, 평균 값은 (5+1)/2 = 3이고, 제1피쳐(x1)와 B 클래스에 연계된 웨이트 Wx1y2=1므로, 제1피쳐(x1)의 WxBB = 3일 수 있다. The B class input data is Sample 2 and Sample 4, and the representative value of the first feature x1 in the B class input data (eg, Sample 2 and Sample 4), that is, the average value is (5 + 1) / 2 = 3 and the weight Wx1y2 = 1 associated with the first feature x1 and the B class, so that WxBB = 3 of the first feature x1.

마찬가지로 계산하면 제1피쳐(x1)의 WxBA = (5+1)/2 * (Wx1y1=2) = 6이 된다.Similarly, the calculation results in WxBA = (5 + 1) / 2 * (Wx1y1 = 2) = 6 of the first feature x1.

그러면 PDIx1B = abs(WxBA - Wxx2B) = 3이 될 수 있다.Then PDIx1B = abs (WxBA-Wxx2B) = 3.

그러면 제1피쳐의 영향력(DI)은 수식 5 또는 수식 6에 의해 Then, the influence (DI) of the first feature is expressed by Equation 5 or Equation 6.

DIx1 = PDIx1A + PDIx1B = 5.5 + 3= 8.5가 될 수 있다.DIx1 = PDIx1A + PDIx1B = 5.5 + 3 = 8.5.

이와 같은 방식으로 제2피쳐(x2)의 영향력 및 제3피쳐(x3)의 영향력이 각각 계산될 수 있다.In this way, the influence of the second feature (x2) and the influence of the third feature (x3) can be respectively calculated.

한편 도 2 및 도 3에서는 아웃 풋 레이어가 2개의 노드인 경우을 예시적으로 설명하였다. 2 and 3 exemplarily described a case where the output layer is two nodes.

하지만 아웃 풋 레이어가 3개의 노드를 가지는 경우, 즉, 인풋 데이터가 3개의 클래스로 분류될 경우를 가정하면 도 2 및 도 3에서 C 클래스까지 존재하는 경우일 수 있다.However, assuming that the output layer has three nodes, that is, the input data is classified into three classes, it may be the case that up to the C class in FIGS. 2 and 3.

이러한 경우 x1피쳐의 영향력은 수식 5에 의해 다음과 같을 수 있다. In this case, the influence of the x1 feature may be as follows by Equation 5.

DI =

Figure 112017109043830-pat00004
PDIx1k =PDIx1A + PDIx1B + PDIx1CDI =
Figure 112017109043830-pat00004
PDIx1k = PDIx1A + PDIx1B + PDIx1C

그리고 수식 2에 의해, 즉, PDIjk =

Figure 112017109043830-pat00005
에 의해And by equation 2, i.e. PDIjk =
Figure 112017109043830-pat00005
By

PDIx1A = abs(WxAA-WxAB) + abs(WxAA-WxAC)PDIx1A = abs (WxAA-WxAB) + abs (WxAA-WxAC)

PDIx1B = abs(WxBB-WxBA) + abs(WxBB-WxBC)PDIx1B = abs (WxBB-WxBA) + abs (WxBB-WxBC)

PDIx1C = abs(WxCC-WxCA) + abs(WxCC-WxCB)로 정의될 수 있다. PDIx1C = abs (WxCC-WxCA) + abs (WxCC-WxCB).

한편, 도 2 및 도 3에서는 인풋 레이어와 아웃풋 레이어만 존재하는 경우를 도시하였지만, 도 4에 도시된 바와 같이 뉴럴 네트워크(130)는 인풋 레이어와 아웃풋 레이어 외에 복수의 레이어들을 포함할 수 있다.2 and 3 illustrate a case in which only an input layer and an output layer exist, the neural network 130 may include a plurality of layers in addition to the input layer and the output layer as shown in FIG. 4.

도 4는 도 2와 비교하여 아웃풋 레이어가 다른 경우의 피쳐 영향 판단방법을 설명하기 위한 도면이다. FIG. 4 is a diagram for describing a feature influence determination method when an output layer is different from FIG. 2.

우선 도 4a를 참조하면, 도 4a에 도시된 바와 같은 멀티 레이어들이 뉴럴 네트워크(130)에 포함될 수 있다. 그리고 A클래스로 라벨된 인풋 데이터의 첫 번째 피쳐의 벡터를 a 로 표현하기로 한다.First, referring to FIG. 4A, multiple layers as illustrated in FIG. 4A may be included in the neural network 130. And it is made to represent the vector of the first feature of the input data with a label as A class.

이때 임의의 레이어에서 그 다음 레이어의 소정의 노드 j와 연결된 네트워크만을 표시하면 도 4b에 도시된 바와 같을 수 있다. In this case, if only a network connected to a predetermined node j of a next layer is displayed in an arbitrary layer, it may be as shown in FIG. 4B.

이때 노드 j는 (i1*Wi1j + i2*Wi2j + . . .+ in*Winj)로 표현될 수 있다.In this case, node j may be expressed as (i1 * Wi1j + i2 * Wi2j +... + In * Winj).

이와 같은 방식으로 멀티 레이어일 경우의 네트워크를 도식화하면 도 4c와 같을 수 있다. As illustrated in FIG. 4C, a network in the case of a multilayer in this manner may be illustrated.

그러면 결국 A 클래스 인풋 데이터의 x1 피쳐가 인풋 데이터를 A 클래스로 분류하는 영향력은 수식 4와 유사하게 WXaA로 표현될 수 있다.Then, the influence that the x1 feature of the class A input data classifies the input data as the class A may be expressed as WX aA similarly to Equation 4.

또한 A 클래스 인풋 데이터의 x1 피쳐가 인풋 데이터를 B 클래스로 분류하는 영향력은 수식 4와 유사하게 WXaB로 표현될 수 있다.In addition, the influence that the x1 feature of the class A input data classifies the input data into the class B may be expressed as WX aB similarly to Equation 4.

이때 WXaA = avg(A label a) * WaA일 수 있다.At this time, WX aA = avg (A label a ) * WaA.

상술한 도 2 내지 도 4의 경우를 일반화하여 설명하면 다음과 같을 수 있다.2 to 4, the general case may be as follows.

우선 본 발명의 뉴럴 네트워크(130)는 소프트맥스 회귀모델을 따르는 뉴럴 네트워크(130)로 가정할 수 있다. First, the neural network 130 of the present invention may be assumed to be a neural network 130 that follows a softmax regression model.

그리고 X는 인풋 데이터를 의미할 수 있다. X may mean input data.

이때

Figure 112017109043830-pat00006
로 표현될 수 있다.At this time
Figure 112017109043830-pat00006
It can be expressed as.

각각 Xi는 J 개의 피쳐를 가질 수 있다. Each Xi may have J features.

한편 출력 값 Y는 K 개의 숫자를 가지는 백터

Figure 112017109043830-pat00007
로 표현될 수 있다. The output Y is a vector of K numbers
Figure 112017109043830-pat00007
It can be expressed as.

그러면 i번째 인풋 데이터

Figure 112017109043830-pat00008
로 표현될 수 있고,이러한 Xi의 출력 값은 yi로 표현될 수 있다. Then i-th input data
Figure 112017109043830-pat00008
The output value of Xi may be expressed as yi.

만약 뉴럴 네트워크(130)가 인풋 데이터로 유전자 정보를 나타내고, 출력 값으로 특정 질병이 발현된 여부를 나타낸다고 가정할 수 있다. 그러면 Xi가 정상(질병이 미발현)인 경우 yi=[1,0], Xi가 비정상(질병이 발현)인 경우 yi = [0,1]로 표현될 수 있다. If neural network 130 represents the genetic information as the input data, it can be assumed that the output value indicates whether a particular disease is expressed. Then, when Xi is normal (disease not expressed), yi = [1,0], and when Xi is abnormal (disease expression), yi = [0,1].

한편 소프트맥스 회귀 모델에 의하면 모델 파라미터

Figure 112017109043830-pat00009
는 트레이닝 데이터를 통한 학습을 통해 결정될 수 있다.Meanwhile, according to the Softmax regression model, the model parameters
Figure 112017109043830-pat00009
May be determined through learning through training data.

이러한 모델 파라미터를 통해 출력 함수 Yi는 Xi 에 대해 다음과 같이 정의될 수 있다. Through this model parameter, the output function Yi can be defined as follows for Xi.

[수식 7][Formula 7]

Figure 112017109043830-pat00010
Figure 112017109043830-pat00010

이러한 수식에 의해 모델 파라미터가 학습되면, 전술한 바와 같이 각각의 피쳐들별로 영향력(도)(DI)가 판단될 수 있다.When the model parameter is learned by this equation, the influence (degrees) DI for each feature may be determined as described above.

학습에 이용되는 데이터세트는 피쳐들의 영향력을 판단하는데 인풋으로 입력될 수 있다. The dataset used for learning can be input as an input to determine the impact of features.

그리고 단순히 피쳐들 각각의 영향력을 판단하는데 그치지 않고, 영향력이 큰 순서대로 일정 개수(C)의 피쳐를 반환하는 피쳐 셀렉션을 수행한다면 이러한 피쳐 셀렉션을 수행하는 알고리즘(Discriminative Index(DI))은 다음의 도면 5에 도시된 바와 같을 수 있다.In addition to simply determining the influence of each of the features, and performing a feature selection that returns a certain number of features in order of influence, the algorithm for performing such a feature selection (DI) is as follows. It may be as shown in FIG.

도 5는 본 발명의 실시 예에 따른 피쳐 영향 판단방법을 통해 피쳐 셀렉션을 수행하는 알고리즘의 일 예를 나타낸다.5 illustrates an example of an algorithm for performing feature selection through a feature influence determination method according to an embodiment of the present invention.

도 5를 참조하면,

Figure 112017109043830-pat00011
는 X가 Y를 통해 K 클래스로 분류된 것을 나타낼 수 있다. 그리고 각각의
Figure 112017109043830-pat00012
에 대해 모든 인스턴스들의 대표 값(예컨대, 평균값)을 갖도록 대표 값 벡터(예컨대, 평균값 벡터)
Figure 112017109043830-pat00013
를 생성할 수 있다. 5,
Figure 112017109043830-pat00011
May represent that X is classified into K class through Y. And each
Figure 112017109043830-pat00012
A representative value vector (eg, an average value vector) to have a representative value (eg, an average value) of all instances for
Figure 112017109043830-pat00013
Can be generated.

그러면 각각의

Figure 112017109043830-pat00014
에 대해,
Figure 112017109043830-pat00015
를 연산할 수 있다.
Figure 112017109043830-pat00016
는 k번째 소프트맥스 출력 값
Figure 112017109043830-pat00017
와 상기
Figure 112017109043830-pat00018
의 내적에 의해 연산될 수 있다. 이는 상술한 바와 같은 수식 4에 상응하는 벡터 표현일 수 있다.Then each
Figure 112017109043830-pat00014
About,
Figure 112017109043830-pat00015
Can be calculated.
Figure 112017109043830-pat00016
Is the kth softmax output value
Figure 112017109043830-pat00017
And above
Figure 112017109043830-pat00018
Can be computed by the dot product of. This may be a vector representation corresponding to Equation 4 as described above.

한편 도 5에 도시된 바와 같이 특정 피쳐(예컨대, j=1)의 영향력 DIj 는 K 클래스 중에서 모든 서로 다른 페어(즉, KC2 개의) (a,b) 페어(여기서 a, b는 각각 K개의 클래스 중 어느 하나)의

Figure 112017109043830-pat00019
의 값을 더하면 구해질 수 있다. 그리고 이는 전술한 수식 6과 실질적으로 동일한 의미를 가짐을 알 수 있다.Meanwhile, as shown in FIG. 5, the influence DIj of a specific feature (eg, j = 1) is every other pair of K classes (that is, KC2) (a, b) pairs, where a and b are K classes, respectively. Of either)
Figure 112017109043830-pat00019
Can be found by adding the value of. And it can be seen that it has substantially the same meaning as Equation 6 described above.

이처럼 모든 피쳐들에 대해 각각 영향력(DI)가 연산되면, 영향력이 큰 순서대로 c 개의 피쳐(예컨대, 유전자 이름)를 상기 알고리즘은 출력할 수 있다.In this way, if the influence (DI) is calculated for all the features, the algorithm may output c features (eg, gene names) in the order of high impact.

본 발명의 기술적 사상에 따른 피쳐 영향 판단방법 및 이를 이용한 피쳐 셀렉션 방법을 TCGA RNA-seq 데이터에 적용하여 많은 암 종류에 대한 유니버설(universal) 바이오 마커를 찾는데 적용해보았다. 이렇게 찾아진 바이오 마커를 UCB(Universal Cancer Biomarker)로 정의하기로 한다.Feature impact determination method and feature selection method according to the technical idea of the present invention was applied to the TCGA RNA-seq data to find a universal biomarker for many cancer types. The biomarkers thus found will be defined as UCB (Universal Cancer Biomarker).

일 예에 따라 라벨(클래스)는 두 종류만을 갖도록 수행하였고, 하나는 종양(Tumor) RNA-seq sample 이고, 다른 하나는 정상(Normal) RNA-seq sample로 분류하도록 하였다.According to one example, a label (class) was performed to have only two types, one was a tumor RNA-seq sample, and the other was classified as a normal RNA-seq sample.

그리고 UCB를 찾기 위해, TCGA 12 cancer type RNA-seq 데이터를 이용하였다. 또한 UCB를 검증하기 위해 TCGA 12 cancer type RNA-seq data, GSE72056 RNA-seq data, GSE5364 microarray data를 이용하였다.TCGA 12 cancer type RNA-seq data was used to find UCB. In addition, TCGA 12 cancer type RNA-seq data, GSE72056 RNA-seq data, and GSE5364 microarray data were used to verify UCB.

그리고 상기 UCB(Wx-14-UCB)는 다른 문헌("Large-cale RNA-Seq Transcriptome Analysis of 4043 Cancers and 548 Normal Tissue Controls across 12 TCGA Cancer Type", Peng-14-UCB)의 암 바이오마커에 비해 보다 일반적인 암 분류를 효과적으로 수행함을 알 수 있었다.And the UCB (Wx-14-UCB) is compared with other biomarkers of cancer ("Large-cale RNA-Seq Transcriptome Analysis of 4043 Cancers and 548 Normal Tissue Controls across 12 TCGA Cancer Type", Peng-14-UCB) It was found that the cancer classification was performed more effectively.

그 결과(분류 정확도)는 다음과 같다.The result (classification accuracy) is as follows.

GSEGSE id id Cancer typeCancer type WxWx -14--14- UCBUCB PengPeng -14--14- UCBUCB GSE72056GSE72056 MelanomaMelanoma 93.35 93.35 75.49 75.49 GSE5364GSE5364 Multiple solid cancersMultiple solid cancers 85.29 85.29 -*-*

*GSE5364 데이터에 유전자가 포함되어 있지 않아서 측정 불가능 하였음.* Measurable because GSE5364 data does not contain a gene.

TCGA 12 cancer type RNA-seq 데이터를 기반으로 추출된 상위 14개의 암 바이오마커를 비교한 결과, 기존 문헌에서 보고된 암 바이오마커(Peng-14-UCB) 보다 상기 UCB(Wx-14-UCB)가 두 종류의 암(악성 흑생종, melanoma; 다발성 고형암, multiple solid cancers)과 각 정상 샘플을 분류하는데 더 뛰어난 분류 정확도를 보임을 알 수 있다.As a result of comparing the top 14 cancer biomarkers extracted based on TCGA 12 cancer type RNA-seq data, the UCB (Wx-14-UCB) was higher than the cancer biomarker (Peng-14-UCB) reported in the existing literature. Two types of cancers (malignant melanoma, multiple solid cancers) and better classification accuracy in classifying each normal sample.

본 발명의 실시 예에 따른 피쳐 영향 판단방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.Feature impact determination method according to an embodiment of the present invention can be implemented as a computer-readable code on a computer-readable recording medium. Computer-readable recording media include all types of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, hard disk, floppy disk, optical data storage, and the like. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

Claims (12)

J(J는 2 이상의 자연수)개의 피쳐(feature)들을 갖는 인풋 데이터들을 K(K는 2 이상의 자연수)개의 서로 다른 클래스들로 분류하는 뉴럴 네트워크를 이용하여 상기 J개의 피쳐들 중 적어도 하나 각각이 상기 분류에 영향을 미치는 정도를 판단하기 위한 방법에 있어서,
a)피쳐 영향 판단시스템이 J개의 피쳐들 중 특정 j 피쳐의 영향력(DIj)을 연산하기 위해, N개의 인풋 데이터들 중에서, K 개의 클래스들 중 특정 k 클래스로 분류된, k 클래스 인풋 데이터를 추출하는 단계;
b)상기 피쳐 영향 판단시스템이 추출한 상기 k 클래스 인풋 데이터의 상기 j 피쳐가 상기 k 클래스로 분류되는데 미치는 영향의 정도를 나타내는 kk 영향도를 연산하는 단계; 및
c)상기 피쳐 영향 판단시스템이 상기 k 클래스 인풋 데이터의 상기 j 피쳐가 상기 k 클래스가 아닌 r(r=!k) 클래스로 분류되는데 미치는 영향의 정도를 나타내는 데이터인 kr 영향도를 적어도 하나 연산하는 단계; 및
d)상기 피쳐 영향 판단시스템이 적어도 하나의 kr 영향도 각각과 상기 kk영향도 값의 차이에 기초하여 상기 영향력(DIj)을 연산하는 단계를 포함하는 피쳐 영향 판단방법.
Each of at least one of the J features is characterized by a neural network that classifies input data having J (J is a natural number of two or more) features into K (K is a natural number of two or more) different classes. In the method for determining the degree of influence on the classification,
a) The feature impact determination system extracts k class input data, classified into a specific k class of K classes, out of N input data, to calculate the influence (DIj) of a particular j feature of the J features. Making;
b) calculating a kk influence degree indicating a degree of influence of the j feature of the k class input data extracted by the feature influence determination system to be classified into the k class; And
c) the feature impact determination system calculates at least one kr impact degree, which is data representing the degree of impact of the j feature of the k class input data being classified into the r (r =! k) class rather than the k class. step; And
d) calculating, by the feature impact determination system, the impact DIj based on a difference between each of at least one kr influence and the kk influence value.
제1항에 있어서, 상기 c)단계는,
상기 k 클래스를 제외한 모든 kr(r!=k) 영향도를 연산하는 것을 특징으로 하고,
상기 d)단계는,
상기 kk 영향도와 상기 모든 kr(r!=k) 영향도 각각 간의 차이에 기초하여 상기 영향력(DIj)을 연산하는 것을 특징으로 하는 피쳐 영향 판단방법
The method of claim 1, wherein step c)
Compute all the kr (r! = K) influence except the k class,
Step d),
And calculating the influence (DIj) based on the difference between the kk influence and each of the kr (r! = K) influences, respectively.
제1항에 있어서, 상기 b) 단계는,
상기 k 클래스 인풋 데이터와 상기 뉴럴 네트워크의 웨이트 파라미터 중에서 상기 j 피쳐와 k 클래스 파라미터에 상응하는 k 웨이트 파라미터를 이용하여 kk영향도를 연산하는 것을 특징으로 하는 피쳐 영향 판단방법.
The method of claim 1, wherein b),
And calculating a k k influence using the k weight parameter corresponding to the j feature and the k class parameter among the k class input data and the weight parameter of the neural network.
제3항에 있어서, 상기 b)단계는,
상기 k 클래스 인풋 데이터의 평균 벡터와 상기 k 웨이트 파라미터의 내적에 기초하여 상기 kk영향도를 연산하는 것을 특징으로 하는 피쳐 영향 판단방법.
The method of claim 3, wherein b),
And calculating the kk influence based on an inner product of the k vector input data and the average vector of the k class input data.
제1항에 있어서, 상기 피쳐 영향 판단방법은,
e)상기 피쳐 영향 판단시스템이 상기 N개의 인풋 데이터들 중에서 상기 k 클래스가 아닌 소정의 s(s=!k) 클래스로 분류된 s 클래스 인풋 데이터를 추출하는 단계;
f)상기 피쳐 영향 판단시스템이 추출한 상기 s 클래스 인풋 데이터의 상기 j 피쳐가 상기 k 클래스로 분류되는데 미치는 영향의 정도를 나타내는 제2 kk 영향도를 연산하는 단계; 및
g)상기 피쳐 영향 판단시스템이 상기 s 클래스 인풋 데이터의 상기 j 피쳐가 상기 k 클래스가 아닌 r(r=!k) 클래스로 분류되는데 미치는 영향의 정도를 나타내는 데이터인 제2 kr 영향도를 적어도 하나 연산하는 단계; 및
h)상기 피쳐 영향 판단시스템이 적어도 하나의 제2 kr 영향도 각각과 상기 제2 kk영향도의 차이에 더 기초하여 상기 영향력(DIj)을 연산하는 단계를 포함하는 피쳐 영향 판단방법.
The method of claim 1, wherein the feature influence determination method comprises:
e) extracting, by the feature influence determination system, s class input data classified into a predetermined s (s =! k) class instead of the k class among the N input data;
f) calculating a second kk influence degree indicating a degree of influence of the j feature of the s class input data extracted by the feature influence determination system to be classified into the k class; And
g) at least one second kr impact degree that is data indicating the degree of influence of the feature impact determining system on the j feature of the s class input data being classified into the r (r =! k) class rather than the k class. Calculating; And
h) the feature impact determining system calculating the influence DIj based on the difference between each of the at least one second kr influence and the second kk influence.
제5항에 있어서, 상기 g)단계는,
상기 k 클래스를 제외한 모든 제2 kr(r!=k) 영향도를 연산하는 것을 특징으로 하고,
상기 h)단계는,
상기 제2 kk 영향도와 상기 모든 제2 kr(r!=k) 영향도 각각 간의 차이에 기초하여 상기 영향력(DIj)을 연산하는 것을 특징으로 하는 피쳐 영향 판단방법
The method of claim 5, wherein g),
Computing the effects of all the second kr (r! = K) except for the k class,
In step h),
And calculating the influence DIj based on a difference between the second kk influence and all the second kr (r! = K) influences, respectively.
제5항에 있어서, 상기 피쳐 영향 판단방법은,
상기 피쳐 영향 판단 시스템이 상기 k 클래스가 아닌 모든 타 클래스 각각에대해 상기 e) 단계 내지 h)단계를 수행하는 것을 특징으로 하는 피쳐 영향 판단방법.
The method of claim 5, wherein the feature influence determination method comprises:
And the step e) to h) for each of the other classes other than the k class.
J(J는 2 이상의 자연수)개의 피쳐(feature)들을 갖는 인풋 데이터들을 K(K는 2 이상의 자연수)개의 서로 다른 클래스들로 분류하는 뉴럴 네트워크를 이용하여 상기 J개의 피쳐들 중 적어도 하나 각각이 상기 분류에 영향을 미치는 정도를 판단하기 위한 방법에 있어서,
a)피쳐 영향 판단시스템이 J개의 피쳐들 중 특정 j 피쳐의 영향력(DIj)을 연산하기 위해, N개의 인풋 데이터들 중에서, K 개의 클래스들 중 특정 k 클래스로 분류된, k 클래스 인풋 데이터를 추출하는 단계;
b)상기 피쳐 영향 판단시스템이 추출한 상기 k 클래스 인풋 데이터의 상기 j 피쳐가 상기 k 클래스로 분류되는데 미치는 영향의 정도를 나타내는 kk 영향도를 연산하는 단계; 및
c)상기 피쳐 영향 판단시스템이 상기 k 클래스 인풋 데이터의 상기 j 피쳐가 상기 k 클래스가 아닌 모든 타 클래스로 분류되는데 미치는 영향의 정도를 나타내는 데이터인 kr 영향도를 연산하는 단계; 및
d)상기 피쳐 영향 판단시스템이 상기 kr 영향도 각각과 상기 kk영향도의 차이의 합인 j 피쳐의 k 클래스의 부분 영향력을 연산하는 단계; 및
e) 상기 N개의 인풋 데이터들 중에서, K 개의 클래스들 중 특정 k 클래스가 아닌 모든 타 클래스 각각에 대해 상기 a)단계 내지 d)단계를 수행하여 모든 클래스 각각에 대해 j 피쳐의 부분 영향력을 연산하는 단계; 및
f) 연산된 모든 부분 영향력을 이용하여 상기 영향력(DIj)을 연산하는 단계를 포함하는 피쳐 영향 판단방법.
Each of at least one of the J features is characterized by a neural network that classifies input data having J (J is a natural number of two or more) features into K (K is a natural number of two or more) different classes. In the method for determining the degree of influence on the classification,
a) The feature impact determination system extracts k class input data, classified into a particular k class of K classes, out of N input data, to calculate the influence (DIj) of a particular j feature of the J features. Making;
b) calculating a kk influence degree indicating a degree of influence of the j feature of the k class input data extracted by the feature influence determination system to be classified into the k class; And
c) calculating, by the feature impact determination system, kr influence that is data indicating the degree of influence of the j feature of the k class input data being classified into all other classes other than the k class; And
d) calculating, by the feature influence determination system, the partial influence of the k class of the j features that is the sum of the difference between each of the kr influences and the kk influence; And
e) performing the steps a) to d) for each of the other classes other than the specific k class among the K classes among the N input data to calculate the partial influence of the j feature for each of all classes step; And
f) calculating said influence (DIj) using all the calculated partial influences.
데이터 처리장치에 설치되며 제1항 내지 제8항 중 어느 한 항에 기재된 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.

A computer program installed in a data processing apparatus and stored in a medium for carrying out the method according to any one of claims 1 to 8.

데이터 처리장치로서,
프로세서; 및 상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며,
상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 데이터 처리장치가 제1항 내지 제8항 중 어느 한 항에 기재된 방법을 수행하도록 하는 데이터 처리장치.
As a data processing device,
A processor; And a memory storing a computer program executed by the processor,
The computer program, when executed by the processor, causes the data processing apparatus to perform the method according to any one of claims 1 to 8.
J(J는 2 이상의 자연수)개의 피쳐(feature)들을 갖는 인풋 데이터들을 K(K는 2 이상의 자연수)개의 서로 다른 클래스들로 분류하는 뉴럴 네트워크를 이용하여 상기 J개의 피쳐들 중 적어도 하나 각각이 상기 분류에 영향을 미치는 정도를 판단하기 위한 피쳐 영향 판단시스템에 있어서,
J개의 피쳐들 중 특정 j 피쳐의 영향력(DIj)을 연산하기 위해, N개의 인풋 데이터들 중에서, K 개의 클래스들 중 특정 k 클래스로 분류된, k 클래스 인풋 데이터를 추출하기 위한 추출모듈;
상기 추출모듈에 의해 추출된 상기 k 클래스 인풋 데이터의 j 피쳐가 상기 k 클래스로 분류되는데 미치는 영향의 정도를 나타내는 kk 영향도를 연산하고, 상기 k 클래스 인풋 데이터의 상기 j 피쳐가 상기 k 클래스가 아닌 r(r=!k) 클래스로 분류되는데 미치는 영향의 정도를 나타내는 데이터인 kr 영향도를 적어도 하나 연산하며, 적어도 하나의 kr 영향도 값 각각과 상기 kk영향도 값의 차이에 기초하여 상기 j 피쳐의 영향력(DIj)을 연산하는 제어모듈을 포함하는 피쳐 영향 판단시스템.
Each of at least one of the J features is characterized by a neural network that classifies input data having J (J is a natural number of two or more) features into K (K is a natural number of two or more) different classes. In the feature impact determination system for determining the degree of influence on the classification,
An extraction module for extracting k class input data, classified into a specific k class of K classes, among N input data, for calculating the influence DIj of the particular j feature of the J features;
Compute a kk influence degree indicating the extent to which the j feature of the k class input data extracted by the extraction module is classified into the k class, wherein the j feature of the k class input data is not the k class Compute at least one kr influence, which is a data indicating the degree of influence that is classified into a class r (r =! k), and based on the difference between each of at least one kr influence value and the kk influence value, the j feature Feature influence determination system comprising a control module for calculating the influence (DIj) of the.
J(J는 2 이상의 자연수)개의 피쳐(feature)들을 갖는 인풋 데이터들을 K(K는 2 이상의 자연수)개의 서로 다른 클래스들로 분류하는 뉴럴 네트워크를 이용하여 상기 J개의 피쳐들 중 적어도 하나 각각이 상기 분류에 영향을 미치는 정도를 판단하기 위한 피쳐 영향 판단시스템에 있어서,
J개의 피쳐들 중 특정 j 피쳐의 영향력(DIj)을 연산하기 위해, N개의 인풋 데이터들 중에서, K 개의 클래스들 중 특정 k 클래스로 분류된, k 클래스 인풋 데이터를 추출하기 위한 추출모듈;
상기 추출모듈에 의해 추출된 상기 k 클래스 인풋 데이터의 상기 j 피쳐가 상기 k 클래스로 분류되는데 미치는 영향의 정도를 나타내는 kk 영향도를 연산하고, 상기 j 피쳐가 상기 k 클래스가 아닌 모든 타 클래스로 분류되는데 미치는 영향의 정도를 나타내는 데이터인 kr 영향도를 연산하며, 상기 kr 영향도 각각과 상기 kk영향도의 차이의 합인 k 클래스의 부분 영향력을 연산하기 위한 제어모듈을 포함하며,
상기 제어모듈은,
K 개의 클래스들에 포함된 모든 클래스들 각각에 대해 상기의 부분 영향력을 연산하고, 연산된 모든 부분 영향력을 이용하여 상기 영향력(DIj)을 연산하는 피쳐 영향 판단시스템.
Each of at least one of the J features is characterized by a neural network that classifies input data having J (J is a natural number of two or more) features into K (K is a natural number of two or more) different classes. In the feature impact determination system for determining the degree of influence on the classification,
An extraction module for extracting k class input data, classified into a specific k class of K classes, among N input data, for calculating the influence DIj of the particular j feature of the J features;
Compute kk influence degree indicating the degree of impact of the j feature of the k class input data extracted by the extraction module to be classified into the k class, and classifies the j feature as all other classes other than the k class Comprising a kr impact degree that is a data indicating the degree of influence, and includes a control module for calculating the partial impact of the k class, the sum of the difference between each of the kr effect and the kk impact,
The control module,
And calculating the partial influence for each of all classes included in K classes, and calculating the influence (DIj) using all the calculated partial influences.
KR1020170145552A 2017-11-02 2017-11-02 System and method for selecting optimized medical features using neural network KR102073020B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170145552A KR102073020B1 (en) 2017-11-02 2017-11-02 System and method for selecting optimized medical features using neural network
PCT/KR2018/013256 WO2019088759A1 (en) 2017-11-02 2018-11-02 Method and system for determining feature influence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170145552A KR102073020B1 (en) 2017-11-02 2017-11-02 System and method for selecting optimized medical features using neural network

Publications (2)

Publication Number Publication Date
KR20190050229A KR20190050229A (en) 2019-05-10
KR102073020B1 true KR102073020B1 (en) 2020-03-02

Family

ID=66332607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170145552A KR102073020B1 (en) 2017-11-02 2017-11-02 System and method for selecting optimized medical features using neural network

Country Status (2)

Country Link
KR (1) KR102073020B1 (en)
WO (1) WO2019088759A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136410A1 (en) 2004-12-17 2006-06-22 Xerox Corporation Method and apparatus for explaining categorization decisions
US20060224532A1 (en) 2005-03-09 2006-10-05 Case Western Reserve University Iterative feature weighting with neural networks
US20100191685A1 (en) 2005-10-13 2010-07-29 Aureon Laboratories, Inc. Methods and systems for feature selection in machine learning based on feature contribution and model fitness

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136410A1 (en) 2004-12-17 2006-06-22 Xerox Corporation Method and apparatus for explaining categorization decisions
US20060224532A1 (en) 2005-03-09 2006-10-05 Case Western Reserve University Iterative feature weighting with neural networks
US20100191685A1 (en) 2005-10-13 2010-07-29 Aureon Laboratories, Inc. Methods and systems for feature selection in machine learning based on feature contribution and model fitness

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Nicolas Vecoven. Feature selection with deep neural networks. 2017.6.27.

Also Published As

Publication number Publication date
KR20190050229A (en) 2019-05-10
WO2019088759A1 (en) 2019-05-09

Similar Documents

Publication Publication Date Title
Cateni et al. A method for resampling imbalanced datasets in binary classification tasks for real-world problems
Muhlestein et al. Predicting inpatient length of stay after brain tumor surgery: developing machine learning ensembles to improve predictive performance
Shukri et al. Evolutionary static and dynamic clustering algorithms based on multi-verse optimizer
WO2021164382A1 (en) Method and apparatus for performing feature processing for user classification model
WO2021093140A1 (en) Cross-project software defect prediction method and system thereof
CN111915437B (en) Training method, device, equipment and medium of money backwashing model based on RNN
CN110795603B (en) Prediction method and device based on tree model
KR20140068650A (en) Method for detecting overlapping communities in a network
CN108491228A (en) A kind of binary vulnerability Code Clones detection method and system
Nama et al. Implementation of K-Means Technique in Data Mining to Cluster Researchers Google Scholar Profile
Ren et al. Anomaly detection in time series based on interval sets
KR20190143510A (en) System and method for two phase diagnosis using neural network
CN112632609A (en) Abnormality detection method, abnormality detection device, electronic apparatus, and storage medium
CN111491300A (en) Risk detection method, device, equipment and storage medium
US20220327394A1 (en) Learning support apparatus, learning support methods, and computer-readable recording medium
Zhang et al. MODEC: an unsupervised clustering method integrating omics data for identifying cancer subtypes
Zubi et al. Using data mining techniques to analyze crime patterns in the libyan national crime data
CN117521117A (en) Medical data application security and privacy protection method and system
KR102073020B1 (en) System and method for selecting optimized medical features using neural network
CN111783088A (en) Malicious code family clustering method and device and computer equipment
EP3444759B1 (en) Synthetic rare class generation by preserving morphological identity
US20230259756A1 (en) Graph explainable artificial intelligence correlation
Gharehchopogh et al. Automatic data clustering using farmland fertility metaheuristic algorithm
CN110879821A (en) Method, device, equipment and storage medium for generating rating card model derivative label
KR20190050230A (en) System and method for selecting optimized medical features using neural network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant