KR101924832B1 - 정점 분류 장치 및 정점 분류 방법 - Google Patents

정점 분류 장치 및 정점 분류 방법 Download PDF

Info

Publication number
KR101924832B1
KR101924832B1 KR1020160182358A KR20160182358A KR101924832B1 KR 101924832 B1 KR101924832 B1 KR 101924832B1 KR 1020160182358 A KR1020160182358 A KR 1020160182358A KR 20160182358 A KR20160182358 A KR 20160182358A KR 101924832 B1 KR101924832 B1 KR 101924832B1
Authority
KR
South Korea
Prior art keywords
weight matrix
vertices
reliability
updating
updated
Prior art date
Application number
KR1020160182358A
Other languages
English (en)
Other versions
KR20180077717A (ko
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 KR1020160182358A priority Critical patent/KR101924832B1/ko
Publication of KR20180077717A publication Critical patent/KR20180077717A/ko
Application granted granted Critical
Publication of KR101924832B1 publication Critical patent/KR101924832B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

정점 분류 방법이 개시된다. 정점 분류 방법은 (a) 정점들의 입력 데이터를 웨이트 행렬에 반영하여 산출되는 정점들의 신뢰도를 기반으로 웨이트 행렬을 업데이트하는 단계, (b) 정점들의 신뢰도를 업데이트된 웨이트 행렬에 반영하여 정점들의 신뢰도를 업데이트하는 단계 및 (c) 업데이트된 정점들의 신뢰도를 기준으로 정점들을 분류하는 단계를 포함한다.

Description

정점 분류 장치 및 정점 분류 방법{APPARATUS AND METHOD FOR CLASSIFYING NODES}
본 발명은 정점 분류 장치 및 정점 분류 방법에 관한 것으로, 보다 상세하게는 확률 기반 그래프 모델에서 정점의 신뢰도를 산출하여 정점을 분류하는 정점 분류 장치 및 정점 분류 방법에 관한 것이다.
정점 분류 방법은 정점과 간선으로 이루어진 그래프 형태의 데이터가 주어졌을 때, 초기 상태가 알려지지 않은 정점을 여러 상태 중 하나로 분류하기 위한 방법이다. 여기서, 상태는 모든 정점이 공유하는 이산 변수이며 가능한 상태의 집합은 그래프와 함께 입력될 수 있다. 정점 중 초기 상태가 알려진 정점이 관찰 정점이며, 정점 분류 알고리즘은 그래프의 구조를 이용하여 관찰 정점으로부터 비관찰 정점으로 주어진 정보를 전파시킬 수 있다.
신뢰 전파 알고리즘은 정점 분류 알고리즘 중 하나이며, 간선으로 연결된 두 정점이 동일한 상태를 가지는 경향이 높을 때, 이를 이용하여 그래프 내의 일부 정점에 대한 초기 정보를 그래프 전체로 전파시킨다. 신뢰 전파 알고리즘에서 모든 간선의 전파도가 동일하며 전파 인자라는 변수에 의해 전파도가 결정된다. 따라서, 전파 인자가 큰 경우 간선으로 연결된 정점이 같은 상태를 가질 확률이 높아지므로 전파력이 강해지고, 전파 인자가 작은 경우 간선으로 연결된 정점이 같은 상태를 가질 확률이 낮아지므로 전파력이 약해진다.
다만, 종래의 신뢰 전파 알고리즘은 전파 인자를 결정하는 방법이 없어서 교차 타당화 방법을 이용하였으며, 교차 타당화 방법은 인자의 개수에 지수적으로 비례하는 시간 복잡도로 인하여 각 간선이 서로 다른 특성을 지니는 복잡한 그래프에는 적용될 수 없는 문제가 있었다.
본 발명의 목적은 웨이트 행렬의 업데이트를 통하여 정점들의 신뢰도를 산출하여 복잡한 그래프에도 이용할 수 있는 정점 분류 장치 및 정점 분류 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 정점 분류 방법은, (a) 정점들의 입력 데이터를 웨이트 행렬에 반영하여 산출되는 정점들의 신뢰도를 기반으로 상기 웨이트 행렬을 업데이트하는 단계, (b) 상기 정점들의 신뢰도를 업데이트된 웨이트 행렬에 반영하여 상기 정점들의 신뢰도를 업데이트하는 단계 및 (c) 업데이트된 정점들의 신뢰도를 기준으로 상기 정점들을 분류하는 단계를 포함한다.
여기서, 상기 웨이트 행렬을 업데이트하는 단계는, 상기 정점들의 신뢰도, 상기 정점들을 연결하는 간선에 할당되는 메시지 및 상기 웨이트 행렬의 최대 크기를 결정하는 균일화 인자를 기반으로 비용 함수의 기울기를 산출하는 단계 및 산출된 비용 함수의 기울기 및 상기 웨이트 행렬의 업데이트 횟수를 결정하는 스텝 크기를 이용하여 상기 웨이트 행렬을 업데이트하는 단계를 포함할 수 있다.
여기서, 상기 메시지는, 상기 정점들을 연결하는 간선의 피처 벡터 및 상기 웨이트 행렬로 구성되는 전파 함수와 상기 정점들의 신뢰도를 기반으로 산출될 수 있다.
또한, 상기 웨이트 행렬을 업데이트하는 단계는, 상기 웨이트 행렬에서 상기 비용 함수의 기울기에 상기 스텝 크기를 곱한 값을 뺀 값으로 상기 웨이트 행렬을 업데이트할 수 있다.
또한, 상기 (a) 단계 및 상기 (b) 단계는, 상기 웨이트 행렬이 수렴할 때까지 반복하여 수행될 수 있다.
또한, 상기 정점들을 분류하는 단계는, 상기 업데이트된 정점의 신뢰도가 기설정된 값 이상인 정점을 선별할 수 있다.
한편, 본 발명의 일 실시 예에 따른 정점 분류 장치는, 정점들의 입력 데이터를 웨이트 행렬에 반영하여 산출되는 정점들의 신뢰도를 기반으로 상기 웨이트 행렬을 업데이트하는 웨이트 행렬 업데이트부, 상기 정점들의 신뢰도를 업데이트된 웨이트 행렬에 반영하여 상기 정점들의 신뢰도를 업데이트하는 신뢰도 업데이트부 및 업데이트된 정점들의 신뢰도를 기준으로 상기 정점들을 분류하는 정점 분류부를 포함한다.
여기서, 상기 웨이트 행렬 업데이트부는, 상기 정점들의 신뢰도, 상기 정점들을 연결하는 간선에 할당되는 메시지 및 상기 웨이트 행렬의 최대 크기를 결정하는 균일화 인자를 기반으로 비용 함수의 기울기를 산출하고, 산출된 비용 함수의 기울기 및 상기 웨이트 행렬의 업데이트 횟수를 결정하는 스텝 크기를 이용하여 상기 웨이트 행렬을 업데이트할 수 있다.
여기서, 상기 메시지는, 상기 정점들을 연결하는 간선의 피처 벡터 및 상기 웨이트 행렬로 구성되는 전파 함수와 상기 정점들의 신뢰도를 기반으로 산출될 수 있다.
또한, 상기 웨이트 행렬 업데이트부는, 상기 웨이트 행렬에서 상기 비용 함수의 기울기에 상기 스텝 크기를 곱한 값을 뺀 값으로 상기 웨이트 행렬을 업데이트할 수 있다.
또한, 상기 웨이트 행렬 업데이트부 및 상기 신뢰도 업데이트부는, 상기 웨이트 행렬이 수렴할 때까지 웨이트 행렬 업데이트 및 신뢰도 업데이트를 반복하여 수행할 수 있다.
또한, 상기 정점 분류부는, 상기 업데이트된 정점의 신뢰도가 기설정된 값 이상인 정점을 선별할 수 있다.
한편, 본 발명의 일 실시 예에 따른 컴퓨터가 읽을 수 있는 기록 매체는, (a) 정점들의 입력 데이터를 웨이트 행렬에 반영하여 산출되는 정점들의 신뢰도를 기반으로 상기 웨이트 행렬을 업데이트하는 단계, (b) 상기 정점들의 신뢰도를 업데이트된 웨이트 행렬에 반영하여 상기 정점들의 신뢰도를 업데이트하는 단계 및 (c) 업데이트된 정점들의 신뢰도를 기준으로 상기 정점들을 분류하는 단계를 포함하는 정점 분류 방법을 수행하기 위한 프로그램을 기록한다.
이상 설명한 바와 같이 본 발명의 다양한 실시 예에 따르면 웨이트 행렬의 업데이트를 통하여 정점들의 신뢰도를 산출하여, 복잡한 그래프에서도 좀 더 정확하게 정점 분류를 수행할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 정점 분류 장치의 구성을 나타내는 블럭도이다.
도 2는 본 발명의 일 실시 예에 따른 정점 분류 방법을 나타내는 흐름도이다.
도 3은 본 발명의 일 실시 예에 따른 정점 분류 방법이 반복된 후 웨이트 행렬의 결과값을 나타내는 도면이다.
도 4는 본 발명의 일 실시 예에 따른 정점 분류 방법의 결과값을 다른 정점 분류 방법의 결과값과 비교한 도면이다.
본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.
한편, 본 명세서 전체에서 사용되는 '~부', '~기', '~블록', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~기', '~블록', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~기', '~블록', '~모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부', '~기', '~블록', '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부', '~기', '~블록', '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부', '~기', '~블록', '~모듈'들로 결합되거나 추가적인 구성요소들과 '~부', '~기', '~블록', '~모듈'들로 더 분리될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 정점 분류 장치를 나타내는 블럭도이다.
도 1을 참조하면, 정점 분류 장치(100)는 웨이트 행렬 업데이트부(110), 신뢰도 업데이트부(120) 및 정점 분류부(130)를 포함한다.
웨이트 행렬 업데이트부(110)는 정점들의 신뢰도를 기반으로 웨이트 행렬을 업데이트한다. 여기서, 각 정점에는 신뢰도가 부여될 수 있으며, 간선은 정점 사이를 연결한 선으로, 정점 간의 관계를 나타낼 수 있다. 일 예로, 본 발명에 따른 정점 분류 방법이 논문 추천 방법에 적용되는 경우, 각 논문을 정점으로 나타낼 수 있으며, 각 논문 간의 관계를 간선으로 나타낼 수 있다. 여기서, 신뢰도는 각 논문의 선호도 등이 될 수 있다. 다른 예로, 본 발명에 따른 정점 분류 방법이 영화 추천 방법에 적용되는 경우, 각 영화는 정점, 각 영화 간의 관계는 간선으로 나타낼 수 있고, 각 영화의 선호도를 신뢰도로 나타낼 수 있다. 여기서, 선호도는 특정 사용자가 해당 영화에 부여한 평점이 될 수 있다. 다만, 이에 한정되는 것은 아니며, 각 정점 및 간선은 다양한 실시 예에 따라 다양한 방법으로 설정될 수 있다.
정점들의 신뢰도는 정점들의 입력 데이터를 웨이트 행렬에 반영하여 산출될 수 있다. 구체적으로, 웨이트 행렬 업데이트부(110)는 정점들의 신뢰도, 정점들을 연결하는 간선에 할당되는 메시지 및 웨이트 행렬의 최대 크기를 결정하는 균일화 인자를 기반으로 비용 함수(cost function)의 기울기를 산출하고, 산출된 비용 함수의 기울기 및 웨이트 행렬의 업데이트 횟수를 결정하는 스텝 크기를 이용하여 웨이트 행렬을 업데이트할 수 있다. 여기서, 메시지는 정점들을 연결하는 간선의 피처 벡터 및 웨이트 행렬로 구성되는 전파 함수와 정점들의 신뢰도를 기반으로 산출될 수 있다.
예를 들어, 정점 분류 방법을 영화 추천 방법에 적용하는 경우, 영화 장르나 영화감독 등을 기준으로 간선의 피처 벡터를 생성할 수 있으며, 사용자가 일부 영화에 평점을 부여하면, 정점 분류 알고리즘을 수행하여, 모든 영화에 대한 해당 사용자의 영화 선호도를 설정할 수 있으며, 이에 따라 영화를 추천할 수 있다. 구체적으로, 사용자가 평점을 부여한 영화에 대응되는 정점에 사용자가 부여한 평점에 따른 신뢰도를 부여하고, 각 간선의 피처 벡터 및 웨이트 행렬을 기반으로 신뢰도가 부여된 일부 정점의 신뢰도를 전파하여, 모든 정점에 대한 신뢰도를 산출할 수 있다. 이 경우, 피처 벡터 및 웨이트 행렬은 반복적으로 업데이트될 수 있으며, 업데이트된 웨이트 행렬에 대응하여 정점들의 신뢰도를 업데이트할 수 있다. 이후, 웨이트 행렬이 수렴될 때까지 웨이트 행렬 및 신뢰도의 업데이트를 반복하여 수행한 후, 수렴된 웨이트 행렬을 이용하여 산출된 정점들의 신뢰도를 이용하여 정점들을 분류할 수 있다. 예를 들어, 정점들의 신뢰도(즉, 사용자의 영화 선호도)가 3 이상인 정점(영화)들을 선별하여, 사용자에게 추천하는 서비스를 제공할 수 있다.
이하, 구체적인 수학식을 이용하여 웨이트 행렬 업데이트부(110)가 웨이트 행렬을 업데이트하는 방법을 설명한다.
우선, 웨이트 행렬 업데이트부(110)는 정점들의 입력 데이터를 웨이트 행렬에 반영하여 일부 정점들의 신뢰도를 산출할 수 있으며, 웨이트 행렬은 정점들의 입력 데이터에 기초하여 임의로 설정될 수 있다. 웨이트 행렬 업데이트부(110)는 아래의 수학식 1을 이용하여 각 간선의 전파 인자를 산출할 수 있다.
Figure 112016129078222-pat00001
여기서,
Figure 112016129078222-pat00002
는 웨이트 벡터,
Figure 112016129078222-pat00003
는 피처 벡터,
Figure 112016129078222-pat00004
는 상수 벡터이다.
즉, 전파 인자는 웨이트 벡터 및 피처 벡터에 의하여 결정될 수 있으며, 웨이트 벡터 및 피처 벡터는 초기에 임의로 설정될 수 있으며, 정점 분류 알고리즘이 수행됨에 따라 업데이트될 수 있다. 상기 수학식 1을 이용하여, k가 1, 2, 3, 4일 때의 값으로부터 전파 인자
Figure 112016129078222-pat00005
,
Figure 112016129078222-pat00006
,
Figure 112016129078222-pat00007
,
Figure 112016129078222-pat00008
를 산출할 수 있다.
이후, 웨이트 행렬 업데이트부(110)는 산출된 전파 인자를 이용하여, 각 간선에 할당되는 메시지를 산출할 수 있다. 구체적으로, 아래의 수학식 2를 이용하여, 산출된 전파 인자
Figure 112016129078222-pat00009
,
Figure 112016129078222-pat00010
,
Figure 112016129078222-pat00011
,
Figure 112016129078222-pat00012
와 정점의 신뢰도를 적용하여 메시지를 산출할 수 있다.
Figure 112016129078222-pat00013
여기서,
Figure 112016129078222-pat00014
Figure 112016129078222-pat00015
은 메시지,
Figure 112016129078222-pat00016
는 정점의 신뢰도,
Figure 112016129078222-pat00017
,
Figure 112016129078222-pat00018
,
Figure 112016129078222-pat00019
,
Figure 112016129078222-pat00020
는 전파 인자이다.
웨이트 행렬 업데이트부(110)는 전파 인자, 정점의 신뢰도 및 메시지를 이용하여, 비용 함수의 기울기를 산출할 수 있다. 우선, 아래의 수학식 3을 이용하여 메시지를 웨이트 행렬에 대하여 미분한 값을 산출할 수 있다.
Figure 112016129078222-pat00021
여기서,
Figure 112016129078222-pat00022
는 아래의 수학식 4 및 5에 의해 도출될 수 있다. 구체적으로, 아래의 수학식 4를 이용하여 z 값을 산출하고, 산출된 z 값을 수학식 4에 대입하여
Figure 112016129078222-pat00023
를 산출할 수 있다.
Figure 112016129078222-pat00024
Figure 112016129078222-pat00025
여기서,
Figure 112016129078222-pat00026
는 정점의 신뢰도,
Figure 112016129078222-pat00027
Figure 112016129078222-pat00028
는 메시지이고,
Figure 112016129078222-pat00029
,
Figure 112016129078222-pat00030
,
Figure 112016129078222-pat00031
,
Figure 112016129078222-pat00032
는 전파 인자이다.
또한,
Figure 112016129078222-pat00033
는 아래의 수학식 6 및 7을 이용하여 도출할 수 있다. 구체적으로, 아래의 수학식 7을 이용하여 z, k, k', k1, k2, k3, k4 값을 산출하고, 산출된 z, k, k', k1, k2, k3, k4 값을 아래의 수학식 6에 대입하여,
Figure 112016129078222-pat00034
를 산출할 수 있다.
Figure 112016129078222-pat00035
Figure 112016129078222-pat00036
여기서,
Figure 112016129078222-pat00037
는 정점의 신뢰도,
Figure 112016129078222-pat00038
Figure 112016129078222-pat00039
는 메시지이고,
Figure 112016129078222-pat00040
,
Figure 112016129078222-pat00041
,
Figure 112016129078222-pat00042
,
Figure 112016129078222-pat00043
는 전파 인자이다.
또한,
Figure 112016129078222-pat00044
Figure 112016129078222-pat00045
Figure 112016129078222-pat00046
의 시그모이드(sigmoid) 함수이므로
Figure 112016129078222-pat00047
Figure 112016129078222-pat00048
에 대하여 미분하여 산출할 수 있으며,
Figure 112016129078222-pat00049
Figure 112016129078222-pat00050
Figure 112016129078222-pat00051
에 대하여 미분하여 재귀적으로(recursive) 산출할 수 있다.
웨이트 행렬 업데이트부(110)는 상기와 같은 방법으로,
Figure 112016129078222-pat00052
,
Figure 112016129078222-pat00053
,
Figure 112016129078222-pat00054
,
Figure 112016129078222-pat00055
를 각각 산출한 후, 상기 수학식 3에 대입하여,
Figure 112016129078222-pat00056
를 산출할 수 있다.
이후, 웨이트 행렬 업데이트부(110)는 아래의 수학식 8을 이용하여
Figure 112016129078222-pat00057
를 산출할 수 있다.
Figure 112016129078222-pat00058
여기서,
Figure 112016129078222-pat00059
는 정점의 신뢰도,
Figure 112016129078222-pat00060
는 메시지이다.
이후, 웨이트 행렬 업데이트부(110)는 산출된
Figure 112016129078222-pat00061
Figure 112016129078222-pat00062
를 아래의 수학식 9에 적용하여, 신뢰도를 웨이트 행렬에 대하여 미분한 값을 산출할 수 있다.
Figure 112016129078222-pat00063
이후, 웨이트 행렬 업데이트부(110)는 신뢰도를 웨이트 행렬에 대하여 미분한 값을 아래의 수학식 10에 적용하여, 비용 함수의 기울기(비용 함수를 웨이트 행렬에 대하여 미분한 값)를 산출할 수 있다.
Figure 112016129078222-pat00064
여기서, λ는 균일화 인자, x는 bn-bp 이다. 균일화 인자는 웨이트 행렬의 최대 크기를 결정하는 값으로, 결과의 과적합을 방지하고 웨이트 행렬이 지나치게 많이 업데이트되는 것을 방지할 수 있다.
비용 함수는 아래의 수학식 11과 같이 나타낼 수 있으며, 비용 함수를 웨이트 행렬에 대하여 미분하면 상기와 같은 수학식 10이 도출될 수 있다.
Figure 112016129078222-pat00065
여기서, λ는 균일화 인자,
Figure 112016129078222-pat00066
는 웨이트 행렬이고, h(x) 함수는 아래의 수학식 12와 같다.
Figure 112016129078222-pat00067
여기서, x는 bn-bp, d는 상수이다.
웨이트 행렬 업데이트부(110)는 비용 함수의 기울기가 산출되면, 웨이트 행렬에서 비용 함수의 기울기에 스텝 크기를 곱한 값을 뺀 값으로 웨이트 행렬을 업데이트할 수 있다. 즉, 웨이트 행렬은 아래의 수학식 13과 같이 업데이트될 수 있다.
Figure 112016129078222-pat00068
여기서,
Figure 112016129078222-pat00069
는 웨이트 행렬, α는 스텝 크기,
Figure 112016129078222-pat00070
는 비용 함수의 기울기이다. 스텝 크기는 웨이트 행렬의 업데이트 횟수를 결정하는 값으로, 정점의 입력 데이터에 따라 적절한 값을 선택할 수 있다.
웨이트 행렬 업데이트부(110)는 웨이트 행렬이 수렴할 때까지 웨이트 행렬 업데이트를 반복하여 수행할 수 있다.
신뢰도 업데이트부(120)는 정점들의 신뢰도를 업데이트된 웨이트 행렬에 반영하여 상기 정점들의 신뢰도를 업데이트한다. 구체적으로, 업데이트된 웨이트 행렬 및 간선의 피처 벡터를 이용하여 메시지를 산출하고, 메시지가 수렴할 때까지 메시지 업데이트를 반복 수행하여 정점들의 신뢰도를 업데이트할 수 있다.
신뢰도 업데이트부(120)는 웨이트 행렬이 수렴할 때까지 신뢰도 업데이트를 반복하여 수행할 수 있다.
정점 분류부(130)는 업데이트된 정점들의 신뢰도를 기준으로 정점들을 분류할 수 있다. 또한, 정점 분류부(130)는 웨이트 행렬 업데이트부(110) 및 신뢰도 업데이트부(120)에서 웨이트 행렬이 수렴할 때까지 웨이트 행렬 및 신뢰도가 업데이트된 후, 정점들의 업데이트된 신뢰도를 기준으로 정점들을 분류할 수 있다. 일 예로, 정점 분류부(130)는 업데이트된 정점의 신뢰도가 기설정된 값 이상인 정점을 선별할 수 있다. 다만, 이에 한정되는 것은 아니며, 정점 분류부(130)는 AUC, MAP 등 다양한 방식으로 정점을 분류할 수 있다.
이상 설명한 바와 같이 본 발명의 다양한 실시 예에 따르면 웨이트 행렬의 업데이트를 통하여 정점들의 신뢰도를 산출하여, 복잡한 그래프에서도 좀 더 정확하게 정점 분류를 수행할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 정점 분류 방법을 나타내는 흐름도이다.
도 2를 참조하면, 우선, 정점들의 신뢰도를 기반으로 웨이트 행렬을 업데이트한다(S210). 여기서, 정점들의 신뢰도는 정점들의 입력 데이터를 웨이트 행렬에 반영하여 산출될 수 있다. 구체적으로, 정점들의 신뢰도, 정점들을 연결하는 간선에 할당되는 메시지 및 웨이트 행렬의 최대 크기를 결정하는 균일화 인자를 기반으로 비용 함수의 기울기를 산출한 후, 산출된 비용 함수의 기울기 및 웨이트 행렬의 업데이트 횟수를 결정하는 스텝 크기를 이용하여 웨이트 행렬을 업데이트할 수 있다. 여기서, 메시지는 정점들을 연결하는 간선의 피처 벡터 및 웨이트 행렬로 구성되는 전파 함수와 정점들의 신뢰도를 기반으로 산출될 수 있다.
이어서, 정점들의 신뢰도를 업데이트된 웨이트 행렬에 반영하여 정점들의 신뢰도를 업데이트한다(S220). 정점들의 신뢰도가 업데이트된 후, 업데이트된 정점들의 신뢰도를 이용하여 웨이트 행렬을 업데이트할 수 있으며, 웨이트 행렬이 수렴할 때까지 정점들의 신뢰도 및 웨이트 행렬의 업데이트를 수행할 수 있다.
이어서, 업데이트된 정점들의 신뢰도를 기준으로 정점들을 분류한다(S230). 일 예로, 업데이트된 정점의 신뢰도가 기설정된 값 이상인 정점을 선별할 수 있다. 다만, 이에 한정되는 것은 아니며, AUC, MAP 등 다양한 방식으로 정점을 분류할 수 있다.
또한, 전술한 본 발명의 실시 예에 따른 정점 분류 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장 장치 등이 있다.
도 3은 본 발명의 일 실시 예에 따른 정점 분류 방법이 반복된 후 웨이트 행렬의 결과값을 나타내는 도면이다. 도 3을 참조하면, 본 발명의 일 실시 예에 따른 정점 분류 방법을 일정 횟수 이상 반복 수행하는 경우, 웨이트 행렬이 수렴하는 것을 볼 수 있다.
또한, 도 4를 참조하면, 본 발명의 일 실시 예에 따른 정점 분류 방법(도 4에서 SBP)은 다른 정점 분류 방법보다 좋은 성능(best performance)이 나타남을 확인할 수 있다.
이상의 실시 예들은 본 발명의 이해를 돕기 위하여 제시된 것으로, 본 발명의 범위를 제한하지 않으며, 이로부터 다양한 변형 가능한 실시 예들도 본 발명의 범위에 속할 수 있음을 이해하여야 한다. 예를 들어, 본 발명의 실시 예에 도시된 각 구성 요소는 분산되어 실시될 수도 있으며, 반대로 여러 개로 분산된 구성 요소들은 결합되어 실시될 수 있다. 따라서, 본 발명의 기술적 보호범위는 특허청구범위의 기술적 사상에 의해 정해져야 할 것이며, 본 발명의 기술적 보호범위는 특허청구범위의 문언적 기재 그 자체로 한정되는 것이 아니라 실질적으로는 기술적 가치가 균등한 범주의 발명에 대하여까지 미치는 것임을 이해하여야 한다.
100: 정점 분류 장치 110: 웨이트 행렬 업데이트부
120: 신뢰도 업데이트부 130: 정점 분류부

Claims (13)

  1. (a) 정점들의 입력 데이터를 웨이트 행렬에 반영하여 산출되는 정점들의 신뢰도를 기반으로 상기 웨이트 행렬을 업데이트하는 단계;
    (b) 상기 정점들의 신뢰도를 업데이트된 웨이트 행렬에 반영하여 상기 정점들의 신뢰도를 업데이트하는 단계; 및
    (c) 업데이트된 정점들의 신뢰도를 기준으로 상기 정점들을 분류하는 단계;를 포함하되,
    상기 웨이트 행렬을 업데이트하는 단계는,
    상기 정점들의 신뢰도, 상기 정점들을 연결하는 간선에 할당되는 메시지 및 상기 웨이트 행렬의 최대 크기를 결정하는 균일화 인자를 기반으로 비용 함수의 기울기를 산출하는 단계; 및
    산출된 비용 함수의 기울기 및 상기 웨이트 행렬의 업데이트 횟수를 결정하는 스텝 크기를 이용하여 상기 웨이트 행렬을 업데이트하는 단계;를 포함하는 정점 분류 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 메시지는,
    상기 정점들을 연결하는 간선의 피처 벡터 및 상기 웨이트 행렬로 구성되는 전파 함수와 상기 정점들의 신뢰도를 기반으로 산출되는 정점 분류 방법.
  4. 제1항에 있어서,
    상기 비용 함수의 기울기 및 스텝 크기를 이용하여 웨이트 행렬을 업데이트하는 단계는,
    상기 웨이트 행렬에서 상기 비용 함수의 기울기에 상기 스텝 크기를 곱한 값을 뺀 값으로 상기 웨이트 행렬을 업데이트하는 정점 분류 방법.
  5. 제1항에 있어서,
    상기 (a) 단계 및 상기 (b) 단계는, 상기 웨이트 행렬이 수렴할 때까지 반복하여 수행되는 정점 분류 방법.
  6. 제1항에 있어서,
    상기 정점들을 분류하는 단계는,
    상기 업데이트된 정점의 신뢰도가 기설정된 값 이상인 정점을 선별하는 정점 분류 방법.
  7. 정점들의 입력 데이터를 웨이트 행렬에 반영하여 산출되는 정점들의 신뢰도를 기반으로 상기 웨이트 행렬을 업데이트하는 웨이트 행렬 업데이트부;
    상기 정점들의 신뢰도를 업데이트된 웨이트 행렬에 반영하여 상기 정점들의 신뢰도를 업데이트하는 신뢰도 업데이트부; 및
    업데이트된 정점들의 신뢰도를 기준으로 상기 정점들을 분류하는 정점 분류부;를 포함하되,
    상기 웨이트 행렬 업데이트부는,
    상기 정점들의 신뢰도, 상기 정점들을 연결하는 간선에 할당되는 메시지 및 상기 웨이트 행렬의 최대 크기를 결정하는 균일화 인자를 기반으로 비용 함수의 기울기를 산출하고, 산출된 비용 함수의 기울기 및 상기 웨이트 행렬의 업데이트 횟수를 결정하는 스텝 크기를 이용하여 상기 웨이트 행렬을 업데이트하는 정점 분류 장치.
  8. 삭제
  9. 제7항에 있어서,
    상기 메시지는,
    상기 정점들을 연결하는 간선의 피처 벡터 및 상기 웨이트 행렬로 구성되는 전파 함수와 상기 정점들의 신뢰도를 기반으로 산출되는 정점 분류 장치.
  10. 제7항에 있어서,
    상기 웨이트 행렬 업데이트부는,
    상기 웨이트 행렬에서 상기 비용 함수의 기울기에 상기 스텝 크기를 곱한 값을 뺀 값으로 상기 웨이트 행렬을 업데이트하는 정점 분류 장치.
  11. 제7항에 있어서,
    상기 웨이트 행렬 업데이트부 및 상기 신뢰도 업데이트부는, 상기 웨이트 행렬이 수렴할 때까지 웨이트 행렬 업데이트 및 신뢰도 업데이트를 반복하여 수행하는 정점 분류 장치.
  12. 제7항에 있어서,
    상기 정점 분류부는,
    상기 업데이트된 정점의 신뢰도가 기설정된 값 이상인 정점을 선별하는 정점 분류 장치.
  13. 제1항, 제3항 내지 제6항 중 어느 한 항의 방법을 수행하기 위한 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록 매체.

KR1020160182358A 2016-12-29 2016-12-29 정점 분류 장치 및 정점 분류 방법 KR101924832B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160182358A KR101924832B1 (ko) 2016-12-29 2016-12-29 정점 분류 장치 및 정점 분류 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160182358A KR101924832B1 (ko) 2016-12-29 2016-12-29 정점 분류 장치 및 정점 분류 방법

Publications (2)

Publication Number Publication Date
KR20180077717A KR20180077717A (ko) 2018-07-09
KR101924832B1 true KR101924832B1 (ko) 2018-12-05

Family

ID=62919092

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160182358A KR101924832B1 (ko) 2016-12-29 2016-12-29 정점 분류 장치 및 정점 분류 방법

Country Status (1)

Country Link
KR (1) KR101924832B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116094943B (zh) * 2023-04-07 2023-06-06 湖南快乐阳光互动娱乐传媒有限公司 一种pcdn节点重要性排名方法、装置和设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015215826A (ja) * 2014-05-13 2015-12-03 富士通株式会社 グラフデータ演算方法、グラフデータ演算システムおよびグラフデータ演算プログラム
JP2016095568A (ja) * 2014-11-12 2016-05-26 Kddi株式会社 モデル構築装置及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101620659B1 (ko) * 2012-12-18 2016-05-13 한양대학교 산학협력단 협업 필터링을 위한 emd 기반 유사 사용자 선별 방법
JP6059594B2 (ja) * 2013-05-14 2017-01-11 日本電信電話株式会社 重み行列更新装置、その動作方法およびコンピュータプログラム
KR101572719B1 (ko) * 2013-09-06 2015-12-01 한양대학교 산학협력단 행렬 분해 기반 추천 방법을 위한 신뢰 네트워크를 이용하는 데이터 대치 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015215826A (ja) * 2014-05-13 2015-12-03 富士通株式会社 グラフデータ演算方法、グラフデータ演算システムおよびグラフデータ演算プログラム
JP2016095568A (ja) * 2014-11-12 2016-05-26 Kddi株式会社 モデル構築装置及びプログラム

Also Published As

Publication number Publication date
KR20180077717A (ko) 2018-07-09

Similar Documents

Publication Publication Date Title
Lundberg et al. An unexpected unity among methods for interpreting model predictions
US10552737B2 (en) Artificial neural network class-based pruning
JP6743934B2 (ja) 観測変数間の因果関係を推定するための方法、装置、およびシステム
US11514308B2 (en) Method and apparatus for machine learning
WO2018170454A2 (en) Using different data sources for a predictive model
CN111079780A (zh) 空间图卷积网络的训练方法、电子设备及存储介质
US11741101B2 (en) Estimating execution time for batch queries
WO2022252694A1 (zh) 神经网络优化方法及其装置
WO2022011553A1 (en) Feature interaction via edge search
US11468294B2 (en) Projecting images to a generative model based on gradient-free latent vector determination
US11003989B2 (en) Non-convex optimization by gradient-accelerated simulated annealing
KR101924832B1 (ko) 정점 분류 장치 및 정점 분류 방법
US20190073914A1 (en) Cognitive content laboratory
KR102534936B1 (ko) 영상 분류 장치 및 방법
CN108470251B (zh) 基于平均互信息的社区划分质量评价方法及系统
US20220284023A1 (en) Estimating computational cost for database queries
CN114489574B (zh) 一种基于svm的流处理框架的自动调优方法
CN110110736A (zh) 增量聚类方法和装置
CN111539517A (zh) 基于图结构矩阵特征向量的图卷积神经网络生成方法
Bassett et al. Fused density estimation: theory and methods
Brockhoff et al. Using comparative preference statements in hypervolume-based interactive multiobjective optimization
Molka et al. Diversity guided evolutionary mining of hierarchical process models
US20220222265A1 (en) Insight expansion in smart data retention systems
KR102404983B1 (ko) 릿지 회귀를 이용한 변수 선택 장치 및 방법
KR20220085737A (ko) 룰셋 기반 데이터 자동 생성 및 분석 방법

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