KR20190050230A - 피쳐 영향 판단 방법 및 그 시스템 - Google Patents

피쳐 영향 판단 방법 및 그 시스템 Download PDF

Info

Publication number
KR20190050230A
KR20190050230A KR1020170145553A KR20170145553A KR20190050230A KR 20190050230 A KR20190050230 A KR 20190050230A KR 1020170145553 A KR1020170145553 A KR 1020170145553A KR 20170145553 A KR20170145553 A KR 20170145553A KR 20190050230 A KR20190050230 A KR 20190050230A
Authority
KR
South Korea
Prior art keywords
influence
class
feature
input data
degree
Prior art date
Application number
KR1020170145553A
Other languages
English (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 KR1020170145553A priority Critical patent/KR20190050230A/ko
Publication of KR20190050230A publication Critical patent/KR20190050230A/ko

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/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)을 연산하는 단계를 포함한다.

Description

피쳐 영향 판단 방법 및 그 시스템{System and method for selecting optimized medical features using neural network}
본 발명은 뉴럴 네트워크를 이용한 분류(classification)에 있어서, 인풋 데이터에 포함된 복수의 피쳐들의 상기 분류에 미치는 영향도를 판단할 수 있는 방법 또는 피쳐 셀렉션(Feature Selection)에 대한 방법 및 그 시스템에 관한 것이다.
피쳐 셀렉션(Feature Selection)으로 불리우는 프로세스는 머신러닝 등에서 널리 이용되는 기술이다.
이러한 피쳐 셀렉션을 통해 원본 데이터가 주어졌을 때, 가장 좋은 성능을 보여 줄 수 있는 데이터 피쳐의 부분집합을 원본 데이터에서 찾아낼 수 있다.
한편 뉴럴 네트워크(또는 딥 러닝)이 다양한 분야에서 널리 이용되고 있다.
예컨대, 유전자 시퀀스로부터 특정 질병이 발현되는지 여부를 판단하거나, 신체의 조직 이미지를 이용해 정상 조직 또는 특정 질병이 발현된 조직인지 여부를 판단하는 과정에서도 이러한 뉴럴 네트워크가 활용되고 있다.
특히 이처럼 유전자 정보를 통한 질병의 발현 등과 같이 뉴럴 네트워크의 인풋 데이터의 피쳐(feature)들의 수가 많은 경우에는, 어떤 피쳐들이 질병의 발현에 영향을 많이 미치는지 알 수 있는 것이 매우 효과적일 수 있다.
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. 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. Peng L, Bian XW, Li DK, Xu C, Wang GM, Xia QY, Xiong Q. Scientific Reports (2015)
본 발명이 이루고자 하는 기술적인 과제는 소정의 방식으로 학습된 뉴럴 네트워크를 이용하여 인풋 데이터에 포함된 피쳐들 각각의 영향력(영향도)를 판단할 수 있는 방법 또는 이러한 방법을 이용하여 피쳐 셀렉션을 할 수 있는 방법 및 그 시스템을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 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)을 연산하는 단계를 포함한다.
상기 c)단계는 상기 k 클래스를 제외한 모든 kr(r!=k) 영향도를 연산하는 것을 특징으로 하고, 상기 d)단계는 상기 kk 영향도와 상기 모든 kr(r!=k) 영향도 각각 간의 차이에 기초하여 상기 영향력(DIj)을 연산하는 것을 특징으로 할 수 있다.
상기 b) 단계는 상기 k 클래스 인풋 데이터와 상기 뉴럴 네트워크의 웨이트 파라미터 중에서 상기 j 피쳐와 상기 k 클래스 파라미터에 상응하는 k 웨이트 파라미터를 이용하여 kk영향도를 연산하는 것을 특징으로 할 수 있다.
상기 b)단계는 상기 k 클래스 인풋 데이터의 평균 벡터와 상기 k 웨이트 파라미터의 내적에 기초하여 상기 kk영향도를 연산하는 것을 특징으로 할 수 있다.
상기 피쳐 영향 판단방법은 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)을 연산하는 단계를 포함할 수 있다.
상기 g)단계는 상기 k 클래스를 제외한 모든 제2 kr(r!=k) 영향도를 연산하는 것을 특징으로 하고, 상기 h)단계는 상기 제2 kk 영향도와 상기 모든 제2 kr(r!=k) 영향도 각각 간의 차이에 기초하여 상기 영향력(DIj)을 연산하는 것을 특징으로 할 수 있다.
상기 피쳐 영향 판단방법은 상기 피쳐 영향 판단 시스템이 상기 k 클래스가 아닌 모든 타 클래스 각각에대해 상기 e) 단계 내지 h)단계를 수행하는 것을 특징으로 할 수 있다.
상기 기술적 과제를 해결하기 위한 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)을 연산하는 단계를 포함한다.
상기의 방법은 기록된 컴퓨터 프로그램에 의해 구현될 수 있다.
상기의 기술적 과제를 해결하기 위한 데이터 처리장치는 프로세서 및 상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며, 상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 방법을 수행하도록 한다.
상기의 기술적 과제를 해결하기 위한 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)을 연산하는 제어모듈을 포함한다.
상기의 기술적 과제를 해결하기 위한 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)을 연산할 수 있다.
본 발명의 기술적 사상에 따르면 뉴럴 네트워크를 통해 특정 분류에 있어서 영향력이 큰 피쳐를 용이하게 추출할 수 있는 효과가 있다.
이러한 기술적 사상을 유전자 시퀀스가 특정 질병의 발현여부를 분류하는 뉴럴 네트워크에 적용할 경우, 상기 특정 질병의 발현여부에 영향을 많이 미치는 유전자 정보(예컨대, RNA-seq.)를 확인할 수 있으며, 이를 통해 효과적인 바이오 마커의 개발이 가능한 효과가 있다.
또한 본 발명의 기술적 사상을 통해 소정의 암을 진단하기 위한 뉴럴 네트워크를 이용하여 영향력이 큰 소정 개수(예컨대, 14개)의 유전자(feature)를 추출하였고, 이를 기존의 알려진 바이오 마커("Large-cale RNA-Seq Transcriptome Analysis of 4043 Cancers and 548 Normal Tissue Controls across 12 TCGA Cancer Type")와 비교한 결과 보다 높은 진단율을 나타내는 효과가 있었다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 기술적 사상에 따른 피쳐 영향 판단시스템의 개략적인 시스템 구성을 나타내는 도면이다.
도 2 내지 도3은 본 발명의 실시 예에 따른 피쳐 영향 판단방법을 개념적으로 설명하기 위한 도면이다.
도 4는 도 2와 비교하여 레이어 수가 다른 경우의 피쳐 영향 판단방법을 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 피쳐 영향 판단방법을 통해 피쳐 셀렉션을 수행하는 알고리즘의 일 예를 나타낸다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 아니 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에 있어서, “포함하다”또는 “가지다”등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시 예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 기술적 사상에 따른 피쳐 영향 판단시스템의 개략적인 시스템 구성을 나타내는 도면이다.
도 1을 참조하면, 본 발명의 기술적 사상에 따른 피쳐 영향 판단방법을 구현하기 위해서는 피쳐 영향 판단시스템(이하, '판단시스템', 100)이 구비될 수 있다. 상기 판단시스템(100)은 소정의 서버(미도시)에 설치되어 본 발명의 기술적 사상을 구현할 수 있다. 상기 서버(미도시)는 본 발명의 기술적 사상을 구현하기 위한 연산능력을 가진 데이터 처리장치를 의미하며, 일반적으로 네트워크를 통해 클라이언트가 접속가능한 데이터 처리장치뿐만 아니라 개인용 컴퓨터, 휴대 단말 등과 같이 특정 서비스를 수행할 수 있는 어떠한 장치도 서버로 정의될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다. 물론 상기 판단시스템(100)은 소정의 유저 단말기에 설치될 수도 있다. 이하에서는 상기 판단시스템(100)이 서버(미도시)에 설치되는 일 예를 설명하지만 본 발명의 권리범위가 이에 한정되진 않는다.
상기 서버(미도시)는 소정의 프로세서 및 저장장치를 포함할 수 있다. 상기 프로세서는 본 발명의 기술적 사상을 구현하기 위한 프로그램을 구동시킬 수 있는 연산장치를 의미할 수 있으며, 상기 프로세서는 상기 프로그램을 구동하여 본 발명의 기술적 사상에 따른 피쳐 영향 판단방법을 수행할 수 있다. 또한 피쳐 영향 판단방법을 수행함으로써 일정 개수의 피쳐 셀렉션을 수행할 수도 있다.
상기 저장장치는 본 발명의 기술적 사상을 구현하기 위한 프로그램 및/또는 뉴럴 네트워크(NN, 130)를 저장할 수 있는 데이터 저장수단을 의미할 수 있으며, 구현 예에 따라 복수의 저장수단으로 구현될 수도 있다. 또한 상기 저장장치는 상기 서버(미도시)에 포함된 주 기억장치 뿐만 아니라, 상기 프로세서에 포함될 수 있는 임시 저장장치 또는 메모리 등을 포함하는 의미일 수도 있다. 물론 필요에 따라 상기 뉴럴 네트워크(130)는 상기 판단시스템(100)과는 이격된 장치에 저장되어 있을 수도 있다. 또는 상기 판단시스템(100)은 상기 뉴럴 네트워크(130) 자체가 아니라 상기 뉴럴 네트워크(130)를 정의하는 소정의 정보(예컨대, 모델 파라미터 등)만을 저장할 수도 있다.
상기 판단시스템(100)은 도 1에서는 어느 하나의 물리적 장치로 구현된 것으로 도시하였지만, 필요에 따라 복수의 물리적 장치가 유기적으로 결합되어 본 발명의 기술적 사상에 따른 판단시스템(100)을 구현할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
본 명세서에서 상기 판단시스템(100)은 소정의 뉴럴 네트워크(130)가 이용하는 인풋 데이터(Input data)에 포함되는 피쳐들(features) 각각의 영향력(영향도)을 판단할 수 있다.
상기 영향력은 상기 뉴럴 네트워크(130)가 상기 인풋 데이터를 소정 개수의 클래스로 분류하는 기능을 수행하는 네트워크인 경우, 각각의 피쳐들이 상기 분류에 영향을 미치는 정도를 소정의 기준으로 정량화한 정보일 수 있다.
이처럼 인풋 데이터에 포함되는 피쳐들 각각의 영향력을 판단할 수 있다면, 영향력이 큰 일정 개수의 피쳐들이 선택될 수 있으며 이를 피쳐 셀렉션이라 할 수 있다.
이러한 피쳐 셀렉션이 이루어지는 경우, 상기 분류에 있어서 불필요한 정보들(영향력이 없거나 거의 없는 data)을 필터링할 수 있으며, 분류의 성능이나 속도를 향상시킬 수 있는 효과가 있다.
특히 본 발명의 기술적 사상이 유전자 정보를 인풋 데이터로 입력받아 특정 질병의 발현여부를 출력하는 뉴럴 네트워크인 경우, 인풋 데이터는 어떤 특징을 갖는 유전자 시퀀스(예컨대, RNA-seq.)일 수 있다. 그리고 영향력이 큰 몇 개의 유전자 시퀀스 즉 피쳐가 선택된다면 선택된 피쳐는 상기 특정 질병의 바이오 마커(bio marker)로 이용될 수 있다.
따라서 본 발명의 기술적 사상은 특정 질병에 대한 바이오 마커를 발견하는데에도 유용하게 이용될 수 있음은 물론이다.
이러한 기술적 사상을 구현하기 위한 상기 판단시스템(100)은 논리적으로 도 1에 도시된 바와 같은 구성을 가질 수 있다.
상기 판단시스템(100)은 제어모듈(110) 및 추출모듈(120)을 포함할 수 있다. 또한 상기 판단시스템(100)은 뉴럴 네트워크(130)를 더 포함할 수도 있다.
상기 판단시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비한 논리적인 구성을 의미할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 판단시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 판단시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다. 예컨대, 상기 제어모듈(110), 상기 추출모듈(120), 및/또는 상기 뉴럴 네트워크(130) 각각은 서로 다른 물리적 장치에 위치할 수도 있고, 동일한 물리적 장치에 위치할 수도 있다. 또한, 구현 예에 따라서는 상기 제어모듈(110), 상기 추출모듈(120), 및/또는 상기 뉴럴 네트워크(130) 각각을 구성하는 소프트웨어 및/또는 하드웨어의 결합 역시 서로 다른 물리적 장치에 위치하고, 서로 다른 물리적 장치에 위치한 구성들이 서로 유기적으로 결합되어 각각의 상기 모듈들을 구현할 수도 있다.
또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스(resource)의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
상기 제어모듈(110)은 본 발명의 기술적 사상을 구현하기 위해 상기 판단시스템(100)에 포함된 다른 구성(예컨대, 상기 추출모듈(120) 및/또는 상기 뉴럴 네트워크(130) 등)을 제어할 수 있다.
상기 추출모듈(120)은, 소정의 피쳐(예컨대, J개의 피쳐들 중 j번째 피쳐)의 영향력(DI)을 판단하기 위해 인풋 데이터들 중 특정 클래스(예컨대, K개의 클래스 중 k번째 클래스)로 분류된 인풋 데이터 즉, k 클래스 인풋 데이터를 추출할 수 있다. 상기 추출모듈(120)은 k 클래스 인풋 데이터들로부터 각각 상기 피쳐(예컨대, j)의 인스턴스를 추출할 수 있음은 물론이다.
그러면 상기 제어모듈(110)은 추출된 상기 k 클래스 인풋 데이터를 이용하여 상기 피쳐(예컨대, j)의 k 클래스의 부분 영향력을 판단할 수 있다.
상기 피쳐(예컨대, j)의 k 클래스의 부분 영향력이라 함은 개념적으로, k클래스로 분류된 인풋 데이터들을 이용하여 j라는 피쳐가 상기 분류에 영향을 미친 정도를 표현하는 정보일 수 있다.
이때 본 발명의 기술적 사상에 의하면 j라는 피쳐가 상기 분류에 영향을 미친 정도는, j라는 피쳐가 특정 클래스(예컨대, k 클래스)로 분류되는데 영향을 미친 정도(jk 영향력이라 함)와 j라는 피쳐가 타 클래스(예컨대, r 클래스, 여기서 r은 k가 아니면서 K개의 클래스 중 어느 하나)로 분류되는데 영향을 미친 정도(jr 영향력이라 함)의 차이를 이용하는 정보일 수 있다.
즉, j라는 피쳐가 해당 인풋 데이터를 k 클래스로 분류하는데 영향을 미친 정도와 j라는 피쳐가 해당 인풋 데이터를 r 클래스로 분류하는데 영향을 미친 정도가 같거나 유사하다면 적어도 j라는 피쳐는 인풋 데이터를 k클래스와 r클래스로 분류하는데에는 별로 중요하지 않은 피쳐임을 의미할 수 있다.
이러한 개념을 이용하여 특정 피쳐의 영향력(DI)을 연산하는 개념의 일 예를 도 2 및 도3을 참조하여 설명하면 다음과 같을 수 있다.
도 2 내지 도3은 본 발명의 실시 예에 따른 피쳐 영향 판단방법을 개념적으로 설명하기 위한 도면이다.
도 2 및 도 3은, 인풋 레이어와 아웃풋 레이어만 존재하는 뉴럴 네트워크(130)를 일 예로 도시하고 있으며, 아웃풋 레이어의 각각의 출력은 분류할 클래스(Y1, Y2)를 나타낼 수 있다. 그리고 소정의 인풋 데이터는 도 2에 도시된 바와 같이 3개의 피쳐(x1, x2, x3)로 표현할 수 있다. 한편 상기 뉴럴 네트워크(130)에서 x1 노드와 Y1 간의 웨이트는 Wx1y1으로 표시하기로 하고, x1노드와 Y2간의 웨이트는 Wx1y2로 표현하기로 한다.
그리고 도 2에 도시된 바와 같은 뉴럴 네트워크(130)는 도 3에 도시된 바와 같은 인풋 데이터(Sample 1 내지 Sample 4)가 입력되면, 입력된 인풋 데이터를 Class Y1(A 클래스로 약칭하기로 함) 또는 Class Y2(B 클래스로 약칭하기로 함)로 분류하는 네트워크일 수 있다.
각각의 인풋 데이터는 도 3의 상단 표에 도시된 바와 같이 3개의 피쳐들(x1, x2, x3)를 포함하며, 각 피쳐의 인스턴스 역시 도 3의 상단 표에 도시된 바와 같을 수 있다.
예컨대, 제1인풋 데이터(Sample 1)의 x1피쳐는 1, x2 피쳐는 2, x3 피쳐는 3일 수 있고, 제2인풋 데이터(Sample 2)의 x1피쳐는 5, x2 피쳐는 5, x3 피쳐는 4일 수 있다.
상기 뉴럴 네트워크(130)는 다수의 트레이닝 데이터를 통해 학습된 네트워크이며, 상기 뉴럴 네트워크(130)를 정의하는 파라미터 예컨대, 노드들간의 웨이트 파라미터는 도 3의 하단에 도시된 바와 같을 수 있다.
그리고 상기 뉴럴 네트워크(130)를 통해 각각의 인풋 데이터들(Sample 1 내지 Sample 4)는 각각 , A, B, A, B로 분류되었다고 가정한다.
이러한 경우 상기 추출모듈(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)를 추출할 수 있음은 물론이다.
그러면 상기 제어모듈(110)은 추출된 상기 A 클래스 인풋 데이터(예컨대, Sample 1 및 Sample 3)를 이용하여 상기 제1피쳐(x1)의 A 클래스의 부분 영향력을 판단할 수 있다.
상기 제1피쳐(x1)의 A 클래스의 부분 영향력이라 함은 개념적으로, A 클래스로 분류된 인풋 데이터들을 이용하여 제1피쳐(x1)가 상기 분류에 영향을 미친 정도를 표현하는 정보일 수 있다.
그리고 전술한 바와 같이 제1피쳐(x1)가 상기 분류에 영향을 미친 정도는, A 클래스 인풋 데이터의 제1피쳐(x1)가 상기 A 클래스로 분류되는데 영향을 미친 정도(AA 영향력, WxAA)와 A 클래스 인풋 데이터의 제1피쳐(x1)가 타 클래스(예컨대, B 클래스)로 분류되는데 영향을 미친 정도(AB 영향력, WxAB)의 차이를 이용하는 정보일 수 있다.
한편, 제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)에 의해 결정될 수 있다.
일 실시 예에 의하면, A 클래스 인풋 데이터들(예컨대, Sample 1 및 Sample 3)에서의 제1피쳐(x1)의 소정의 대표 값은 평균 값일 수 있지만 이에 한정되지는 않는다.
그러면 A 클래스 인풋 데이터들(예컨대, Sample 1 및 Sample 3)에서의 제1피쳐(x1)의 대표 값 즉, 평균 값은 (1+10)/2 = 5.5이고, Wx1y1=2이므로, 제1피쳐(x1)의 AA 영향력(WxAA)은 11일 수 있다.
이와 같은 방식으로 AB 영향력(WxAB)은 (10+1)/2 * 1 = 5.5일 수 있다.
그러면 제1피쳐(x1)의 A 클래스의 부분 영향력은 abs(WxAA- WxAB) = 5.5일 수 있다. (여기서 abs()는 절대값 함수를 나타낸다)
결국 제1피쳐(x1)의 A 클래스의 부분 영향력(PDI)을 PDIx1A로 표현한다면, PDIx1A는 abs(WxAA - WxAB)를 포함한다.
그리고 도 2에서는 A 클래스 외에는 B 클래스 밖에 존재하지 않으므로,
[수식 1]
PDIx1A = abs(WxAA - WxAB)
로 표현될 수 있다.
수식 1을 일반화하면 수식 2와 같을 수 있다.
[수식 2]
PDIjk =
Figure pat00001
여기서 r=! k이다.
또한 제1피쳐(x1)의 WxAA는 A 클래스 인풋 데이터들의 제1피쳐(x1)의 대표 값(예컨대, avg(A label x1))과 제1피쳐(x1) 및 A 클래스와 연계된 웨이트(Wx1y1)의 곱으로 표현될 수 있다.
[수식 3]
제1피쳐(x1)의 WxAA = avg(A label x1) * Wx1y1
그리고 이를 일반화하면 즉, k 클래스 인풋 데이터의 j 피쳐가 m 클래스로 분류되는 영향력 Wxkm은 수식 4와 같을 수 있다.
[수식 4]
Wxkm = avg(k label j) * Wjm
한편 제1피쳐(x1)의 영향력(DI)은 K개의 클래스 중 전부 또는 일부의 부분 영향력의 합으로 정의될 수 있다.
일반적으로 제1피쳐(x1)의 영향력(DI)은 모든 클래스들 각각의 부분 영향력의 합 즉, 수식 2와 같이 정의될 수 있다.
[수식 5]
DI =
Figure pat00002
PDIx1k
이를 일반화하면 j 피쳐의 영향력(DIj)는 다음과 같이 정의될 수 있다.
[수식 6]
DIj =
Figure pat00003
PDIjk
하지만 아웃 풋 레이어의 정의에 따라 아웃 풋 레이어의 특정 노드는 분류하고자 하는 클래스가 아닐 수도 있으며, 다양한 이유로 실시 예에 따라서는 클래스들 전부가 아닌(또는 아웃풋 레이어의 전체 노드에 대해서가 아닌) 일부에 대해서만 부분 영향력이 합해질 수도 있다.
본 명세서에서는 제1피쳐(x1)의 영향력(DI)는 제1피쳐(x1)의 모든 클래스들 각각의 부분 영향력(PDI)의 합으로 정의하기로 한다. 즉, 수식 2와 같이 정의하기로 한다.
따라서 도 2 및 도 3에서 제1피쳐(x1)의 B 클래스 부분 영향력(PDIx1B)을 수식 1과 마찬가지로 계산해보면 다음과 같을 수 있다.
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일 수 있다.
마찬가지로 계산하면 제1피쳐(x1)의 WxBA = (5+1)/2 * (Wx1y1=2) = 6이 된다.
그러면 PDIx1B = abs(WxBA - Wxx2B) = 3이 될 수 있다.
그러면 제1피쳐의 영향력(DI)은 수식 5 또는 수식 6에 의해
DIx1 = PDIx1A + PDIx1B = 5.5 + 3= 8.5가 될 수 있다.
이와 같은 방식으로 제2피쳐(x2)의 영향력 및 제3피쳐(x3)의 영향력이 각각 계산될 수 있다.
한편 도 2 및 도 3에서는 아웃 풋 레이어가 2개의 노드인 경우을 예시적으로 설명하였다.
하지만 아웃 풋 레이어가 3개의 노드를 가지는 경우, 즉, 인풋 데이터가 3개의 클래스로 분류될 경우를 가정하면 도 2 및 도 3에서 C 클래스까지 존재하는 경우일 수 있다.
이러한 경우 x1피쳐의 영향력은 수식 5에 의해 다음과 같을 수 있다.
DI =
Figure pat00004
PDIx1k =PDIx1A + PDIx1B + PDIx1C
그리고 수식 2에 의해, 즉, PDIjk =
Figure pat00005
에 의해
PDIx1A = abs(WxAA-WxAB) + abs(WxAA-WxAC)
PDIx1B = abs(WxBB-WxBA) + abs(WxBB-WxBC)
PDIx1C = abs(WxCC-WxCA) + abs(WxCC-WxCB)로 정의될 수 있다.
한편, 도 2 및 도 3에서는 인풋 레이어와 아웃풋 레이어만 존재하는 경우를 도시하였지만, 도 4에 도시된 바와 같이 뉴럴 네트워크(130)는 인풋 레이어와 아웃풋 레이어 외에 복수의 레이어들을 포함할 수 있다.
도 4는 도 2와 비교하여 아웃풋 레이어가 다른 경우의 피쳐 영향 판단방법을 설명하기 위한 도면이다.
우선 도 4a를 참조하면, 도 4a에 도시된 바와 같은 멀티 레이어들이 뉴럴 네트워크(130)에 포함될 수 있다. 그리고 A클래스로 라벨된 인풋 데이터의 첫 번째 피쳐의 벡터를 a 로 표현하기로 한다.
이때 임의의 레이어에서 그 다음 레이어의 소정의 노드 j와 연결된 네트워크만을 표시하면 도 4b에 도시된 바와 같을 수 있다.
이때 노드 j는 (i1*Wi1j + i2*Wi2j + . . .+ in*Winj)로 표현될 수 있다.
이와 같은 방식으로 멀티 레이어일 경우의 네트워크를 도식화하면 도 4c와 같을 수 있다.
그러면 결국 A 클래스 인풋 데이터의 x1 피쳐가 인풋 데이터를 A 클래스로 분류하는 영향력은 수식 4와 유사하게 WXaA로 표현될 수 있다.
또한 A 클래스 인풋 데이터의 x1 피쳐가 인풋 데이터를 B 클래스로 분류하는 영향력은 수식 4와 유사하게 WXaB로 표현될 수 있다.
이때 WXaA = avg(A label a) * WaA일 수 있다.
상술한 도 2 내지 도 4의 경우를 일반화하여 설명하면 다음과 같을 수 있다.
우선 본 발명의 뉴럴 네트워크(130)는 소프트맥스 회귀모델을 따르는 뉴럴 네트워크(130)로 가정할 수 있다.
그리고 X는 인풋 데이터를 의미할 수 있다.
이때
Figure pat00006
로 표현될 수 있다.
각각 Xi는 J 개의 피쳐를 가질 수 있다.
한편 출력 값 Y는 K 개의 숫자를 가지는 백터
Figure pat00007
로 표현될 수 있다.
그러면 i번째 인풋 데이터
Figure pat00008
로 표현될 수 있고,이러한 Xi의 출력 값은 yi로 표현될 수 있다.
만약 뉴럴 네트워크(130)가 인풋 데이터로 유전자 정보를 나타내고, 출력 값으로 특정 질병이 발현된 여부를 나타낸다고 가정할 수 있다. 그러면 Xi가 정상(질병이 미발현)인 경우 yi=[1,0], Xi가 비정상(질병이 발현)인 경우 yi = [0,1]로 표현될 수 있다.
한편 소프트맥스 회귀 모델에 의하면 모델 파라미터
Figure pat00009
는 트레이닝 데이터를 통한 학습을 통해 결정될 수 있다.
이러한 모델 파라미터를 통해 출력 함수 Yi는 Xi 에 대해 다음과 같이 정의될 수 있다.
[수식 7]
Figure pat00010
이러한 수식에 의해 모델 파라미터가 학습되면, 전술한 바와 같이 각각의 피쳐들별로 영향력(도)(DI)가 판단될 수 있다.
학습에 이용되는 데이터세트는 피쳐들의 영향력을 판단하는데 인풋으로 입력될 수 있다.
그리고 단순히 피쳐들 각각의 영향력을 판단하는데 그치지 않고, 영향력이 큰 순서대로 일정 개수(C)의 피쳐를 반환하는 피쳐 셀렉션을 수행한다면 이러한 피쳐 셀렉션을 수행하는 알고리즘(Discriminative Index(DI))은 다음의 도면 5에 도시된 바와 같을 수 있다.
도 5는 본 발명의 실시 예에 따른 피쳐 영향 판단방법을 통해 피쳐 셀렉션을 수행하는 알고리즘의 일 예를 나타낸다.
도 5를 참조하면,
Figure pat00011
는 X가 Y를 통해 K 클래스로 분류된 것을 나타낼 수 있다. 그리고 각각의
Figure pat00012
에 대해 모든 인스턴스들의 대표 값(예컨대, 평균값)을 갖도록 대표 값 벡터(예컨대, 평균값 벡터)
Figure pat00013
를 생성할 수 있다.
그러면 각각의
Figure pat00014
에 대해,
Figure pat00015
를 연산할 수 있다.
Figure pat00016
는 k번째 소프트맥스 출력 값
Figure pat00017
와 상기
Figure pat00018
의 내적에 의해 연산될 수 있다. 이는 상술한 바와 같은 수식 4에 상응하는 벡터 표현일 수 있다.
한편 도 5에 도시된 바와 같이 특정 피쳐(예컨대, j=1)의 영향력 DIj 는 K 클래스 중에서 모든 서로 다른 페어(즉, KC2 개의) (a,b) 페어(여기서 a, b는 각각 K개의 클래스 중 어느 하나)의
Figure pat00019
의 값을 더하면 구해질 수 있다. 그리고 이는 전술한 수식 6과 실질적으로 동일한 의미를 가짐을 알 수 있다.
이처럼 모든 피쳐들에 대해 각각 영향력(DI)가 연산되면, 영향력이 큰 순서대로 c 개의 피쳐(예컨대, 유전자 이름)를 상기 알고리즘은 출력할 수 있다.
본 발명의 기술적 사상에 따른 피쳐 영향 판단방법 및 이를 이용한 피쳐 셀렉션 방법을 TCGA RNA-seq 데이터에 적용하여 많은 암 종류에 대한 유니버설(universal) 바이오 마커를 찾는데 적용해보았다. 이렇게 찾아진 바이오 마커를 UCB(Universal Cancer Biomarker)로 정의하기로 한다.
일 예에 따라 라벨(클래스)는 두 종류만을 갖도록 수행하였고, 하나는 종양(Tumor) RNA-seq sample 이고, 다른 하나는 정상(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를 이용하였다.
그리고 상기 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)의 암 바이오마커에 비해 보다 일반적인 암 분류를 효과적으로 수행함을 알 수 있었다.
그 결과(분류 정확도)는 다음과 같다.
GSE id Cancer type Wx -14- UCB Peng -14- UCB
GSE72056 Melanoma 93.35 75.49
GSE5364 Multiple solid cancers 85.29 -*
*GSE5364 데이터에 유전자가 포함되어 있지 않아서 측정 불가능 하였음.
TCGA 12 cancer type RNA-seq 데이터를 기반으로 추출된 상위 14개의 암 바이오마커를 비교한 결과, 기존 문헌에서 보고된 암 바이오마커(Peng-14-UCB) 보다 상기 UCB(Wx-14-UCB)가 두 종류의 암(악성 흑생종, melanoma; 다발성 고형암, multiple solid cancers)과 각 정상 샘플을 분류하는데 더 뛰어난 분류 정확도를 보임을 알 수 있다.
본 발명의 실시 예에 따른 피쳐 영향 판단방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (12)

  1. 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)을 연산하는 단계를 포함하는 피쳐 영향 판단방법.
  2. 제1항에 있어서, 상기 c)단계는,
    상기 k 클래스를 제외한 모든 kr(r!=k) 영향도를 연산하는 것을 특징으로 하고,
    상기 d)단계는,
    상기 kk 영향도와 상기 모든 kr(r!=k) 영향도 각각 간의 차이에 기초하여 상기 영향력(DIj)을 연산하는 것을 특징으로 하는 피쳐 영향 판단방법
  3. 제1항에 있어서, 상기 b) 단계는,
    상기 k 클래스 인풋 데이터와 상기 뉴럴 네트워크의 웨이트 파라미터 중에서 상기 j 피쳐와 상기 k 클래스 파라미터에 상응하는 k 웨이트 파라미터를 이용하여 kk영향도를 연산하는 것을 특징으로 하는 피쳐 영향 판단방법.
  4. 제3항에 있어서, 상기 b)단계는,
    상기 k 클래스 인풋 데이터의 평균 벡터와 상기 k 웨이트 파라미터의 내적에 기초하여 상기 kk영향도를 연산하는 것을 특징으로 하는 피쳐 영향 판단방법.
  5. 제1항에 있어서, 상기 피쳐 영향 판단방법은,
    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)을 연산하는 단계를 포함하는 피쳐 영향 판단방법.
  6. 제1항에 있어서, 상기 g)단계는,
    상기 k 클래스를 제외한 모든 제2 kr(r!=k) 영향도를 연산하는 것을 특징으로 하고,
    상기 h)단계는,
    상기 제2 kk 영향도와 상기 모든 제2 kr(r!=k) 영향도 각각 간의 차이에 기초하여 상기 영향력(DIj)을 연산하는 것을 특징으로 하는 피쳐 영향 판단방법
  7. 제5항에 있어서, 상기 피쳐 영향 판단방법은,
    상기 피쳐 영향 판단 시스템이 상기 k 클래스가 아닌 모든 타 클래스 각각에대해 상기 e) 단계 내지 h)단계를 수행하는 것을 특징으로 하는 피쳐 영향 판단방법.
  8. 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)을 연산하는 단계를 포함하는 피쳐 영향 판단방법.
  9. 데이터 처리장치에 설치되며 제1항 내지 제8항 중 어느 한 항에 기재된 방법을 구현하기 위한 기록된 컴퓨터 프로그램.

  10. 데이터 처리장치로서,
    프로세서; 및 상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며,
    상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 사용자 단말이 제1항 내지 제9항 중 어느 한 항에 기재된 방법을 수행하도록 하는 데이터 처리장치.
  11. 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)을 연산하는 제어모듈을 포함하는 피쳐 영향 판단시스템.
  12. 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)을 연산하는 피쳐 영향 판단시스템.
KR1020170145553A 2017-11-02 2017-11-02 피쳐 영향 판단 방법 및 그 시스템 KR20190050230A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170145553A KR20190050230A (ko) 2017-11-02 2017-11-02 피쳐 영향 판단 방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170145553A KR20190050230A (ko) 2017-11-02 2017-11-02 피쳐 영향 판단 방법 및 그 시스템

Publications (1)

Publication Number Publication Date
KR20190050230A true KR20190050230A (ko) 2019-05-10

Family

ID=66580752

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170145553A KR20190050230A (ko) 2017-11-02 2017-11-02 피쳐 영향 판단 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR20190050230A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102128852B1 (ko) * 2020-03-30 2020-07-01 (주)위세아이텍 텍스트 데이터에서 생성한 단어 벡터에 주성분 분석을 적용하여 추출한 피처의 주요 단어 시각화 장치 및 방법

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
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.
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.
Peng L, Bian XW, Li DK, Xu C, Wang GM, Xia QY, Xiong Q.
Scientific Reports (2015)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102128852B1 (ko) * 2020-03-30 2020-07-01 (주)위세아이텍 텍스트 데이터에서 생성한 단어 벡터에 주성분 분석을 적용하여 추출한 피처의 주요 단어 시각화 장치 및 방법

Similar Documents

Publication Publication Date Title
Yan et al. Groupinn: Grouping-based interpretable neural network for classification of limited, noisy brain data
Shukri et al. Evolutionary static and dynamic clustering algorithms based on multi-verse optimizer
Mu et al. Classification under streaming emerging new classes: A solution using completely-random trees
Manivannan et al. Dengue fever prediction using K-means clustering algorithm
Wahid et al. NaNOD: A natural neighbour-based outlier detection algorithm
Lee et al. Network dependence testing via diffusion maps and distance-based correlations
Kalra A survey on machine learning techniques in health care industry.
Jearanaiwongkul et al. An ontology-based approach to plant disease identification system
Sathyan et al. Interpretable AI for bio-medical applications
Zubi et al. Using data mining techniques to analyze crime patterns in the libyan national crime data
Windarto et al. K-Means Algorithm with Rapidminer in Clustering School Participation Rate in Indonesia
Qadrini Handling Unbalanced Data With Smote Adaboost
Jiang et al. Concave 1-norm group selection
KR20190050230A (ko) 피쳐 영향 판단 방법 및 그 시스템
Ibragimova et al. Recognition algorithm models based on the selection of two-dimensional preference threshold functions
Srinivas et al. Hybrid Approach for Prediction of Cardiovascular Disease Using Class Association Rules and MLP.
US20130007019A1 (en) Logic operation system
Elezaj et al. Data-driven machine learning approach for predicting missing values in large data sets: A comparison study
Gharehchopogh et al. Automatic data clustering using farmland fertility metaheuristic algorithm
KR20190050229A (ko) 피쳐 영향 판단 방법 및 그 시스템
KR20220097215A (ko) 임베딩 정규화 방법 및 이를 이용한 전자 장치
Bintsi et al. A comparative study of population-graph construction methods and graph neural networks for brain age regression
Masood et al. Adaptive differential evolution based feature selection and parameter optimization for advised SVM classifier
Gupta et al. Fedclus: federated clustering from distributed homogeneous data
Shetty et al. Data Preprocessing and Finding Optimal Value of K for KNN Model