KR102048442B1 - Method and apparatus for providing supervised and extended restart in random walks for ranking and link prediction in networks - Google Patents
Method and apparatus for providing supervised and extended restart in random walks for ranking and link prediction in networks Download PDFInfo
- Publication number
- KR102048442B1 KR102048442B1 KR1020170149941A KR20170149941A KR102048442B1 KR 102048442 B1 KR102048442 B1 KR 102048442B1 KR 1020170149941 A KR1020170149941 A KR 1020170149941A KR 20170149941 A KR20170149941 A KR 20170149941A KR 102048442 B1 KR102048442 B1 KR 102048442B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- score
- restart
- probability
- restart probability
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 지도식 확장 랜덤 워크 제공 방법 및 장치에 관한 것이다. 본 발명의 제 1 측면에 따르면, 확장 랜덤 워크 제공 장치는 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 정규화부 및 상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 점수계산부를 포함할 수 있다. The present invention relates to a method and apparatus for providing an extended extended random walk. According to a first aspect of the present invention, an apparatus for providing an extended random walk includes a normalization unit for normalizing an adjacent matrix representing a connection relationship of at least one node constituting a graph and the at least one node based on a restart probability set for each of the at least one node. It may include a score calculator for calculating the score of each node.
Description
본 발명은 네트워크에서의 랭킹 및 연결 예측을 위한 지도식 확장 랜덤 워크를 제공하는 방법 및 장치에 관한 것으로, 보다 구체적으로는 대용량 그래프에서 각 노드별 재시작 확률을 달리 하여 확장된 RWR (Random Walk with Restart)인 RWER(Random Walk Extend with Restart)기법을 이용하여 메모리를 적게 사용하면서도 계산 속도를 높일 수 있는 지도식 확장 랜덤 워크를 제공하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for providing a mapped extended random walk for ranking and connection prediction in a network. More specifically, the RWR (Random Walk with Restart) is extended by changing restart probability of each node in a large graph. The present invention relates to a method and an apparatus for providing a mapped extended random walk that can increase computation speed while using less memory by using a random walk extend with restart (RWER) technique.
데이터 마이닝(data mining)이란 많은 양의 데이터로부터 유용한 정보를 추출하는 것을 의미한다. 그리고, 이러한 데이터 마이닝을 그래프에 적용하는 것을 그래프 마이닝이라고 하며, 특히 그래프에 포함된 노드들의 우선순위를 결정하는 기술을 그래프 랭킹(graph ranking)이라고 한다.Data mining means extracting useful information from large amounts of data. Application of such data mining to a graph is called graph mining, and in particular, a technique for determining the priority of nodes included in the graph is called graph ranking.
최근 SNS 이용률이 증가하고, 인터넷상에 저장되는 웹 문서의 양이 증가하면서, SNS 이용자간의 연결 관계 또는 웹 문서들간의 연결 관계를 나타내는 그래프에서 노드들의 중요도를 파악하기 위한 그래프 랭킹 기술의 중요도가 높아지고 있다.Recently, as the usage rate of SNS increases and the amount of web documents stored on the Internet increases, the importance of graph ranking technology for grasping the importance of nodes in the graphs showing the connection relations between SNS users or the web documents is increasing. have.
그래프 랭킹 수행 방법을 제시하는 문헌으로서, 한국공개특허 제2011-0131094호가 있다. 본 문헌에는 정보 네트워크로부터 하나 이상의 노드들 및 간선들을 수집하고, 수집된 노드들에 랜덤 워크를 수행하여 얻은 시퀀스들을 데이터 베이스에 저장하고, 데이터 베이스를 마이닝하여 정보 네트워크에 존재하는 패턴을 파악하는 내용이 개시되었다.As a document that proposes a method for performing graph rankings, there is Korean Patent Publication No. 2011-0131094. This document collects one or more nodes and edges from an information network, stores sequences obtained by performing random walks on the collected nodes in a database, and mines the database to identify patterns present in the information network. This has been disclosed.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the background art described above is technical information that the inventors possess for the derivation of the present invention or acquired in the derivation process of the present invention, and is not necessarily a publicly known technique disclosed to the general public before the application of the present invention. .
본 발명의 일 실시예는 지도식 확장 랜덤 워크 제공 방법 및 장치를 제공하는 데에 그 목적이 있다.One embodiment of the present invention is to provide a method and apparatus for providing an extended extended random walk.
본 발명의 일 실시예는 효율적인 학습 알고리즘을 이용하여 각 노드의 최적화된 재시작 확률을 결정하는 지도식 확장 랜덤 워크 제공 방법 및 장치를 제공하는 데에 그 목적이 있다.One embodiment of the present invention is to provide a method and apparatus for providing an extended extended random walk for determining an optimized restart probability of each node using an efficient learning algorithm.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면, 확장 랜덤 워크 제공 장치는 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 정규화부 및 상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 점수계산부를 포함할 수 있다. As a technical means for achieving the above technical problem, according to the first aspect of the present invention, the apparatus for providing an extended random walk includes: a normalization unit for normalizing an adjacent matrix representing a connection relationship of at least one node constituting the graph; It may include a score calculator for calculating the score of each of the at least one node based on the restart probability set for each node.
본 발명의 제 2 측면에 따르면, 확장랜덤워크제공장치가 확장 랜덤 워크를 제공하는 방법에 있어서, 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 단계 및 상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 단계를 포함할 수 있다.According to a second aspect of the present invention, in a method for providing an extended random walk by an apparatus for providing an extended random walk, normalizing an adjacent matrix representing a connection relationship between at least one node constituting a graph and the at least one node Computing the score of each of the at least one node based on the restart probability set for each.
본 발명의 제 3 측면에 따르면, 확장랜덤워크제공방법을 수행하기 위한 컴퓨터 프로그램으로서, 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 단계 및 상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 단계를 포함할 수 있다.According to a third aspect of the present invention, there is provided a computer program for performing an extended random walk providing method, comprising: normalizing an adjacent matrix representing a connection relationship of at least one node constituting a graph and restarting configured for each of the at least one node; Calculating a score of each of the at least one node based on a probability.
본 발명의 제 4 측면에 따르면, 확장랜덤워크제공방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체로서, 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 단계 및 상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 단계를 포함할 수 있다.According to a fourth aspect of the present invention, there is provided a computer-readable recording medium on which a program for performing an extended random walk providing method is recorded, comprising: normalizing an adjacent matrix representing a connection relationship of at least one node constituting a graph; The method may include calculating a score of each of the at least one node based on a restart probability set for each node.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일 실시예는 지도식 확장 랜덤 워크 제공 방법 및 장치를 제시할 수 있다.According to any one of the problem solving means of the present invention described above, an embodiment of the present invention can propose a method and apparatus for providing a mapped extended random walk.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 각 노드의 최적화된 재시작 확률을 자동으로 결정할 수 있는 지도식 확장 랜덤 워크 제공 방법 및 장치를 제시할 수 있다.In addition, according to any one of the problem solving means of the present invention, it is possible to provide a method and apparatus for providing an extended extended random walk that can automatically determine the optimized restart probability of each node.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면 최적화된 재시작 확률을 이용하여 노드 점수 계산에 정확도를 현저하게 높일 수 있는 지도식 확장 랜덤 워크 제공 방법 및 장치를 제시할 수 있다.In addition, according to any one of the problem solving means of the present invention can provide a method and apparatus for providing a map extended random walk that can significantly increase the accuracy in calculating the node score using the optimized restart probability.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned above may be clearly understood by those skilled in the art from the following description. will be.
도 1 는 RWR을 설명하기 위한 그래프를 도시한 예시도이다.
도 2 는 RWER을 설명하기 위한 그래프를 도시한 예시도이다.
도 3 은 본 발명의 일 실시예에 따른 확장랜덤워크제공장치를 도시한 도면이다.
도 4 내지 도 5 는 본 발명의 일 실시예에 따른 확장랜덤워크제공방법을 설명하기 위한 순서도이다.1 is an exemplary diagram illustrating a graph for explaining RWR.
2 is an exemplary diagram illustrating a graph for explaining the RWER.
3 is a diagram illustrating an extended random walk providing apparatus according to an embodiment of the present invention.
4 to 5 are flowcharts for explaining an extended random walk providing method according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, which means that it may further include other components, except to exclude other components unless otherwise stated.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
본 발명의 실시예들을 자세히 설명하기에 앞서, 우선 그래프 마이닝(graph mining), 그래프 랭킹 기법, 그리고 그래프 랭킹 기법의 일 예인 RWR (Random Walk with Restart) 기법에 대해서 설명한다.Before describing embodiments of the present invention in detail, a graph mining, graph ranking technique, and a random walk with restart (RRW) technique, which is an example of the graph ranking technique, will be described.
그래프 마이닝이란 그래프 속에서 유용한 정보를 발견하는 작업을 의미한다. 그리고, 그래프 랭킹 기법이란 그래프 마이닝을 수행하기 위한 기법 중 하나로서, 노드(node)와 간선(edge)으로 이루어진 그래프에서 노드들의 중요도를 구하거나 노드들간의 근접도를 구할 수 있는 기법이다. 그래프 랭킹 기법으로서 랜덤 워크에 기반한 RWR 기법이 많이 사용되는데, 기존 RWR 기법에 대해서는 도 1을 참조하여 자세히 설명한다.Graph mining is about finding useful information in graphs. In addition, the graph ranking technique is one of techniques for performing graph mining, and is a technique for obtaining importance of nodes or proximity between nodes in a graph composed of nodes and edges. As a graph ranking technique, an RWR technique based on a random walk is frequently used. An existing RWR technique will be described in detail with reference to FIG. 1.
도 1은 그래프에 RWR 기법을 적용하여 RWR 점수를 산출하는 예를 도시한 도면이다. 도 1에는 12개의 노드들 및 노드들을 연결하는 간선들로 구성된 그래프가 도시되었다. 각각의 노드에는 노드 번호가 1부터 12까지 할당되어 있다. RWR 기법이란 그래프에 포함된 복수의 노드들 중에서 어느 하나의 노드를 시작 노드(또는 시드 노드 : seed node)로 정하고, 시작 노드로부터 출발하여 이동하는 가상의 인물인 랜덤 서퍼(random surfer)(1)가 다른 노드들에 도달할 확률을 점수로 계산하는 기법이다.1 is a diagram illustrating an example of calculating an RWR score by applying an RWR technique to a graph. 1 shows a graph composed of twelve nodes and edges connecting the nodes. Each node is assigned a node number from 1 to 12. The RWR technique refers to a random surfer (1), a virtual person who moves from a start node to a node among a plurality of nodes included in the graph as a start node (or seed node). This is a technique for calculating the probability of reaching other nodes as a score.
도 1 에서는 4번 노드를 시작 노드로 선택하였다. 랜덤 서퍼(1)는 시작 노드인 4번 노드에서 출발하여 랜덤 워크 또는 재시작 중 어느 하나의 행동을 수행한다. 예를 들어, 랜덤 서퍼(1)는 1번, 3번 또는 5번 노드 중 어느 하나의 노드로 이동하는 행동(랜덤 워크)을 수행하거나, 4번 노드로 돌아가는 행동(재시작)을 수행할 수 있다. 또한, 랜덤 서퍼(1)가 몇 번의 이동을 거쳐서 9번 노드에 도달했다면, 다음 동작으로서 8번 또는 10번 노드 중 어느 하나의 노드로 이동하는 행동(랜덤 워크)을 수행하거나, 4번 노드로 돌아가는 행동(재시작)을 수행할 수 있다.In FIG. 1,
즉, 랜덤 서퍼(1)는 한 번 이동할 때마다 바로 이웃한 노드로 이동(랜덤 워크)하거나, 시작 노드로 이동(재시작)한다. 이때, 랜덤 서퍼(1)가 재시작을 수행할 확률을 c라고 하면, 랜덤 워크를 수행할 확률은 (1-c)가 된다.That is, the
본 명세서에 기재된 일 실시예에 따른 노드들 각각에 랜덤 서퍼(1)가 도달할 확률을 RWR 점수라고 하고, 노드들 각각에 대한 RWR 점수로 구성되는 열벡터(column vector) r을 RWR 점수 벡터라고 한다. 또한, 그래프를 나타내는 인접 행렬(adjacency matrix)을 A라고 하면, RWR 점수 벡터 r은 다음과 같은 수식으로 나타낼 수 있다.The probability that the
[수학식 1][Equation 1]
이때, q는 시작 노드에 대응되는 원소의 값이 1이고, 나머지 원소들은 모두 0인 열벡터이다. 또한, 는 각 행의 원소의 합이 1이 되도록 정규화된 인접 행렬이다. 수학식 1로부터 다음의 수학식 2를 얻을 수 있다.In this case, q is a column vector in which the value of the element corresponding to the start node is 1 and the remaining elements are all zero. In addition, Is an adjacent matrix normalized such that the sum of the elements in each row is one. From
[수학식 2][Equation 2]
따라서, 를 H라고 한다면, RWR 점수 벡터 r은 다음의 수학식 3과 같은 선형 시스템의 해로 구할 수 있다.therefore, If H is H, the RWR score vector r can be obtained as a solution of a linear system as shown in
[수학식 3][Equation 3]
RWR 점수 벡터 r를 구하는 방법은 반복적 기법(iterative approach)과 전처리 기법(preprocessing approach)이 있다. There are two methods of obtaining the RWR score vector r: an iterative approach and a preprocessing approach.
이 중 반복적 기법은 r에 대한 임의의 초기값에 대해서 수학식 1을 반복적으로 적용하여 r의 값이 일정 범위 내로 수렴하도록 하는 방식으로 다음의 수학식 4로 표현된다.The iterative technique is expressed by
[수학식 4][Equation 4]
이때, i는 계산을 반복 수행한 횟수를 의미한다. 초기값인 로부터 시작하여, 다음의 수학식 5를 만족할 때까지 수학식 4를 반복 적용할 수 있다. 물론, 수학식 5는 수렴 조건의 한 예로서, 수렴 조건을 다르게 설정하는 것도 가능하다. 이때, 는 허용 오차 (error tolerance)이다.In this case, i means the number of times the calculation is repeated. The initial value From
[수학식 5][Equation 5]
이와 같이 기존 RWR의 경우 각 노드의 선호도 반영이 되지 않아 랜덤 서퍼(1)가 고정된 재시작확률인 c에 따라 랜덤 서퍼(1)의 위치와 무관하게 재시작한다. 따라서 랜덤 서퍼(1)는 현재 노드의 선호도를 고려하지 않는다. 반면, 본 명세서에 기재된 일 실시예에 따른 확장랜덤워크(Random Walk with Extended Restart 이하, RWER)는 그래프에 포함된 각 노드의 상대적인 점수에 기초한 선호도를 반영하여 노드별로 재시작확률을 달리 설정함으로써 랜덤 워크의 성능을 높일 수 있다. As described above, in the case of the existing RWR, since the preference of each node is not reflected, the
도 2 는 각 노드별로 재시작확률이 결정된 그래프를 도시한 예시도이다. 도 2 를 참조하면, RWER에서 t시간에 노드 i, j, k 에서 t+1시간에 U 노드로 이동할 확률을 구하기 위한 수식은 아래와 같다.2 is an exemplary diagram illustrating a graph in which restart probabilities are determined for each node. Referring to FIG. 2, the equation for calculating the probability of moving from the nodes i, j, and k to the U node at time t + 1 at time t in RWER is as follows.
[수학식 6][Equation 6]
: i 노드에서 간선을 따라 이동할 확률 : probability of moving along edge at i-node
수학식 6 에 따라 랜덤 서퍼가 재시작을 할 확률을 반영하면 아래의 수식과 같다.Reflecting the probability that the random surfer restarts according to
[수학식 7][Equation 7]
여기서 는 u가 시드 노드 s 이면 1 아니면 0이다. here Is 1 if u is the seed node s or 0.
이와 같은 예를 기초로 RWER 모델을 재귀적 수식으로 정의하면 아래와 같다. Based on this example, the RWER model is defined as a recursive equation as follows.
[수학식 8][Equation 8]
여기서 는 i 노드로 들어오는 간선이고, 은 i 노드에서 나가는 간선이다. here Is the edge coming into the i-node, Is the edge leaving the i node.
수학식 8 을 행렬 형태로 표현하면 아래와 같다.
[수학식 9][Equation 9]
여기서 열을 기준으로 정규화된 인접행렬이고, c 는 i번째 재시작확률인 가 원소인 재시작확률 벡터이다. 는 이고 다른 원소는 0인 행렬이고, q는 s 번째 원소는 1 이고 나머지 원소는 0 인 행렬이다. 여기서 c가 같은 값이면, 수학식 4 와 같은 RWR과 같다. here Adjacent matrix normalized by column, and c is the i th restart probability Restart probability vector whose element is. Is And the other element is a matrix of 0, q is a matrix whose sth element is 1 and the remaining elements are 0. If c is the same value, it is equal to RWR as in
이하에서는 RWER이 각 노드의 재시작확률을 각 노드의 선호도뿐만 아니라 노드간의 관계를 반영하여 자동으로 최적 결정할 수 있도록 메모리를 적게 사용하면서도 RWER 점수 계산과 재시작확률의 계산을 빠르게 수행할 수 있는 방법을 제시한다. 자세한 내용은 아래에서 도면들을 참조하여 설명한다.In the following, RWER uses a small amount of memory so that RWER can automatically determine the restart probability of each node by reflecting not only the preference of each node but also the relationship between nodes. However, RWER can quickly calculate the RWER score calculation and restart probability. do. Details will be described below with reference to the drawings.
도 3 은 본 발명의 일 실시예에 따른 확장랜덤워크제공장치(100)의 구성을 나타내는 블록도이다. 도 3 을 참조하면, 본 발명의 일 실시예에 따른 확장랜덤워크제공장치(100)는 정규화부(110), 점수계산부(120) 및 재시작확률계산부(130)를 포함할 수 있다.3 is a block diagram showing the configuration of an extended random
정규화부(110)는 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화할 수 있다. The
즉, 정규화부(110)는 인접행렬에 기초하여 각 노드 별로 타 노드로의 방향성을 갖는 간선의 수를 원소로 갖는 차수행렬 D를 계산할 수 있다. That is, the
이때 D는 이다. Where D is to be.
그리고 재정렬부(110)는 계산된 차수행렬 D 을 기초하여 열을 기준으로 인접행렬을 정규화할 수 있으며, 이를 수식으로 나타내면 아래와 같다. The
[수학식 10] [Equation 10]
그리고 점수계산부(120)는 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산할 수 있다. The
이를 위해, 점수계산부(120)는 시드노드의 인덱스가 1 이고 다른 인덱스는 0 인 길이가 n 인 시작벡터 q 를 설정할 수 있다. To this end, the
그리고 점수계산부(120)는 노드의 점수 및 노드의 재시작확률을 기초로 상술된 수학식 9 를 반복적으로 계산할 수 있다. The
즉, 그래프를 순회하는 랜덤 서퍼가 위치한 노드의 제 1 점수와 수학식 9 를 통해 계산된 제 2 점수 간의 차이인 에러값을 계산할 수 있으며 이를 수식으로 나타내면 아래와 같다. That is, an error value that is a difference between the first score of the node where the random surfer traversing the graph is located and the second score calculated through
[수학식 11][Equation 11]
그리고 점수계산부(120)는 제 1 점수를 제 2 점수로 갱신할 수 있으며, 이후, 계산된 에러값이 기 설정된 허용오차 이하이면, 수학식 9 의 반복 계산을 중단할 수 있다. The
한편, 재시작확률계산부(130)는 그래프를 순회하는 랜덤 서퍼가 일 노드에서 순회를 재시작하는 확률인 재시작확률을 상기 적어도 하나의 노드 별로 계산할 수 있다. Meanwhile, the
이를 위해 재시작확률계산부(130)는 그래프를 순회하는 랜덤 서퍼가 일 노드에서 순회를 재시작하는 확률인 재시작확률을 적어도 하나의 노드 별로 최적화시키기 위한 학습을 수행할 수 있다. To this end, the
즉, 재시작확률계산부(130)는 재시작확률을 기 설정된 기준벡터로 초기화하고, 노드의 점수와 재시작확률이 입력되는 손실함수의 값을 최소화하는 재시작확률을 계산할 수 있다. That is, the
그리고 재시작확률계산부(130)는 손실함수의 값에 기초하여 재시작확률을 갱신하고, 갱신된 재시작확률이 특정 값으로 수렴하면 재시작확률의 학습을 종료하여 재시작확률을 반환하여 각 노드별로 최적의 재시작확률을 설정할 수 있다. The restart
이러한 과정을 수식으로 표현하면 아래와 같다.This process is expressed as a formula below.
[수학식 12][Equation 12]
여기서 o는 기 설정된 기준 벡터 이고, P는 노드의 점수를 기준으로 랭킹이 높은 노드 집합이고, N은 P 에 속하는 노드에 비해 상대적으로 점수가 낮은 노드 집합이다. , 각각은 노드 x, y 각각의 점수이다. Where o is a predetermined reference vector, P is a node set having a high ranking based on the score of the node, and N is a node set having a lower score than a node belonging to P. , Each is a score of each of nodes x and y.
이때, 기준 벡터o는 재시작확률 벡터 c가 너무 작아지거나 과도하게 오버피팅되는 것을 방지하고, 정확도를 높일 수 있다. In this case, the reference vector o may prevent the restart probability vector c from becoming too small or excessively overfitting and increase the accuracy.
하지만 수학식 12 을 완벽하게 만족하는 재시작확률 c를 계산하는 것이 어렵기에 아래의 수식과 같이 제약조건을 완화할 수 있다. However, since it is difficult to calculate the restart probability c that satisfies
[수학식 13] [Equation 13]
: 정규화 파라미터(regularization parameter), h(·) : 손실함수 : Normalization parameter, h (·): loss function
이때 손실함수는 어떤 손실함수도 이용될 수 있다. 이하에서는 WMW(Wilcoxon-Mann-Whitney) 손실함수를 이용하는 것으로 한다. The loss function can be any loss function. Hereinafter, the WMW (Wilcoxon-Mann-Whitney) loss function is used.
폭(width)이 b 인 WMW손실함수는 아래와 같다. The WMW loss function with width b is
[수학식 14][Equation 14]
여기서 수학식 13 을 재시작확률 c에 대해 미분하면 아래의 수식과 같다. Differentiating Equation 13 with respect to restart probability c is as follows.
[수학식 15][Equation 15]
여기서 는 이고, WMW 손실함수의 도함수 는 이다. here Is Derivative of the WMW loss function Is to be.
재시작확률 c에 대해 관련된 점수 의 도함수 를 획득하기 위해서는 재시작확률 벡터 C 의 i번째 원소인 에 대해 관련된 점수 의 도함수를 계산해야 한다. Related score for restart probability c Derivative of In order to obtain, the i th element of restart probability vector C Related scores for We need to calculate the derivative of.
여기서 M 을 이라 하면, , , 이다. Where M Speaking of , , to be.
M은 의 역(inverse)이기 때문에 는 아래의 수식과 같다.M is Because it's the inverse of Is shown in the following formula.
[수학식 16] [Equation 16]
:(i, j)번째 원소는 1 이고 나머지는 0 인 단일원소(single-entry) 행렬 : Single-entry matrix with (i, j) th element of 1 and the remainder 0
수학식 16 에 기초하여 는 아래의 수식과 같이 표현될 수 있다.Based on Equation 16 May be expressed as in the following equation.
[수학식 17][Equation 17]
: s번째 원소가 1 인 길이가 n 인 단위벡터(unit vector) : a unit vector of length n with the sth element equal to 1
이때 는 에서 계산되어야 한다. 그러면 는 아래와 같은 수식으로 기재될 수 있다. At this time Is Should be calculated from then May be described by the following formula.
[수학식 18]Equation 18
:하다마드(Hadamard) 곱, 1: 길이가 n 이고 모든 원소가1 인 벡터 Hadamard product, 1: vector of length n with all
이와 유사하게 역시 아래와 같이 계산될 수 있다. Similarly Can also be calculated as
[수학식 19][Equation 19]
수학식 18, 19 를 이용하면, 수학식 15 에서 는 아래와 같이 표현될 수 있다. Using Equations 18 and 19, Equation 15 Can be expressed as follows.
[수학식 20][Equation 20]
수학식 20 에서 의 복잡도는 로 전체 수식의 복잡도를 결정한다. In Equation 20 The complexity of To determine the complexity of the entire equation.
이때, 와 를 포지티브 노드와 네거티브 노드의 개수로 나타내면, 는 P의 초기화 시간을 포함하여 복잡도를 까지 낮출 수 있다. At this time, Wow If is expressed as the number of positive and negative nodes, Complexity including the initialization time of P Can be lowered.
그리고 수학식 19, 20 에서의 M 은 의 역(inverse)이기 때문에 수학식 19 , 20 각각에서의 M(:,s)를 직접 계산하여 M을 획득하는 것이 아닌 점수계산부(120)에서 노드의 점수를 계산하는 반복적인 방법을 이용하여 M(:,s)를 계산할 수 있다. And M in equations 19 and 20 Since it is an inverse of, instead of directly calculating M (:, s) in each of Equations 19 and 20, M is obtained by using an iterative method of calculating the score of the node in the
또한, 수학식 19, 20 에는 M의 행 즉, M(x,:)에 대한 계산도 수행해야 하지만, 점수계산부(120)에서 노드의 점수를 계산하는 반복적인 방법은 주어진 시드노드에서 M의 열에 대해서만 계산을 수행하는 문제점이 있다. In addition, the equations 19 and 20 should also perform calculations on the rows of M, that is, M (x, :), but the iterative method of calculating the score of the node in the
이에 M의 x 번째 열을 아래와 같은 반복적인 방법으로 계산할 수 있다. The x-th column of M can be calculated by the iterative method as follows.
을 라 하면, 는 수렴 할 때까지 아래의 업데이트 규칙에 따라 반복하여 계산할 수 있다. of Say, Converge Can be calculated repeatedly according to the update rule below.
[수학식 21][Equation 21]
P : x번째 원소가 1 이고 나머지 원소는 0 인 벡터P: The xth element is 1 and the remaining elements are 0 vector
재시작확률계산부(130)는 손실함수를 포함하는 수학식 15 를 상술된 반복적 방법을 이용하여 아래의 수식에 따라 재시작확률을 갱신할 수 있다.The
[수학식 22] [Equation 22]
:학습률 Learning rate
이때, 재시작확률계산부(130)는 계산된 재시작확률이 수렴될 때까지 그래디언트-베이스(gradient-based) 방법에 따라 재시작 확률 c 를 갱신할 수 있다. In this case, the
한편, 도 4 내지 도 5 는 확장랜덤워크제공장치(100)가 확장랜덤워크를 제공하는 방법에 관한 것을 설명하는 순서도이다. Meanwhile, FIGS. 4 to 5 are flowcharts illustrating a method of providing the extended
도 4 내지 도 5 에 도시된 실시예에 따른 확장랜덤워크제공방법은 도 3 에 도시된 확장랜덤워크제공장치(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 3 에 도시된 확장랜덤워크제공장치(100)에 관하여 이상에서 기술한 내용은 도 4 내지 도 5 에 도시된 실시예에 따른 재화거래관리방법에도 이용될 수 있다.The extended random walk providing method according to the embodiment shown in FIGS. 4 to 5 includes the steps processed in time series in the extended random
도 4 는 확장랜덤워크제공장치(100)가 그래프를 구성하는 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 각 노드의 점수를 계산하는 과정을 도시한 순서도이다. 4 is a flowchart illustrating a process of the extended random
도 4 를 참조하면, 확장랜덤워크제공장치(100)는 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화할 수 있다(S4001).Referring to FIG. 4, the extended random
즉, 확장랜덤워크제공장치(100)는 랜덤서퍼가 순회할 그래프의 인접행렬 A 의 간선 차수를 나타내는 차수행렬 D 를 계산할 수 있다. That is, the extended random
그리고 확장랜덤워크제공장치(100)는 차수행렬 D 의 역행렬과 인접행렬 A를 곱하여 정규화된 행렬 를 계산할 수 있다. And the extended random
이후, 확장랜덤워크제공장치(100)는 상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산할 수 있다(S4002). Thereafter, the extended random
우선 확장랜덤워크제공장치(100)는 시드 노드 s 로부터 시작 벡터 q를 설정할 수 있다. First, the extended random
그리고 확장랜덤워크제공장치(100)는 노드의 점수를 수학식 9에 따라 계산할 수 있고, 계산된 점수로 노드의 점수를 갱신할 수 있다.The extended random
그리고 확장랜덤워크제공장치(100)는 점수를 계산하는 제 2 노드에 진입하는 간선에 연결된 제 1 노드의 점수와 제 1 노드의 재시작확률에 기초하여 제 2 노드의 점수를 계산할 수 있고, 계산된 점수로 제 2 노드의 점수를 갱신할 수 있다. The extended random
이를 위해, 확장랜덤워크제공장치(100)는 제 2 노드의 점수 계산에 필요한 제 1 노드의 재시작확률을 계산할 수 있다.To this end, the extended random
제 1 노드의 재시작확률을 계산하는 방법에 대해서 도 5 를 참조하여 설명한다. A method of calculating the restart probability of the first node will be described with reference to FIG. 5.
도 5 는 확장랜덤워크제공장치(100)가 그래프를 구성하는 각 노드 별로 재시작확률을 학습하여 최적의 재시작확률을 계산하는 방법을 도시한 순서도이다. FIG. 5 is a flowchart illustrating a method in which the extended random
도 5 를 참조하면, 확장랜덤워크제공장치(100)는 노드의 재시작확률을 기준 벡터 o로 초기화할 수 있다(S5001). Referring to FIG. 5, the extended random
그리고 확장랜덤워크제공장치(100)는 그래프를 순회하는 랜덤 서퍼가 일 노드에서 순회를 재시작하는 확률인 재시작확률을 적어도 하나의 노드 별로 최적화시키기 위한 학습을 수행할 수 있다.The extended random
이를 위해, 확장랜덤워크제공장치(100)는 노드의 점수와 재시작확률이 입력되는 손실함수의 값을 최소화하는 재시작확률을 계산할 수 있다(S5002). To this end, the extended random
즉, 확장랜덤워크제공장치(10)는 수학식 16 내지 21을 통해 반복적 방법을 이용하여 수학식 15 에서 를 계산할 수 있다. That is, the extended random
그리고 확장랜덤워크제공장치(10)는 계산된 값을 이용하여 수학식 15 인 를 계산할 수 있다. And the extended random
이후, 확장랜덤워크제공장치(10)는 재시작확률을 수학식 22 에 따라 갱신할 수 있으며(S5003), 재시작확률이 수렴하는지를 판단할 수 있다(S5004). Thereafter, the extended random
그리고 재시작확률이 수렴하면, 확장랜덤워크제공장치(10)는 재시작확률의 갱신을 중단하고 노드에 대한 재시작확률을 반환할 수 있다(S5005).When the restart probability converges, the extended random
다시 도 4 로 돌아와서, 상술된 바와 같이 제 2 노드의 점수가 갱신되면, 확장랜덤워크제공장치(100)는 제 2 노드의 갱신된 점수와 갱신 전 점수간의 차이인 에러를 계산할 수 있고(S4003), 갱신된 에러값이 기 설정된 허용오차 이하여부를 판단할 수 있다(S4004). 4, when the score of the second node is updated as described above, the extended random
갱신된 에러값이 기 설정된 허용오차 이하이면, 확장랜덤워크제공장치(10)는 갱신된 점수를 제 2 노드의 점수로 반환할 수 있다(S4005). If the updated error value is less than or equal to the preset tolerance, the extended random
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.The term '~ part' used in the present embodiment refers to software or a hardware component such as a field programmable gate array (FPGA) or an ASIC, and the '~ part' performs certain roles. However, '~' is not meant to be limited to software or hardware. '~ Portion' may be configured to be in an addressable storage medium or may be configured to play one or more processors. Thus, as an example, '~' means components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, and the like. Subroutines, segments of program patent code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.The functionality provided within the components and 'parts' may be combined into a smaller number of components and 'parts' or separated from additional components and 'parts'.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.In addition, the components and '~' may be implemented to play one or more CPUs in the device or secure multimedia card.
또한 본 발명의 일실시예에 따르는 확장랜덤워크제공방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 상품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다. In addition, the extended random walk providing method according to an embodiment of the present invention may be implemented as a computer program (or computer program product) containing instructions executable by a computer. The computer program includes programmable machine instructions processed by the processor and may be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language. . The computer program may also be recorded on tangible computer readable media (eg, memory, hard disks, magnetic / optical media or solid-state drives, etc.).
따라서 본 발명의 일실시예에 따르는 확장랜덤워크제공방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다. Therefore, the extended random walk providing method according to an embodiment of the present invention can be implemented by executing the computer program as described above by the computing device. The computing device may include at least some of a processor, a memory, a storage device, a high speed interface connected to the memory and a high speed expansion port, and a low speed interface connected to the low speed bus and the storage device. Each of these components are connected to each other using a variety of buses and may be mounted on a common motherboard or otherwise mounted in a suitable manner.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다. Here, the processor may process instructions within the computing device, such as to display graphical information for providing a graphical user interface (GUI) on an external input, output device, such as a display connected to a high speed interface. Instructions stored in memory or storage. In other embodiments, multiple processors and / or multiple buses may be used with appropriately multiple memories and memory types. The processor may also be implemented as a chipset consisting of chips comprising a plurality of independent analog and / or digital processors.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다. The memory also stores information within the computing device. In one example, the memory may consist of a volatile memory unit or a collection thereof. As another example, the memory may consist of a nonvolatile memory unit or a collection thereof. The memory may also be other forms of computer readable media, such as, for example, magnetic or optical disks.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다. In addition, the storage device can provide a large amount of storage space to the computing device. The storage device may be a computer readable medium or a configuration including such a medium, and may include, for example, devices in a storage area network (SAN) or other configuration, and may include a floppy disk device, hard disk device, optical disk device, Or a tape device, flash memory, or similar other semiconductor memory device or device array.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is shown by the following claims rather than the above description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.
100: 확장랜덤워크제공장치
110: 정규화부 120: 점수계산부
130: 재시작확률계산부 100: extended random walk providing device
110: normalization unit 120: score calculation unit
130: restart probability calculator
Claims (16)
그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 정규화부;
상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 점수계산부; 및
기 설정된 기준벡터로 재시작확률을 초기화하고, 상기 그래프를 구성하는 노드들의 점수를 이용하는 손실함수에 기초하여 상기 그래프를 순회하는 랜덤 서퍼가 일 노드에서 순회를 재시작하는 확률인 재시작확률을 상기 적어도 하나의 노드 별로 계산하는 재시작확률계산부를 포함하는 확장랜덤워크제공장치.In the extended random walk providing device,
A normalization unit for normalizing adjacent matrices representing connection relationships of at least one node constituting the graph;
A score calculator configured to calculate a score of each of the at least one node based on a restart probability set for each of the at least one node; And
The restart probability is initialized with a preset reference vector, and based on a loss function using the scores of the nodes constituting the graph, the restart probability is a probability that a random surfer traversing the graph restarts at one node. Extended random walk providing apparatus comprising a restart probability calculation unit for each node.
상기 정규화부는,
상기 인접행렬에 기초하여 각 노드 별로 타 노드의 방향성을 갖는 간선의 수를 원소로 갖는 차수행렬을 계산하고, 계산된 차수행렬에 기초하여 열을 기준으로 상기 인접행렬을 정규화하는, 확장랜덤워크제공장치.The method of claim 1,
The normalization unit,
An extended random walk is provided which calculates an order matrix having elements as the number of edges having directionality of other nodes for each node based on the adjacent matrix, and normalizes the adjacent matrix based on columns based on the calculated order matrix. Device.
상기 점수계산부는,
제 2 노드로 진입하는 간선에 연결된 제 1 노드의 점수 및 제 1 노드의 재시작확률에 기초하여 제 2 노드의 점수를 계산하는, 확장랜덤워크제공장치.The method of claim 1,
The score calculation unit,
And calculating a score of the second node based on the score of the first node connected to the trunk line entering the second node and the restart probability of the first node.
상기 점수계산부는,
상기 제 2 노드의 제 1 점수를 계산된 제 2 점수로 갱신하고, 제 2 점수와 제 1 점수 간의 차이인 에러값을 계산하고, 상기 에러값이 기 설정된 허용오차 이하이면 상기 제 2 노드의 점수의 갱신을 종료하는, 확장랜덤워크제공장치. The method of claim 3, wherein
The score calculation unit,
Update the first score of the second node with the calculated second score, calculate an error value that is a difference between the second score and the first score, and score the second node if the error value is less than or equal to a preset tolerance; Extended random walk providing device to terminate the update.
상기 재시작확률계산부는,
상기 손실함수의 값을 상기 재시작확률에 반영하여 상기 재시작확률을 갱신하고, 갱신된 재시작확률이 특정 값으로 수렴하면 상기 재시작확률을 반환하는, 확장랜덤워크제공장치.The method of claim 1,
The restart probability calculation unit,
And updating the restart probability by reflecting the value of the loss function to the restart probability, and returning the restart probability when the updated restart probability converges to a specific value.
그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 단계; 및
상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 단계를 포함하고,
상기 확장랜덤워크제공방법은,
상기 그래프를 순회하는 랜덤 서퍼가 일 노드에서 순회를 재시작하는 확률인 재시작확률을 상기 적어도 하나의 노드 별로 설정하는 단계를 더 포함하고,
상기 재시작확률을 상기 적어도 하나의 노드 별로 설정하는 단계는,
기 설정된 기준벡터로 재시작확률을 초기화하는 단계; 및
상기 그래프를 구성하는 노드들의 점수를 이용하는 손실함수에 기초하여 상기 재시작확률을 계산하는 단계를 포함하는, 확장랜덤워크제공방법.In the extended random walk providing apparatus provides an extended random walk,
Normalizing an adjacent matrix representing a connection relationship between at least one node constituting the graph; And
Calculating a score of each of the at least one node based on a restart probability set for each of the at least one node,
The extended random walk method,
Setting a restart probability for each of the at least one node by a random surfer traversing the graph, the probability of restarting the traversal at one node;
The setting of the restart probability for each of the at least one node may include:
Initializing a restart probability with a preset reference vector; And
And calculating the restart probability based on a loss function using the scores of the nodes constituting the graph.
상기 인접행렬을 정규화하는 단계는,
상기 인접행렬에 기초하여 각 노드 별로 타 노드의 방향성을 갖는 간선의 수를 원소로 갖는 차수행렬을 계산하는 단계; 및
계산된 차수행렬에 기초하여 열을 기준으로 상기 인접행렬을 정규화하는 단계를 포함하는, 확장랜덤워크제공방법.The method of claim 8,
Normalizing the adjacent matrix,
Calculating an order matrix having, as elements, the number of edges having directionality of other nodes for each node based on the adjacent matrix; And
And normalizing the adjacent matrix based on the column based on the calculated order matrix.
상기 적어도 하나의 노드 각각의 점수를 계산하는 단계는,
제 2 노드로 진입하는 간선에 연결된 제 1 노드의 점수 및 제 1 노드의 재시작확률에 기초하여 제 2 노드의 점수를 계산하는 단계를 포함하는, 확장랜덤워크제공방법.The method of claim 8,
Computing the score of each of the at least one node,
And calculating a score of the second node based on the score of the first node connected to the edge entering the second node and the restart probability of the first node.
상기 제 2 노드의 점수를 계산하는 단계는,
상기 제 2 노드의 제 1 점수를 계산된 제 2 점수로 갱신하고, 제 2 점수와 제 1 점수 간의 차이인 에러값을 계산하는 단계; 및
상기 에러값이 기 설정된 허용오차 이하이면, 상기 제 2 노드의 점수 갱신을 종료하는 단계를 포함하는, 확장랜덤워크제공방법.The method of claim 10,
Computing the score of the second node,
Updating the first score of the second node with the calculated second score and calculating an error value that is a difference between the second score and the first score; And
If the error value is less than or equal to a preset tolerance, ending updating of the score of the second node.
상기 확장랜덤워크제공방법은,
상기 손실함수의 값을 상기 재시작확률에 반영하여 상기 재시작확률을 갱신하는 단계; 및
갱신된 재시작확률이 특정 값으로 수렴하면 상기 재시작확률을 반환하는 단계를 더 포함하는, 확장랜덤워크제공방법.The method of claim 8,
The extended random walk method,
Updating the restart probability by applying the value of the loss function to the restart probability; And
And returning the restart probability if the updated restart probability converges to a specific value.
A computer-readable recording medium having recorded thereon a program for performing the method of claim 8.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20170131543 | 2017-10-11 | ||
KR1020170131543 | 2017-10-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190040863A KR20190040863A (en) | 2019-04-19 |
KR102048442B1 true KR102048442B1 (en) | 2019-11-25 |
Family
ID=66283338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170149941A KR102048442B1 (en) | 2017-10-11 | 2017-11-10 | Method and apparatus for providing supervised and extended restart in random walks for ranking and link prediction in networks |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102048442B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704725B (en) * | 2019-06-27 | 2023-03-21 | 重庆大学 | School-enterprise cooperation recommendation algorithm based on patents |
CN112364295B (en) * | 2020-11-13 | 2024-04-19 | 中国科学院数学与系统科学研究院 | Method, device, electronic equipment and medium for determining importance of network node |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014228975A (en) * | 2013-05-20 | 2014-12-08 | 日本電信電話株式会社 | Retrieval device, retrieval method and retrieval program |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8396855B2 (en) * | 2010-05-28 | 2013-03-12 | International Business Machines Corporation | Identifying communities in an information network |
-
2017
- 2017-11-10 KR KR1020170149941A patent/KR102048442B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014228975A (en) * | 2013-05-20 | 2014-12-08 | 日本電信電話株式会社 | Retrieval device, retrieval method and retrieval program |
Also Published As
Publication number | Publication date |
---|---|
KR20190040863A (en) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11853882B2 (en) | Methods, apparatus, and storage medium for classifying graph nodes | |
Blundell et al. | Model-free episodic control | |
US20190340533A1 (en) | Systems and methods for preparing data for use by machine learning algorithms | |
WO2018227800A1 (en) | Neural network training method and device | |
WO2018095049A1 (en) | Method and apparatus for generating recommended results | |
US11226741B2 (en) | I/O behavior prediction based on long-term pattern recognition | |
JP6791780B2 (en) | Sentence writing device | |
CN109313720A (en) | The strength neural network of external memory with sparse access | |
WO2015127065A1 (en) | Disease prediction system using open source data | |
US11461694B2 (en) | Machine learning implementation in processing systems | |
KR102048442B1 (en) | Method and apparatus for providing supervised and extended restart in random walks for ranking and link prediction in networks | |
US20180039823A1 (en) | Clustering large database of images using multilevel clustering approach for optimized face recognition process | |
CN110135681A (en) | Risk subscribers recognition methods, device, readable storage medium storing program for executing and terminal device | |
CN110807529A (en) | Training method, device, equipment and storage medium of machine learning model | |
US11822544B1 (en) | Retrieval of frequency asked questions using attentive matching | |
CN118451423A (en) | Optimal knowledge distillation scheme | |
JP7543933B2 (en) | MODEL GENERATION DEVICE, ESTIMATION DEVICE, MODEL GENERATION METHOD, AND MODEL GENERATION PROGRAM | |
US20220292315A1 (en) | Accelerated k-fold cross-validation | |
US9524481B2 (en) | Time series technique for analyzing performance in an online professional network | |
WO2021253938A1 (en) | Neural network training method and apparatus, and video recognition method and apparatus | |
CN114556364B (en) | Computer-implemented method for performing neural network architecture searches | |
CN115936802A (en) | Personalized marketing method, device, equipment and storage medium based on user portrait and sequence modeling | |
US10685253B2 (en) | Advanced cloud detection using neural networks and optimization techniques | |
KR101946692B1 (en) | Method and apparatus for performing graph ranking | |
US20240020320A1 (en) | Automated database operation classification using artificial intelligence techniques |
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 |