KR102024819B1 - 부분 관찰되는 네트워크의 커뮤니티 검출 시스템 및 방법 - Google Patents

부분 관찰되는 네트워크의 커뮤니티 검출 시스템 및 방법 Download PDF

Info

Publication number
KR102024819B1
KR102024819B1 KR1020180025799A KR20180025799A KR102024819B1 KR 102024819 B1 KR102024819 B1 KR 102024819B1 KR 1020180025799 A KR1020180025799 A KR 1020180025799A KR 20180025799 A KR20180025799 A KR 20180025799A KR 102024819 B1 KR102024819 B1 KR 102024819B1
Authority
KR
South Korea
Prior art keywords
node
matrix
visible
missing
nodes
Prior art date
Application number
KR1020180025799A
Other languages
English (en)
Other versions
KR20190105358A (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 KR1020180025799A priority Critical patent/KR102024819B1/ko
Publication of KR20190105358A publication Critical patent/KR20190105358A/ko
Application granted granted Critical
Publication of KR102024819B1 publication Critical patent/KR102024819B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 다수의 노드가 서로 연결되어 커뮤니티를 구성하는 네트워크 환경을 대상으로, 데이터 수집 시 노드 또는 엣지 중 일부가 누락되어 있더라도 누락된 노드 중 대표되는 노드를 복구하는 것으로 보다 신뢰성 있게 커뮤니티를 검출할 수 있는 시스템 및 방법에 관한 기술로서, 다수의 노드(node)가 네트워크를 이루어 커뮤니티를 형성하는 네트워크 환경에서의 가시 노드 및 가시 노드의 엣지(edge)를 입력받는 입력부와, 가시 노드 및 가시 노드의 엣지를 이용하여 누락된 노드를 복구하는 복구부와, 기 설정된 로직을 이용하여 누락된 노드 중에서 주요 노드를 선별하는 선별부와, 가시 노드 및 주요 노드를 이용하여 네트워크 환경에서 커뮤니티를 추정하는 추정부를 포함하는 것을 특징으로 한다.

Description

부분 관찰되는 네트워크의 커뮤니티 검출 시스템 및 방법{SYSTEM AND METHOD FOR COMMUNITY DETECTION OF PARTIALLY OBSERVED NETWORKS}
본 발명은 부분 관찰되는 네트워크의 커뮤니티 검출 시스템 및 방법에 관한 것으로서, 보다 상세하게는 다수의 노드가 서로 연결되어 커뮤니티를 구성하는 네트워크 환경을 대상으로, 데이터 수집 시 노드 또는 엣지 중 일부가 누락되어 있더라도 누락된 노드 중 대표되는 노드를 복구하는 것으로 보다 신뢰성 있게 커뮤니티를 검출할 수 있는 시스템 및 방법에 관한 기술이다.
현대의 사회적 관계는 점차 복잡해지고 있으며, 사람들은 복잡한 사회적 관계에서 여러 가지 역할을 수행하고 있다. 이는 사람들이 여러 가지 형태의 관계로 얽혀있다는 것을 의미한다. 예를 들어, 사람은 직장 동료 관계, 공동 저자 관계, 페이스북 친구 관계, 동호회원 관계, 정치 모임 관계, 가족 관계 등의 다양한 측면의 커뮤니티를 맺고 살아간다.
그리고, 이러한 다양한 측면의 커뮤니티들은 일반적으로 다층 그래프(multi-layer graph)를 통해 모델링되고, 이때 각층에 해당하는 그래프는 여러 측면의 관계들 중 한 가지 측면의 관계를 나타낸다.
도 1을 참조하면, 네트워크 환경의 커뮤니티 검출과 관련하여, 종래기술1은 입력되는 데이터가 네트워크 환경 내 포함된 모든 노드 및 모든 노드의 에지를 포함하는 것을 전제로 하기 때문에 노드 및 엣지를 부분적으로만 관찰 가능한 네트워크 환경에서는 커뮤니티 검출 성능에 열화가 발생하게 된다.
한편, 종래기술1의 문제를 해결하기 위해 누락된 노드들을 복구하는 기술이 제안되었다. 도 2를 참조하면, 종래기술2는 종래기술1의 문제를 해결하기 위해 가시 노드를 바탕으로 누락된 노드를 추론한 후 가시 노드 및 모든 누락된 노드를 바탕으로 커뮤니티 검출을 실시한다. 그러나, 종래기술2와 같이 네트워크 환경 내 누락된 모든 노드를 복구하는 것은 추론 오차 때문에 오히려 성능 개선을 가져오지 못하여 종래기술1보다 더 나은 커뮤니티 검출을 수행할 수 없었다.
공개특허공보 제10-2017-0111268호
이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 다수의 노드가 서로 연결되어 커뮤니티를 구성하는 네트워크 환경을 대상으로, 데이터 수집 시 노드 또는 엣지 중 일부가 누락되어 있더라도 누락된 노드 중 대표되는 노드를 복구하는 것으로 보다 신뢰성 있게 커뮤니티를 검출할 수 있는 시스템 및 방법을 제공하기 위한 것이다.
상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 부분 관찰되는 네트워크의 커뮤니티 검출 시스템은, 다수의 노드(node)가 네트워크를 이루어 커뮤니티를 형성하는 네트워크 환경에서의 가시 노드 및 상기 가시 노드의 엣지(edge)를 입력받는 입력부와, 상기 가시 노드 및 상기 가시 노드의 엣지를 이용하여 누락된 노드를 복구하는 복구부와, 기 설정된 로직을 이용하여 상기 누락된 노드 중에서 주요 노드를 선별하는 선별부와, 상기 가시 노드 및 상기 주요 노드를 이용하여 네트워크 환경에서 커뮤니티를 추정하는 추정부를 포함하는 것을 특징으로 한다.
또한, 상기 복구부는 상기 가시 노드 및 상기 누락된 노드의 수에 대응되는 행렬을 생성하는 것을 특징으로 할 수 있다.
또한, 상기 기 설정된 로직은 상기 행렬 중 상기 누락된 노드에 해당되는 행 또는 열의 성분들을 합산한 후, 합산된 값이 기 설정된 기준 값 이상인 누락된 노드를 상기 주요 노드로 선별하는 것을 특징으로 할 수 있다.
또한, 상기 기 설정된 로직은 상기 행렬 중 상기 누락된 노드에 해당되는 영역을 대상으로 중심성(centrality)을 분석한 후, 기 설정된 범위 내에 포함되는 누락된 노드를 상기 주요 노드로 선별하는 것을 특징으로 할 수 있다.
또한, 상기 복구부는 크로네커(kronecker) 모델 및 기대-최대화 알고리즘(expectation-maximization algorithm)을 이용하여 상기 행렬을 생성하는 것을 특징으로 할 수 있다.
또한, 상기 복구부는 상기 가시 노드 및 상기 가시 노드의 엣지만을 이용하여 상기 가시 노드들의 연결 관계가 반영된 가시 행렬을 생성하고, 상기 가시 행렬과 기대-최대화 알고리즘을 이용하여 생성 파라미터 행렬 및 노드 순열 값을 획득하고, 상기 생성 파라미터 행렬을 복수 회 제곱하는 것으로 확률적 인접 행렬을 생성한 후, 상기 확률적 인접 행렬에 상기 가시 행렬의 정보를 반영하며, 상기 확률적 인접 행렬 중 상기 누락된 노드에 해당되는 영역에서 베르누이 시행을 실시하는 것으로 성공 사건 및 실패 사건을 도출하고, 상기 성공 사건에 해당되는 성분에는 1을 반영하고, 상기 실패 사건에 해당되는 성분에는 0을 반영하는 것으로 복구 행렬을 생성하는 것을 특징으로 할 수 있다.
또한, 상기 추정부는 비부정 행렬 인수분해(NMF, Non-negative Matrix Factorization)를 이용하여 커뮤니티를 추정하는 것을 특징으로 할 수 있다.
한편, 상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 부분 관찰되는 네트워크의 커뮤니티 검출 방법은, 입력부가 다수의 노드(node)가 네트워크를 이루어 커뮤니티를 형성하는 네트워크 환경에서의 가시 노드 및 상기 가시 노드의 엣지(edge)를 입력받는 단계와, 복구부가 상기 가시 노드 및 상기 가시 노드의 엣지를 이용하여 누락된 노드를 복구하는 단계와, 선별부가 기 설정된 로직을 이용하여 상기 누락된 노드 중에서 주요 노드를 선별하는 단계와, 추정부가 상기 가시 노드 및 상기 주요 노드를 이용하여 네트워크 환경에서 커뮤니티를 추정하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 복구부가 상기 가시 노드 및 상기 가시 노드의 엣지를 이용하여 누락된 노드를 복구하는 단계에서는, 상기 가시 노드 및 상기 누락된 노드의 수에 대응되는 행렬이 생성되는 것을 특징으로 할 수 있다.
또한, 상기 기 설정된 로직은 상기 행렬 중 상기 누락된 노드에 해당되는 행 또는 열의 성분들을 합산한 후, 합산된 값이 기 설정된 기준 값 이상인 누락된 노드를 상기 주요 노드로 선별하는 것을 특징으로 할 수 있다.
또한, 상기 기 설정된 로직은 상기 행렬 중 상기 누락된 노드에 해당되는 영역을 대상으로 중심성(centrality)을 분석한 후, 기 설정된 범위 내에 포함되는 누락된 노드를 상기 주요 노드로 선별하는 것을 특징으로 할 수 있다.
또한, 상기 행렬은 상기 복구부가 크로네커(kronecker) 모델 및 기대-최대화 알고리즘(expectation-maximization algorithm)을 이용하여 생성하는 것을 특징으로 할 수 있다.
또한, 상기 복구부가 상기 가시 노드 및 상기 가시 노드의 엣지를 이용하여 누락된 노드를 복구하는 단계는 상기 가시 노드 및 상기 가시 노드의 엣지를 이용하여 상기 가시 노드들의 연결 관계가 반영된 가시 행렬을 생성하는 단계; 상기 가시 행렬과 기대-최대화 알고리즘을 이용하여 생성 파라미터 행렬 및 노드 순열 값을 획득하는 단계와; 상기 생성 파라미터 행렬을 복수 회 제곱하는 것으로 확률적 인접 행렬을 생성하는 단계와; 상기 확률적 인접 행렬에 상기 가시 행렬의 정보를 반영하는 단계와; 상기 확률적 인접 행렬 중 상기 누락된 노드에 해당되는 영역에서 베르누이 시행을 실시하는 것으로 성공 사건 및 실패 사건을 도출하는 단계와; 상기 성공 사건에 해당되는 성분에는 1을 반영하고, 상기 실패 사건에 해당되는 성분에는 0을 반영하는 것으로 복구 행렬을 생성하는 단계를 포함하는 것을 특징으로 할 수 있다.
또한, 상기 추정부가 상기 가시 노드 및 상기 주요 노드를 이용하여 네트워크 환경에서 커뮤니티를 추정하는 단계는 비부정 행렬 인수분해(NMF, Non-negative Matrix Factorization)를 이용하여 커뮤니티를 추정하는 것을 특징으로 할 수 있다.
본 발명에 의한 위상 부분 관찰되는 네트워크의 커뮤니티 검출 시스템 및 방법에 따르면,
첫째, 본 발명은 개인 데이터 일부 노출, 일부 데이터만이 샘플링된 그래프 등 부분적으로 관찰이 가능한 다양한 네트워크 환경에서의 커뮤니티 검출에 적용될 수 있다. 예를 들어, 생물학적, 사회적, 기술적 네트워크를 포함한 다양한 복잡계 시스템에 적용 가능하다.
둘째, 누락된 노드 중 다수의 엣지가 있는 노드만을 선택적으로 이용하므로 종래보다 원형에 가까운 커뮤니티 검출이 가능하게 된다.
셋째, 가시 노드만을 이용하여 커뮤니티를 검출하는 방식과, 가시 노드 및 모든 누락된 노드를 이용하여 커뮤니티를 검출하는 방식과 일부 과정이 유사하므로 종래의 시스템을 대체하는 것으로 넓은 응용이 가능하다.
넷째, 부분적 데이터만을 가지고 필요한 정보를 추론하는 환경에 본 발명을 적용하는 것으로 활용이 가능하다.
도 1은 가시 노드만을 이용하여 커뮤니티를 검출하는 종래기술1의 프로세스를 나타내는 도면.
도 2는 가시 노드 및 복구된 모든 누락된 노드를 이용하여 커뮤니티를 검출하는 종래기술2의 프로세스를 나타내는 도면.
도 3은 본 발명의 일 실시예에 따른 부분 관찰되는 네트워크의 커뮤니티 검출 시스템의 구성도.
도 4는 본 발명의 일 실시예에 따른 부분 관찰되는 네트워크의 커뮤니티 검출 시스템 및 방법이 주요 노드를 도출한 후 커뮤니티를 검출하는 프로세스를 나타내는 도면.
도 5는 본 발명의 일 실시예에 따른 복구부가 복구 행렬을 생성하는 과정을 나타낸 예시 도면.
도 6은 본 발명의 일 실시예에 따른 선별부가 복구 행렬을 이용하여 주요 노드를 선별하는 과정을 나타낸 예시 도면.
도 7은 본 발명의 일 실시예에 따른 추정부를 통해 커뮤니티와 노드의 관계를 행렬로 나타낸 도면.
도 8은 본 발명의 일 실시예에 따른 부분 관찰되는 네트워크의 커뮤니티 검출 방법의 순서도.
도 9는 본 발명의 일 실시예에 따른 S120 단계의 세부 과정을 나타낸 순서도.
도 10 및 도 11은 본 발명의 일 실시예에 따른 부분 관찰되는 네트워크의 커뮤니티 검출 시스템 및 방법과, 종래기술1, 종래기술2를 동일한 조건 내에서 시험하였을 때의 성능 결과 비교 그래프.
첨부한 도면을 참조하여 본 발명의 실시예들에 의한 부분 관찰되는 네트워크의 커뮤니티 검출 시스템 및 방법에 대하여 상세히 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 일 실시예에 따른 부분 관찰되는 네트워크의 커뮤니티 검출 시스템(100)은 컴퓨터, 서버와 같은 컴퓨팅장치에 포함되어 그 기능을 수행하는 시스템으로서, 단일 컴퓨팅장치에 본 발명의 일 실시예가 포함되거나, 복수의 컴퓨팅장치가 통신 네트워크를 이용하여 유기적으로 연결된 환경에서 본 발명의 일 실시예가 상기 복수의 컴퓨팅 장치에 분산되는 것으로 실시될 수 있다.
도 3 및 도 4를 참조하면, 본 발명의 일 실시예에 따른 부분 관찰되는 네트워크의 커뮤니티 검출 시스템(100)은 다수의 노드(node)가 네트워크를 이루어 커뮤니티를 형성하는 네트워크 환경에서의 가시(可視) 노드 및 가시 노드의 엣지(edge)를 입력받는 입력부(110)와, 가시 노드 및 가시 노드의 엣지를 이용하여 누락된 노드를 복구하는 복구부(120)와, 기 설정된 로직을 이용하여 누락된 노드 중에서 주요 노드를 선별하는 선별부(140)와, 가시 노드 및 주요 노드를 이용하여 네트워크 환경에서 커뮤니티를 추정하는 추정부(160)를 포함한다.
네트워크 환경에는 사용자와 사용자 간에 친구 관계를 맺어 글, 사진, 동영상 등의 정보를 공유하는 소셜 네트워크, 신경회로망과 같은 생물학 네트워크 등이 포함될 수 있다.
이 실시예는 예로써 네트워크 환경이 소셜 네트워크인 것으로 가정하고 설명한다.
소셜 네트워크에서의 노드는 사용자가 되고, 엣지는 상기 사용자가 다른 사용자와 맺은 친구 관계 상태 또는 상기 친구 관계가 맺어진 개수가 된다. 즉, 엣지는 노드와 노드를 연결하는 링크인 것으로 이해될 수 있다. 노드는 0개 내지 다수 개의 엣지를 가질 수 있다.
노드에는 적어도 가시 노드와 누락된 노드가 포함된다. 이 실시예는 입력부(110)가 네트워크 환경에 대한 데이터 수집 시 수집되어지는 노드를 가시 노드라 하고, 실제 네트워크 환경 상에서는 존재하나 입력부(110)를 통해 수집되지 않는 노드를 누락된 노드로 이해한다.
복구부(120)는 누락된 노드를 복구하기 위한 과정으로서, 가시 노드 및 누락된 노드의 수에 대응되는 행렬을 생성한다. 즉, 행렬은 행과 열의 수가 가시 노드 및 누락된 노드의 수에 대응한다.
도 5를 참조하면, 복구부(120)는 크로네커(kronecker) 모델 및 기대-최대화 알고리즘(expectation-maximization algorithm)을 이용하여 행렬을 생성한다.
구체적으로, 복구부(120)는 가시 노드 및 가시 노드의 엣지만을 이용하여 가시 노드들의 연결 관계가 반영된 가시 행렬을 생성한다. 가시 행렬은 행과 열의 수가 가시 노드의 수와 동일한 정방행렬이다. 행렬을 구성하는 성분은 엣지를 의미한다. 예를 들어, 소셜 네트워크에서 제2사용자와 제3사용자가 친구관계를 맺고 있다면, [2, 3] 위치의 성분 값은 1이 된다. 친구관계가 맺어지지 않은 사용자 간에는 성분이 0이 된다.
또한, 복구부(120)는 상기 가시 행렬과 기대-최대화 알고리즘을 이용하여 생성 파라미터 행렬(Θ) 및 노드 순열(σ)의 값을 획득한다. 획득된 생성 파라미터 행렬은 2*2, 3*3, 5*5와 같은 정방행렬 형태를 갖는다. 또한, 생성 파라미터 행렬에 포함된 성분은 각각 확률을 나타내기 때문에 0 내지 1 사이의 값을 가진다.
또한, 복구부(120)는 크로네커 곱을 실시, 즉 지수 K 만큼 생성 파라미터 행렬(Θ)을 복수 회 제곱하는 것으로 확률적 인접 행렬을 생성한다. 생성 파라미터 행렬은 정방행렬이고, 확률적 인접 행렬은 지수 K 만큼 제곱되어 구해짐에 따라, 확률적 인접 행렬도 정방행렬이 된다.
확률적 인접 행렬의 행과 열의 수는 가시 노드 및 누락된 노드가 포함된 모든 노드의 개수 이상인 것이 바람직하다. 예를 들어, 모든 노드의 개수가 100개인 경우, 지수 K는 7 이상이 되어 생성된 확률적 인접 행렬의 행과 열의 수가 모든 노드의 수보다 많은 128개가 될 수 있다. 모든 노드의 수를 초과하는 행과 열의 범위는 이 단계 또는 이후의 단계에서 제거된다. 확률적 인접 행렬은 모든 노드들의 네트워크 연결 관계를 나타내기 위한 적합한 스케일의 행렬을 제공하는 테이블의 기능을 한다. 도 5의 실시예는 확률적 인접 행렬의 생성을 위해 지수 K가 3으로 설정 되었고, 생성 파라미터 행렬(Θ)을 3제곱 한 결과 8*8의 확률적 인접 행렬이 생성되었다.
또한, 복구부(120)는 확률적 인접 행렬에 가시 행렬의 정보를 반영한다. 도 5의 실시예에서는 가시 행렬이 6*6의 스케일을 가지는 것으로 실시되었다. 복구부(120)는 8*8 스케일의 확률적 인접 행렬 중 6*6에 해당되는 영역을 가시 행렬의 값으로 치환하였다.
또한, 복구부(120)는 확률적 인접 행렬 중 누락된 노드에 해당되는 영역(가시 행렬로 치환되지 않은 영역)에서 베르누이 시행(Bernoulli trial)을 실시하는 것으로 성공 사건 및 실패 사건을 도출한다. 베르누이 시행이 실시되기 전 누락된 노드의 범위에 해당되는 성분들은 각각 0 내지 1 사이의 값을 가진다. 베르누이 시행이 실시되는 것은 누락된 노드들의 연결 관계(엣지)를 추론하기 위한 것이다. 베르누이 시행은
Figure 112018022067909-pat00001
를 이용하는 것으로, 성공 사건 및 실패 사건을 도출한다. 이때, u는 행을 의미하고, v는 열을 의미한다. 베르누이 시행은 누락된 노드의 범위에 해당되는 성분을 대상으로 실시된다.
베르누이 시행의 실시 결과, 성공 사건으로 도출된 성분은 1로 치환되고, 실패 사건으로 도출된 성분은 0으로 치환된다.
이로써, 최종적으로 생성된 행렬은 행과 열의 스케일이 모든 노드의 수에 대응하고, 모든 성분은 0 또는 1의 값을 가지게 되는 복구 행렬이 된다. 복구 행렬은 가시 노드뿐만 아니라 누락된 노드의 연결 관계까지 포함하므로 누락된 노드의 엣지가 복구된 것이 된다.
도시된 바와 같이, 제7노드에 해당되는 7번째 행과 7번째 열의 성분은 서로 대칭되고, 제8노드에 해당되는 8번째 행과 8번째 열의 성분은 서로 대칭될 수 있다.
복구 행렬에 나타난 누락된 노드의 엣지는 실제 네트워크 환경에서의 엣지와 차이가 있다. 앞서 설명된 바와 같이, 복구 행렬의 누락된 노드는 가시 행렬로부터 생성 파라미터 행렬이 생성되고, 생성 파라미터 행렬을 복수 회 제곱하는 것으로 생성된 확률적 인접 행렬에서 베르누이 시행을 실시하는 것으로 도출된다. 즉, 복구 행렬에 나타난 누락된 노드의 엣지는 통계학적인 추론을 이용하여 도출되는 것이므로 오류가 존재할 가능성이 있다.
도 6을 참조하면, 선별부(140)는 기 설정된 로직을 이용하여 누락된 노드 중에서 주요 노드를 선별한다. 상기 누락된 노드는 복구부(120)가 복구하였던 누락된 노드이다.
기 설정된 로직은 적어도 두 가지의 방법이 될 수 있다.
제1실시예에 따른 기 설정된 로직은 복구 행렬 중 각 누락된 노드에 해당되는 행 또는 열의 성분들의 값을 합산한다. 각각의 누락된 노드에 대한 행 또는 열의 성분들의 값이 합산 완료되면, 합산된 값이 기 설정된 기준 값 이상인 누락된 노드를 주요 노드로 선별한다. 예를 들어, 도 6의 실시예는 기 설정된 기준 값(
Figure 112018022067909-pat00002
)이 2로 정의되고, 복구 행렬 중 누락된 노드에 해당되는 7번째 행과 8번째 행에 대하여 성분들 값의 합산이 실시되었다. 7번째 행은 [1, 7]과 [3, 7]의 성분이 1이므로 합산 결과는 2가 된다. 8번째 행은 [1, 8]의 성분만 1이므로 합산 결과는 1이 된다. 따라서, 7번째 행만 기 설정된 기준 값의 이상에 해당되므로, 7번째 행에 대응되는 누락된 노드(제7노드)만 주요 노드로 선택된다.
제2실시예에 따른 기 설정된 로직은 복구 행렬 중 누락된 노드에 해당되는 영역을 대상으로 중심성(centrality)을 분석한 후, 기 설정된 범위 내에 포함되는 누락된 노드를 주요 노드로 선별한다.
선별부(140)에서 주요 노드가 선택되면, 추정부(160)가 가시 노드 및 주요 노드를 이용하여 네트워크 환경에서 커뮤니티를 추정한다. 커뮤니티의 추정은 비부정 행렬 인수분해(NMF, Non-negative Matrix Factorization)가 이용될 수 있다.
도 7을 참조하면, 커뮤니티와 노드 사이의 관계는 행렬 F로 표기된다. u번째 노드에 커뮤니티 c에 속할 가능성은
Figure 112018022067909-pat00003
의 가중치를 갖는다.
예를 들어, 행렬 A가 100*100의 스케일을 가지고, 커뮤니티가 5개가 존재하는 경우, 100*100 행렬은 100*5행렬과 5*100행렬의 곱으로 구성된다. 이 행렬을 F라 할 때, F*F의 전이 행렬을 연산하면 A가 도출된다.
이 실시예에서, 행렬 A는 추론으로 도출된 상태이다. 행렬 A가 정확하지 않더라도 가시 노드 및 주요 노드로 구성된 80*80 행렬을 가지고 있다면, 상기 행렬은 (80*5)*(5*80)으로 구성된다는 것을 알고 있고, 80*5 행렬과 5*80 행렬은 대칭된다는 것을 알고 있으므로, 80*5 행렬만 추론을 실시한다.
80*5 행렬 찾아내는 것은 비부정 행렬 인수분해가 이용된다. 비부정 행렬 인수분해 기법을 이용하면, 5개의 커뮤니티 중 노드가 어느 커뮤니티에 소속되어있고, 중복되어 소속된 여부 등이 노드의 정보에 부여된다. 또한, 커뮤니티에 소속되지 않은 노드도 발견된다.
위에서 언급된 바와 같이, 누락된 노드의 엣지는 통계학적인 추론을 이용하여 도출되는 것이므로 오류가 존재할 가능성이 있다. 오류가 존재하는 누락된 노드를 커뮤니티 추정 시 모두 활용하면 오류가 누적되어 더 큰 오류를 발생시킨다. 또한, 커뮤니티 추정 시 누락된 노드를 완전히 배제하거나 소수의 누락된 노드만 이용하면 커뮤니티를 검출하는데 필요한 정보가 충분하지 않기 때문에 올바른 커뮤니티 구조를 추정할 수 없게 된다.
본 발명의 실시예에서 선별된 주요 노드는 다수의 엣지를 가지고 있으므로, 적은 수의 엣지를 가지는 누락된 노드보다 오류가 적을 것으로 기대할 수 있다. 또한, 일반적으로 다수의 엣지를 가지는 노드는 커뮤니티를 대표하는 기능을 가지게 되므로, 적은 수의 엣지를 가지는 누락된 노드를 모두 포함시켜 커뮤니티를 추정하는 것보다 높은 신뢰성을 가지게 된다. 예를 들어, 어느 한 전공학과를 하나의 커뮤니티라 가정할 때, 커뮤니티를 구성하는 것은 해당 전공학과에 소속된 모든 학생(노드)이지만, 커뮤니티 내 상당수의 학생들과 교류(엣지)하게 되는 학과대표만을 찾아 관찰하더라도 충분히 해당 커뮤니티의 성격을 추정하는 것이 가능하다. 이때, 적은 수의 엣지를 가지는 누락된 노드는 학과대표와 개인적인 친분이 있는 타 전공학과의 학생이 될 수 있으므로 오히려 커뮤니티 추정 시 유효한 노드로 포함시키는 것은 커뮤니티 추정 결과에 오류를 유발할 수 있다.
따라서, 본 발명의 일 실시예에 따른 가시 노드 및 주요 노드만으로 커뮤니티를 추정하는 방법은 종래에 가시 노드만을 이용하는 커뮤니티 추정 방법이나, 가시 노드 및 모든 누락된 노드를 이용하는 커뮤니티 추정 방법보다 높은 신뢰성을 가지는 커뮤니티 검출이 가능하게 된다.
이어서, 본 발명의 일 실시예에 따른 부분 관찰되는 네트워크의 커뮤니티 검출 방법을 설명한다.
도 4 및 도 8을 참조하면, 본 발명의 일 실시예에 따른 부분 관찰되는 네트워크의 커뮤니티 검출 방법은 입력부(110)가 다수의 노드(node)가 네트워크를 이루어 커뮤니티를 형성하는 네트워크 환경에서의 가시 노드 및 상기 가시 노드의 엣지(edge)를 입력받는 단계(S110)와, 복구부(120)가 가시 노드 및 상기 가시 노드의 엣지를 이용하여 누락된 노드를 복구하는 단계(S120)와, 선별부(140)가 기 설정된 로직을 이용하여 누락된 노드 중에서 주요 노드를 선별하는 단계(S140)와, 추정부(160)가 가시 노드 및 주요 노드를 이용하여 네트워크 환경에서 커뮤니티를 추정하는 단계(S160)를 포함하는 것을 특징으로 한다.
S120 단계는 가시 노드 및 누락된 노드의 수에 대응되는 행렬이 생성된다. 상기 행렬은 복구부(120)가 크로네커(kronecker) 모델 및 기대-최대화 알고리즘(expectation-maximization algorithm)을 이용하여 생성하는 것을 특징으로 한다.
도 6 및 도 9를 참조하면, S120 단계는 가시 노드 및 상기 가시 노드의 엣지를 이용하여 가시 노드들의 연결 관계가 반영된 가시 행렬을 생성하는 단계(S121)와, 가시 행렬과 기대-최대화 알고리즘을 이용하여 생성 파라미터 행렬 및 노드 순열 값을 획득하는 단계(S122)와, 생성 파라미터 행렬을 복수 회 제곱하는 것으로 확률적 인접 행렬을 생성하는 단계(S124)와, 확률적 인접 행렬에 가시 행렬의 정보를 반영하는 단계(S126)와, 확률적 인접 행렬 중 누락된 노드에 해당되는 영역에서 베르누이 시행을 실시하는 것으로 성공 사건 및 실패 사건을 도출하는 단계(S127)와, 성공 사건에 해당되는 성분에는 1을 반영하고, 실패 사건에 해당되는 성분에는 0을 반영하는 것으로 복구 행렬을 생성하는 단계(S128)를 포함한다.
S140 단계의 기 설정된 로직은 적어도 두 가지의 방법이 될 수 있다.
제1실시예에 따른 기 설정된 로직은 복구 행렬 중 누락된 노드에 해당되는 행 또는 열의 성분들을 합산한 후, 합산된 값이 기 설정된 기준 값 이상인 누락된 노드를 주요 노드로 선별한다.
제2실시예에 따른 기 설정된 로직은 복구 행렬 중 누락된 노드에 해당되는 영역을 대상으로 중심성(centrality)을 분석한 후, 기 설정된 범위 내에 포함되는 누락된 노드를 주요 노드로 선별한다.
S160 단계는 비부정 행렬 인수분해(NMF, Non-negative Matrix Factorization)를 이용하여 커뮤니티를 추정한다.
[시뮬레이션]
본 발명의 일 실시예에 따른 부분 관찰되는 네트워크의 커뮤니티 검출 시스템(100) 및 방법의 커뮤니티 검출 성능을 측정하기 위해 지상 진실(ground-truth) 커뮤니티가 레이블링된 데이터 세트를 대상으로 실험을 실시하였다. 아울러, 종래기술로도 동일한 조건에서 커뮤니티 검출을 실시하였다.
종래기술1은 가시 노드만을 이용하여 커뮤니티를 검출하는 방법이고, 종래기술2는 누락된 노드를 모두 이용하여 커뮤니티를 검출하는 방법이다.
커뮤니티 검출 성능의 측정을 위해 널리 이용되는 측정방식인 표준화된 상호 정보(NMI, Normalized Mutual Information)를 이용하였다.
도 10을 참조하면, 다섯 종류의 합성 데이터 세트를 대상으로 본 발명의 일 실시예와 종래기술1 및 종래기술2를 이용하여 커뮤니티 검출을 실시한 결과, 본 발명의 일 실시예가 현저히 높은 커뮤니티 검출 성능을 나타내었다.
또한, 도 11을 참조하면, 아마존(Amazon)과 DBLP의 실제 데이터 세트를 대상으로 본 발명의 일 실시예와 종래기술1 및 종래기술2를 이용하여 커뮤니티 검출을 실시한 결과에서도 본 발명의 일 실시예가 현저히 높은 커뮤니티 검출 성능을 나타내는 것으로 확인되었다.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 아래 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.
100 : 커뮤니티 검출 시스템 110 : 입력부
120 : 복구부 140 : 선별부
160 : 추정부

Claims (14)

  1. 다수의 노드(node)가 네트워크를 이루어 커뮤니티를 형성하는 네트워크 환경에서의 가시 노드 및 상기 가시 노드의 엣지(edge)를 입력받는 입력부와;
    상기 가시 노드 및 상기 가시 노드의 엣지를 이용하여 누락된 노드를 복구하는 복구부와;
    기 설정된 로직을 이용하여 상기 누락된 노드 중에서 주요 노드를 선별하는 선별부와;
    상기 가시 노드 및 상기 주요 노드를 이용하여 네트워크 환경에서 커뮤니티를 추정하는 추정부를 포함하는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 시스템.
  2. 제1항에 있어서,
    상기 복구부는 상기 가시 노드 및 상기 누락된 노드의 수에 대응되는 행렬을 생성하는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 시스템.
  3. 제2항에 있어서, 상기 기 설정된 로직은
    상기 행렬 중 상기 누락된 노드에 해당되는 행 또는 열의 성분들을 합산한 후, 합산된 값이 기 설정된 기준 값 이상인 누락된 노드를 상기 주요 노드로 선별하는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 시스템.
  4. 제2항에 있어서, 상기 기 설정된 로직은
    상기 행렬 중 상기 누락된 노드에 해당되는 영역을 대상으로 중심성(centrality)을 분석한 후, 기 설정된 범위 내에 포함되는 누락된 노드를 상기 주요 노드로 선별하는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 시스템.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 복구부는 크로네커(kronecker) 모델 및 기대-최대화 알고리즘(expectation-maximization algorithm)을 이용하여 상기 행렬을 생성하는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 시스템.
  6. 제5항에 있어서,
    상기 복구부는 상기 가시 노드 및 상기 가시 노드의 엣지만을 이용하여 상기 가시 노드들의 연결 관계가 반영된 가시 행렬을 생성하고,
    상기 가시 행렬과 기대-최대화 알고리즘을 이용하여 생성 파라미터 행렬 및 노드 순열 값을 획득하고,
    상기 생성 파라미터 행렬을 복수 회 제곱하는 것으로 확률적 인접 행렬을 생성한 후,
    상기 확률적 인접 행렬에 상기 가시 행렬의 정보를 반영하며,
    상기 확률적 인접 행렬 중 상기 누락된 노드에 해당되는 영역에서 베르누이 시행을 실시하는 것으로 성공 사건 및 실패 사건을 도출하고,
    상기 성공 사건에 해당되는 성분에는 1을 반영하고, 상기 실패 사건에 해당되는 성분에는 0을 반영하는 것으로 복구 행렬을 생성하는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 시스템.
  7. 제1항에 있어서,
    상기 추정부는 비부정 행렬 인수분해(NMF, Non-negative Matrix Factorization)를 이용하여 커뮤니티를 추정하는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 시스템.
  8. 입력부가 다수의 노드(node)가 네트워크를 이루어 커뮤니티를 형성하는 네트워크 환경에서의 가시 노드 및 상기 가시 노드의 엣지(edge)를 입력받는 단계와;
    복구부가 상기 가시 노드 및 상기 가시 노드의 엣지를 이용하여 누락된 노드를 복구하는 단계와;
    선별부가 기 설정된 로직을 이용하여 상기 누락된 노드 중에서 주요 노드를 선별하는 단계와;
    추정부가 상기 가시 노드 및 상기 주요 노드를 이용하여 네트워크 환경에서 커뮤니티를 추정하는 단계를 포함하는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 방법.
  9. 제8항에 있어서, 상기 복구부가 상기 가시 노드 및 상기 가시 노드의 엣지를 이용하여 누락된 노드를 복구하는 단계에서는,
    상기 가시 노드 및 상기 누락된 노드의 수에 대응되는 행렬이 생성되는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 방법.
  10. 제9항에 있어서, 상기 기 설정된 로직은
    상기 행렬 중 상기 누락된 노드에 해당되는 행 또는 열의 성분들을 합산한 후, 합산된 값이 기 설정된 기준 값 이상인 누락된 노드를 상기 주요 노드로 선별하는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 방법.
  11. 제9항에 있어서, 상기 기 설정된 로직은
    상기 행렬 중 상기 누락된 노드에 해당되는 영역을 대상으로 중심성(centrality)을 분석한 후, 기 설정된 범위 내에 포함되는 누락된 노드를 상기 주요 노드로 선별하는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 방법.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서,
    상기 행렬은 상기 복구부가 크로네커(kronecker) 모델 및 기대-최대화 알고리즘(expectation-maximization algorithm)을 이용하여 생성하는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 방법.
  13. 제12항에 있어서, 상기 복구부가 상기 가시 노드 및 상기 가시 노드의 엣지를 이용하여 누락된 노드를 복구하는 단계는
    상기 가시 노드 및 상기 가시 노드의 엣지를 이용하여 상기 가시 노드들의 연결 관계가 반영된 가시 행렬을 생성하는 단계; 상기 가시 행렬과 기대-최대화 알고리즘을 이용하여 생성 파라미터 행렬 및 노드 순열 값을 획득하는 단계와; 상기 생성 파라미터 행렬을 복수 회 제곱하는 것으로 확률적 인접 행렬을 생성하는 단계와; 상기 확률적 인접 행렬에 상기 가시 행렬의 정보를 반영하는 단계와; 상기 확률적 인접 행렬 중 상기 누락된 노드에 해당되는 영역에서 베르누이 시행을 실시하는 것으로 성공 사건 및 실패 사건을 도출하는 단계와; 상기 성공 사건에 해당되는 성분에는 1을 반영하고, 상기 실패 사건에 해당되는 성분에는 0을 반영하는 것으로 복구 행렬을 생성하는 단계를 포함하는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 방법.
  14. 제8항에 있어서, 상기 추정부가 상기 가시 노드 및 상기 주요 노드를 이용하여 네트워크 환경에서 커뮤니티를 추정하는 단계는
    비부정 행렬 인수분해(NMF, Non-negative Matrix Factorization)를 이용하여 커뮤니티를 추정하는 것을 특징으로 하는 부분 관찰되는 네트워크의 커뮤니티 검출 방법.
KR1020180025799A 2018-03-05 2018-03-05 부분 관찰되는 네트워크의 커뮤니티 검출 시스템 및 방법 KR102024819B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180025799A KR102024819B1 (ko) 2018-03-05 2018-03-05 부분 관찰되는 네트워크의 커뮤니티 검출 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180025799A KR102024819B1 (ko) 2018-03-05 2018-03-05 부분 관찰되는 네트워크의 커뮤니티 검출 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20190105358A KR20190105358A (ko) 2019-09-17
KR102024819B1 true KR102024819B1 (ko) 2019-09-24

Family

ID=68068870

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180025799A KR102024819B1 (ko) 2018-03-05 2018-03-05 부분 관찰되는 네트워크의 커뮤니티 검출 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102024819B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472690B1 (ko) 2013-12-30 2014-12-15 세종대학교산학협력단 복수의 그룹들로 분할된 무선 센서 네트워크를 복구하기 위한 릴레이 노드, 및 릴레이 노드의 동작 방법
KR101605654B1 (ko) 2014-12-01 2016-04-04 서울대학교산학협력단 쌍별 비교 데이터를 이용한 다중랭킹 추정 방법 및 장치
KR101800133B1 (ko) 2016-11-01 2017-11-22 이화여자대학교 산학협력단 분할된 네트워크를 위한 릴레이 노드의 이동 경로 결정 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140068650A (ko) * 2012-11-28 2014-06-09 삼성전자주식회사 중첩 커뮤니티 검출 방법
KR20170111268A (ko) 2016-03-25 2017-10-12 한국과학기술원 그래프 드로잉에 착안한 소셜 네트워크 커뮤니티 발견 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472690B1 (ko) 2013-12-30 2014-12-15 세종대학교산학협력단 복수의 그룹들로 분할된 무선 센서 네트워크를 복구하기 위한 릴레이 노드, 및 릴레이 노드의 동작 방법
KR101605654B1 (ko) 2014-12-01 2016-04-04 서울대학교산학협력단 쌍별 비교 데이터를 이용한 다중랭킹 추정 방법 및 장치
KR101800133B1 (ko) 2016-11-01 2017-11-22 이화여자대학교 산학협력단 분할된 네트워크를 위한 릴레이 노드의 이동 경로 결정 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Cong Tran 외 2인, ‘Community Detection in Partially Observable Social Networks’, arxiv (2017. 12. 30.)*

Also Published As

Publication number Publication date
KR20190105358A (ko) 2019-09-17

Similar Documents

Publication Publication Date Title
JP6898562B2 (ja) 機械学習プログラム、機械学習方法、および機械学習装置
Agaskar et al. A fast Monte Carlo algorithm for source localization on graphs
Takaffoli et al. Tracking changes in dynamic information networks
CN113032238B (zh) 基于应用知识图谱的实时根因分析方法
CN104220979A (zh) 时空压缩感知方法及装置
CN102870092A (zh) 用于在数据中心中确定应用依赖性路径的系统和方法
CN111342991B (zh) 基于跨社交网络的信息传播方法
Kim et al. Relational flexibility of network elements based on inconsistent community detection
CN115118621A (zh) 一种基于依赖关系图的微服务性能诊断方法及系统
CN110768856A (zh) 网络流测量的方法、网络测量设备以及控制面设备
Liu et al. Exploiting predicted answer in label aggregation to make better use of the crowd wisdom
Novotny et al. Locating faults in MANET-hosted software systems
Mahyar et al. CS-ComDet: A compressive sensing approach for inter-community detection in social networks
CN112968804B (zh) 一种基于容错哈密顿圈的数据中心网络故障诊断方法
KR102024819B1 (ko) 부분 관찰되는 네트워크의 커뮤니티 검출 시스템 및 방법
CN113569142A (zh) 一种基于全阶邻居覆盖策略的网络谣言溯源方法
Kapur et al. A unified scheme for developing software reliability growth models using stochastic differential equations
Hui Monte Carlo network reliability ranking estimation
Bao et al. Discriminating power of centrality measures in complex networks
CN117675230A (zh) 基于知识图谱的油井数据完整性识别方法
Altenburger et al. Which node attribute prediction task are we solving? within-network, across-network, or across-layer tasks
Qazi et al. A novel compressed sensing technique for traffic matrix estimation of software defined cloud networks
Crawford Hidden network reconstruction from information diffusion
Kaafar et al. Detecting triangle inequality violations for internet coordinate systems
Silvestre Reputation-based method to deal with bad sensor data

Legal Events

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