KR102205102B1 - Prediction of number of bitcoin network transactions based on machine learning - Google Patents

Prediction of number of bitcoin network transactions based on machine learning Download PDF

Info

Publication number
KR102205102B1
KR102205102B1 KR1020190103549A KR20190103549A KR102205102B1 KR 102205102 B1 KR102205102 B1 KR 102205102B1 KR 1020190103549 A KR1020190103549 A KR 1020190103549A KR 20190103549 A KR20190103549 A KR 20190103549A KR 102205102 B1 KR102205102 B1 KR 102205102B1
Authority
KR
South Korea
Prior art keywords
data
transactions
machine learning
virtual currency
learning model
Prior art date
Application number
KR1020190103549A
Other languages
Korean (ko)
Other versions
KR102205102B9 (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 KR1020190103549A priority Critical patent/KR102205102B1/en
Application granted granted Critical
Publication of KR102205102B1 publication Critical patent/KR102205102B1/en
Publication of KR102205102B9 publication Critical patent/KR102205102B9/en

Links

Images

Classifications

    • 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
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Accounting & Taxation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Game Theory and Decision Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Disclosed is a technology for predicting the number of bitcoin network transactions based on machine learning. According to one embodiment, the method for predicting the number of transactions comprises the steps of: constructing a machine learning model for predicting the number of transactions using virtual currency data; performing a pre-processing process on the virtual currency data to select learning data to be inputted to the constructed machine learning model; and predicting the number of transactions in virtual currency as the selected learning data is inputted to the constructed machine learning model to be learned.

Description

기계학습 기반 비트코인 네트워크 트랜잭션 수 예측{PREDICTION OF NUMBER OF BITCOIN NETWORK TRANSACTIONS BASED ON MACHINE LEARNING}Machine Learning-based Bitcoin Network Transaction Count {PREDICTION OF NUMBER OF BITCOIN NETWORK TRANSACTIONS BASED ON MACHINE LEARNING}

아래의 설명은 비트코인 트랜잭션 수를 예측하는 방법 및 시스템에 관한 것이다. The description below relates to a method and system for predicting the number of Bitcoin transactions.

지난 몇 년간 비트코인 트랜잭션 수는 급격히 증가되었다. 트랜잭션 수가 증가됨에 따라 비트코인 네트워크는 활성화 되었다. 그러나, 비트코인 트랜잭션 수의 증가에 따른 부작용이 발생하고 있다. 트랜잭션 수수료는 증가 되었지만, 트랜잭션 확인 시간은 지연되고 있다. 비트코인 트랜잭션의 수와 비트코인 가격은 뚜렷한 양의 선형 관계를 보이며 비트코인 트랜잭션 수는 비트코인 가격에 영향에 미치는 요소임을 알 수 있다. 비트코인 트랜잭션 수를 예측하는 것은 비트코인 네트워크에 발생하는 부작용에 대비하기 위해 중요하다.The number of bitcoin transactions has increased dramatically over the past few years. As the number of transactions increased, the Bitcoin network became active. However, side effects are occurring due to the increase in the number of bitcoin transactions. The transaction fee has increased, but the transaction confirmation time has been delayed. It can be seen that the number of bitcoin transactions and the bitcoin price show a clear positive linear relationship, and the number of bitcoin transactions is a factor affecting the bitcoin price. Predicting the number of bitcoin transactions is important to prepare for side effects that occur on the bitcoin network.

예컨대, 한국공개특허 제10-2018-0014534호는 블록체인 기반 트랜잭션 검증 시스템 및 그 방법에 관한 것으로, 노드가 트랜잭션이 모여 생성된 블록을 수신하고, 노드가 블록에 대한 블록 검증 권한이 할당되었는지 여부를 판단하고, 블록 검증 권한이 부여된 것으로 판단되면, 수신된 블록의 트랜잭션을 검증하는 구성을 개시하고 있다. 그러나, 종래의 기술은 트랜잭션을 검증할 뿐, 트랜잭션 수를 예측하지는 못한다. For example, Korean Patent Laid-Open No. 10-2018-0014534 relates to a blockchain-based transaction verification system and its method. Whether a node receives a block generated by a collection of transactions, and whether the node is assigned block verification authority for the block. When it is determined that the block verification authority is granted, a configuration for verifying the transaction of the received block is initiated. However, the conventional technique only verifies the transaction and cannot predict the number of transactions.

이에, 비트코인 네트워크의 성장 및 부작용에 대비하기 위하여 비트코인 트랜잭션 수를 예측하기 위한 기술이 요구된다. Accordingly, in order to prepare for the growth and side effects of the Bitcoin network, a technique for predicting the number of Bitcoin transactions is required.

비트코인 트랜잭션 수를 예측하는 기계학습 모델을 설계하는 방법 및 시스템을 제공할 수 있다. A method and system for designing a machine learning model that predicts the number of Bitcoin transactions can be provided.

트랜잭션 수를 예측하는 방법은, 가상화폐 데이터를 이용하여 트랜잭션 수를 예측하기 위한 기계학습 모델을 구성하는 단계; 상기 가상화폐 데이터에 대한 전처리 과정을 수행하여 상기 구성된 기계학습 모델에 입력하기 위한 학습 데이터를 선정하는 단계; 및 상기 구성된 기계학습 모델에 상기 선정된 학습 데이터를 입력하여 학습시킴에 따라 가상화폐의 트랜잭션 수를 예측하는 단계를 포함할 수 있다. The method of predicting the number of transactions may include constructing a machine learning model for predicting the number of transactions using virtual currency data; Selecting training data to be input to the configured machine learning model by performing a preprocessing process on the virtual currency data; And predicting the number of virtual currency transactions by inputting and learning the selected training data into the configured machine learning model.

상기 학습 데이터를 선정하는 단계는, 가상화폐 블록에 포함된 블록 데이터와 트랜잭션 데이터를 포함하는 가상화폐 데이터를 수집하고, 상기 수집된 가상화폐 데이터에 포함된 블록 데이터와 트랜잭션 데이터의 통계 처리를 통하여 가상화폐 블록 데이터 및 트랜잭션 통계 데이터를 획득하는 단계를 포함할 수 있다. The selecting of the learning data includes collecting virtual currency data including block data and transaction data included in the virtual currency block, and performing statistical processing of the block data and transaction data included in the collected virtual currency data. It may include obtaining currency block data and transaction statistics data.

상기 학습 데이터를 선정하는 단계는, 상기 획득된 가상화폐 블록 데이터 및 트랜잭션 통계 데이터에 상관분석을 적용하여 학습 데이터를 선정하는 단계를 포함하고, 상기 상관분석으로 피어슨 상관분석 또는 스피어만 상관분석 중 어느 하나를 적용할 수 있다. The step of selecting the learning data includes selecting learning data by applying a correlation analysis to the obtained virtual currency block data and transaction statistics data, and any of Pearson correlation analysis or Spearman correlation analysis as the correlation analysis. One can be applied.

상기 학습 데이터를 선정하는 단계는, 제N 번째 블록의 가상화폐 블록 데이터 및 트랜잭션 통계 데이터와 제N+1 번째 가상화폐 트랜잭션 수와의 상관분석을 적용하여 학습 데이터(Train set)를 선정하고, 상기 학습 데이터로 미선정된 데이터를 검증 데이터(Validation set)으로 분류하는 단계를 포함할 수 있다. The step of selecting the training data includes selecting a training data (train set) by applying a correlation analysis between the virtual currency block data and transaction statistics data of the Nth block and the number of N+1th virtual currency transactions, and the It may include the step of classifying the data that has not been selected as the training data as validation data (validation set).

상기 트랜잭션 수를 예측하는 단계는, 상기 구성된 기계학습 모델에 존재하는 선형회귀 모델 및 LSTM 모델에 기초하여 상기 선정된 학습 데이터를 각각 입력하여 학습시키는 단계를 포함하고, 상기 선형회귀 모델은, 입력 데이터로 가상화폐 블록 데이터 및 트랜잭션의 통계 데이터를 사용하고, 상기 LSTM 모델은 입력 데이터로 가상화폐 블록 데이터, 트랜잭션의 통계 데이터 및 트랜잭션의 수를 사용할 수 있다. The predicting of the number of transactions includes inputting and training the selected training data based on a linear regression model and an LSTM model existing in the configured machine learning model, respectively, and the linear regression model includes input data As input data, cryptocurrency block data and transaction statistics are used, and the LSTM model can use cryptocurrency block data, transaction statistics data, and the number of transactions as input data.

상기 트랜잭션 수를 예측하는 단계는, 상기 학습 데이터, 기계학습 모델의 네트워크의 수, 상기 기계학습 모델의 성능을 평가하는 손실 함수(Loss Function), 상기 손실 함수를 줄이기 위한 함수인 최적화 함수(Optimize Function), 상기 학습 데이터의 길이인 시퀀스 길이(Sequence Length), 기계학습 모델의 셀(Cell)에 존재하는 히든 유닛(Hidden Unit)의 수 중 적어도 하나 이상의 요소를 설정하여 기계학습 모델을 구성하고 있는 하이퍼 파라미터(Hyper-parameter)를 최적화하는 단계를 포함할 수 있다. The predicting of the number of transactions includes the training data, the number of networks of the machine learning model, a loss function that evaluates the performance of the machine learning model, and an optimization function that is a function for reducing the loss function. ), a sequence length that is the length of the training data, and a hyper that configures the machine learning model by setting at least one element of the number of hidden units existing in the cell of the machine learning model. It may include the step of optimizing the parameter (Hyper-parameter).

트랜잭션 수 예측 시스템은, 가상화폐 데이터를 이용하여 트랜잭션 수를 예측하기 위한 기계학습 모델을 구성하는 모델 구성부; 상기 가상화폐 데이터에 대한 전처리 과정을 수행하여 상기 구성된 기계학습 모델에 입력하기 위한 학습 데이터를 선정하는 선정부; 및 상기 구성된 기계학습 모델에 상기 선정된 학습 데이터를 입력하여 학습시킴에 따라 가상화폐의 트랜잭션 수를 예측하는 예측부를 포함할 수 있다. The transaction number prediction system includes: a model construction unit that constructs a machine learning model for predicting the number of transactions using virtual currency data; A selection unit selecting training data for input into the configured machine learning model by performing a preprocessing process on the virtual currency data; And a prediction unit that predicts the number of transactions of virtual currency by inputting and learning the selected training data in the configured machine learning model.

상기 선정부는, 가상화폐 블록에 포함된 블록 데이터와 트랜잭션 데이터를 포함하는 가상화폐 데이터를 수집하고, 상기 수집된 가상화폐 데이터에 포함된 블록 데이터와 트랜잭션 데이터의 통계 처리를 통하여 가상화폐 블록 데이터 및 트랜잭션 통계 데이터를 획득할 수 있다. The selection unit collects cryptocurrency data including block data and transaction data included in the cryptocurrency block, and performs statistical processing of block data and transaction data included in the collected cryptocurrency data to provide cryptocurrency block data and transactions. Statistical data can be obtained.

상기 선정부는, 상기 획득된 가상화폐 블록 데이터 및 트랜잭션 통계 데이터에 상관분석을 적용하여 학습 데이터를 선정하는 것을 포함하고, 상기 상관분석으로 피어슨 상관분석 또는 스피어만 상관분석 중 어느 하나를 적용할 수 있다. The selection unit may include selecting learning data by applying a correlation analysis to the acquired virtual currency block data and transaction statistics data, and may apply either Pearson correlation analysis or Spearman correlation analysis as the correlation analysis. .

상기 선정부는, 제N 번째 블록의 가상화폐 블록 데이터 및 트랜잭션 통계 데이터와 제N+1 번째 가상화폐 트랜잭션 수와의 상관분석을 적용하여 학습 데이터(Train set)를 선정하고, 상기 학습 데이터로 미선정된 데이터를 검증 데이터(Validation set)으로 분류할 수 있다. The selection unit selects a training data (train set) by applying a correlation analysis between the virtual currency block data and transaction statistics data of the Nth block and the number of N+1th virtual currency transactions, and is not selected as the training data. Data can be classified as validation set.

상기 예측부는, 상기 구성된 기계학습 모델에 존재하는 선형회귀 모델 및 LSTM 모델에 기초하여 상기 선정된 학습 데이터를 각각 입력하여 학습시키는 것을 포함하고, 상기 선형회귀 모델은, 입력 데이터로 가상화폐 블록 데이터 및 트랜잭션의 통계 데이터를 사용하고, 상기 LSTM 모델은 입력 데이터로 가상화폐 블록 데이터, 트랜잭션의 통계 데이터 및 트랜잭션의 수를 사용할 수 있다. The prediction unit includes inputting and training the selected training data based on a linear regression model and an LSTM model existing in the configured machine learning model, respectively, and the linear regression model includes virtual currency block data and The transaction statistics data is used, and the LSTM model can use virtual currency block data, transaction statistics data, and the number of transactions as input data.

상기 예측부는, 상기 학습 데이터, 기계학습 모델의 네트워크의 수, 상기 기계학습 모델의 성능을 평가하는 손실 함수(Loss Function), 상기 손실 함수를 줄이기 위한 함수인 최적화 함수(Optimize Function), 상기 학습 데이터의 길이인 시퀀스 길이(Sequence Length), 기계학습 모델의 셀(Cell)에 존재하는 히든 유닛(Hidden Unit)의 수 중 적어도 하나 이상의 요소를 설정하여 기계학습 모델을 구성하고 있는 하이퍼 파라미터(Hyper-parameter)를 최적화할 수 있다. The prediction unit may include the training data, the number of networks of the machine learning model, a loss function for evaluating the performance of the machine learning model, an optimization function that is a function for reducing the loss function, and the training data. Hyper-parameter constituting the machine learning model by setting at least one element of the sequence length, which is the length of the machine learning model, and the number of hidden units in the cell of the machine learning model. ) Can be optimized.

가상화폐 네트워크를 유지 및 성장시키는데 중요한 가상화폐 트랜잭션 수를 기계학습 모델을 적용하여 예측할 수 있다. The number of cryptocurrency transactions that are important for maintaining and growing the cryptocurrency network can be predicted by applying a machine learning model.

도 1은 일 실시예에 따른 트랜잭션 수 예측 시스템의 동작을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 트랜잭션 수 예측 시스템의 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 트랜잭션 수 예측 시스템에서 트랜잭션 수를 예측하는 방법을 설명하기 위한 흐름도이다.
도 4 및 도 5는 일 실시예에 따른 트랜잭션 수 예측 시스템에서 상관분석을 적용한 기계학습 모델의 성능을 비교한 예이다.
도 6 및 도 7은 일 실시예에 따른 트랜잭션 수 예측 시스템에서 기계학습 모델의 구성하는 하이퍼 파라미터를 최적화하는 것을 설명하기 위한 예이다.
1 is a diagram illustrating an operation of a system for predicting the number of transactions according to an embodiment.
2 is a block diagram illustrating a configuration of a system for predicting the number of transactions according to an embodiment.
3 is a flowchart illustrating a method of predicting the number of transactions in the system for predicting the number of transactions according to an embodiment.
4 and 5 are examples of comparing performance of a machine learning model to which correlation analysis is applied in a system for predicting the number of transactions according to an embodiment.
6 and 7 are examples for explaining optimization of a hyper parameter constituting a machine learning model in a system for predicting the number of transactions according to an embodiment.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

가상화폐(암호화폐)란 컴퓨터 등에 정보 형태로 남아 실물없이 사이버 상으로만 거래되는 전자화폐의 일종으로, 블록체인 기술을 활용하는 분산형 시스템 처리 방식으로 처리되며, 다양한 종류의 가상화폐가 존재할 수 있다. 실시예에서는 설명의 편의를 위하여 가상화폐로 비트코인을 예를 들어 설명하기로 한다. Virtual currency (cryptocurrency) is a type of electronic money that remains in the form of information on a computer, etc., and is traded only on cyber without real objects, and is processed by a distributed system processing method using blockchain technology, and various types of virtual currency can exist. have. In the embodiment, for convenience of explanation, bitcoin as a virtual currency will be described as an example.

도 1은 일 실시예에 따른 트랜잭션 수 예측 시스템의 동작을 설명하기 위한 도면이다.1 is a diagram illustrating an operation of a system for predicting the number of transactions according to an embodiment.

트랙잭션 수 예측 시스템은 전처리 과정(110) 및 기계학습 모델 설계 과정(120)을 수행할 수 있다. 전처리 과정(110)에서, 트랜잭션 수 예측 시스템은 비트코인 코어로부터 비트코인 블록에 포함된 블록 데이터와 트랜잭션 데이터를 수집할 수 있다. 이때, 수집을 위하여 CentOS 운영체제를 사용하고, 데이터베이스 소프트웨어는 MongoDB를 사용할 수 있다. 수집한 비트코인의 블록 데이터 및 트랜잭션 데이터에 대한 다양한 종류가 존재할 수 있다. 예를 들면, 비트코인의 블록 데이터 및 트랜잭션에 대한 데이터의 종류로 블록에 포함된 트랜잭션의 수, 블록의 무게, 블록의 사이즈, 블록의 가상 크기, 트랜잭션이 포함하고 있는 입력의 수, 트랜잭션이 포함하고 있는 출력의 수, 트랜잭션의 거래 금액, 트랜잭션의 수수료, 트랜잭션의 크기, 트랜잭션의 가상 크기, 트랜잭션의 입력값, 트랜잭션의 출력값 등이 존재할 수 있다.The transaction number prediction system may perform a preprocessing process 110 and a machine learning model design process 120. In the preprocessing process 110, the system for predicting the number of transactions may collect block data and transaction data included in the bitcoin block from the bitcoin core. At this time, CentOS operating system can be used for collection, and MongoDB can be used for database software. There can be various types of collected bitcoin block data and transaction data. For example, Bitcoin block data and transaction data type, including the number of transactions included in the block, the weight of the block, the size of the block, the virtual size of the block, the number of inputs in the transaction, and the transaction. There may be the number of outputs being performed, the transaction amount of the transaction, the transaction fee, the size of the transaction, the virtual size of the transaction, the input value of the transaction, and the output value of the transaction.

트랜잭션 수 예측 시스템은 수집한 비트코인 블록 데이터 및 통계 데이터로부터 통계 정보를 획득하기 위하여 통계 처리를 수행할 수 있다. 트랜잭션 수 예측 시스템은 트랜잭션 단위에 대하여 통계 처리를 적용할 수 있다. 이때, 트랜잭션 수 예측 시스템은 통계 처리로 합, 곱, 최대값, 최소값, 평균값을 도출할 수 있다. 예를 들면, 트랜잭션 데이터에 기 설정된 횟수(예를 들면, 1번, 2번 등)의 통계 처리를 수행할 수 있다. 이러한 통계 처리를 수행한 복수 가지 종류(예를 들면, 84가지)의 비트코인 블록 데이터 및 트랜잭션 통계 데이터로 구성될 수 있다. The transaction number prediction system may perform statistical processing to obtain statistical information from the collected bitcoin block data and statistical data. The system for predicting the number of transactions can apply statistical processing to each transaction unit. At this time, the system for predicting the number of transactions may derive sum, product, maximum value, minimum value, and average value through statistical processing. For example, statistical processing of a preset number of times (eg, 1, 2, etc.) may be performed on transaction data. It may be composed of a plurality of types (eg, 84 types) of bitcoin block data and transaction statistics data that have performed such statistical processing.

트랜잭션 수 예측 시스템은 통계 처리를 수행함에 따라 획득된 가상화폐 블록 데이터 및 트랜잭션 통계 데이터에 상관분석을 적용하여 학습 데이터를 선정할 수 있다. 이때, 상관분석을 적용함에 따라 기계학습 모델에 입력하는 학습 데이터 및 학습에 사용되지 않는 검증 데이터로 분류될 수 있다. 학습 데이터는 기계학습 모델을 학습시키는데 사용될 수 있고, 검증 데이터는 기계학습 모델의 성능을 검증하기 위하여 사용될 수 있다. The transaction number prediction system may select learning data by applying correlation analysis to the virtual currency block data and transaction statistics data obtained as statistical processing is performed. In this case, by applying the correlation analysis, it may be classified into training data input to the machine learning model and verification data not used for training. The training data can be used to train the machine learning model, and the verification data can be used to verify the performance of the machine learning model.

구체적으로, 상관분석이란 두 변수 사이의 선형적 관계의 유무를 분석하는 것이다. 두 변수는 서로 독립적인 관계이거나 상관된 관계일 수 있다. 이때, 두 변수 사이의 관계 강도를 상관관계라고 한다. 실시예에서는 기계학습 모델에 적합한 학습 데이터의 선정을 위하여 상관분석을 이용할 수 있다. 예를 들면, 피어슨 상관분석 또는 스피어만 상관분석을 이용할 수 있다. Specifically, correlation analysis is to analyze the presence or absence of a linear relationship between two variables. The two variables may be independent or correlated. At this time, the strength of the relationship between the two variables is called correlation. In an embodiment, correlation analysis may be used to select training data suitable for a machine learning model. For example, Pearson correlation analysis or Spearman correlation analysis can be used.

우선, 피어슨 상관분석을 이용하여 기계학습 모델에 적합한 학습 데이터를 선정하는 방법을 설명하기로 한다. 피어슨 상관 분석은 피어슨 상관계수(Pearson correlation coefficient)를 이용하여 분석을 수행한다. 이때, 피어슨 상관계수는 두 변수 사이의 선형 상관관계를 계량화한 수치이다. 피어슨 상관계수는 -1 내지 +1사이의 값을 갖고, 수학식 1에 의해 값을 도출할 수 있다. First, a method of selecting training data suitable for a machine learning model using Pearson's correlation analysis will be described. Pearson correlation analysis is performed using Pearson correlation coefficient. At this time, the Pearson correlation coefficient is a quantification of the linear correlation between two variables. The Pearson correlation coefficient has a value between -1 and +1, and a value can be derived by Equation 1.

수학식 1:Equation 1:

Figure 112019086754385-pat00001
Figure 112019086754385-pat00001

p는 피어슨 상관계수, B는 블록 통계 데이터, T는 트랜잭션 수, n은 데이터의 개수, S는 표준편차, bar는 표본 평균이다. 구체적으로, B i 는 블록 통계 데이터,

Figure 112019086754385-pat00002
는 블록 통계 데이터의 표본, S B 는 블록 통계 데이터의 표준 편차, S T 는 트랜잭션 수의 표준 편차를 의미한다. 또한, 피어슨 상관계수 p의 범위에 따라 다음과 같은 해석을 할 수 있다. 피어슨 상관계수의 값이 -1인 경우 완벽한 음의 선형적 관계, +1인 경우 완벽한 선형적 관계를 의미한다. p is the Pearson correlation coefficient, B is the block statistics, T is the number of transactions, n is the number of data, S is the standard deviation, and bar is the sample mean. Specifically, B i is block statistical data,
Figure 112019086754385-pat00002
Is the sample of block statistics data, S B is the standard deviation of block statistics data, and S T is the standard deviation of the number of transactions. In addition, according to the range of the Pearson correlation coefficient p , the following interpretation can do. If the value of Pearson's correlation coefficient is -1, it means a perfect negative linear relationship, and when it is +1, it means a perfect linear relationship.

Figure 112019086754385-pat00003
Figure 112019086754385-pat00003

다음으로, 스피어만 상관분석을 이용하여 기계학습 모델에 적합한 학습 데이터를 선정하는 방법을 설명하기로 한다. 스피어만 상관분석은 스피어만 상관계수(Spearman correlation coefficient)를 이용하여 분석을 수행한다. 스피어만 상관계수는 변수의 값 대신 순위를 이용하는 경우의 상관계수이며, 값을 작은 것부터 차례로 순위를 매겨 서열 순서로 바꾼 뒤 순위를 이용하여 값을 도출할 수 있다. 스피어만 상관계수는 수학식 2에 의해 값이 도출될 수 있다.Next, a method of selecting training data suitable for a machine learning model using Spearman correlation analysis will be described. Spearman correlation analysis is performed using the Spearman correlation coefficient. The Spearman correlation coefficient is a correlation coefficient in the case of using a ranking instead of a value of a variable, and values can be derived using the ranking after changing the order of ranking by ranking values from smallest ones. The value of the Spearman correlation coefficient may be derived by Equation 2.

수학식 2:Equation 2:

Figure 112019086754385-pat00004
Figure 112019086754385-pat00004

p는 스피어만 상관계수, n은 데이터의 개수, B i 는 블록 통계 데이터에서 i번째 데이터의 순위, T i 는 트랜잭션 수에서 i번째 데이터의 순위, bar는 표본 평균이다.

Figure 112019086754385-pat00005
는 블록 통계 데이터의 표본 평균,
Figure 112019086754385-pat00006
는 트랜잭션 수의 표본 평균을 의미한다. 또한, 스피어만 상관계수 p의 범위에 따라 다음과 같은 해석을 할 수 있다. 스피어만 상관계수의 값은 -1내지 +1사이의 값을 갖는다. -1인 경우 두 변수의 순위가 완전 반대이고 +1인 경우 두 변수의 순위가 완벽히 일치함을 의미한다. p is a Spearman correlation coefficient, n is the number of data, B i is a rank of the i-th data block in the data statistics, T i is a rank, bar of the i-th data in the number of transactions is the sample mean.
Figure 112019086754385-pat00005
Is the sample mean of the block statistical data,
Figure 112019086754385-pat00006
Is the sample average of the number of transactions. In addition, according to the range of the Spearman correlation coefficient p , the following interpretation can do. The values of the Spearman correlation coefficient range from -1 to +1. A value of -1 means that the ranks of the two variables are completely opposite, and a value of +1 means that the ranks of the two variables are perfectly matched.

Figure 112019086754385-pat00007
Figure 112019086754385-pat00007

트랜잭션 수 예측 시스템은 트랜잭션 수 예측을 위하여 제N번째 블록의 기 설정된 개수의 비트코인 블록 데이터 및 트랜잭션 통계 데이터와 제N+1번째 비트코인 트랜잭션 수와의 상관분석을 수행한 뒤, 상관계수 값의 크기에 따라 오름차순으로 나열할 수 있다. 도 4 및 도 5를 참고하면, 트랜잭션 수 예측 시스템에서 상관분석을 적용한 기계학습 모델의 성능을 비교한 예이다. 트랜잭션 수 예측 시스템은 학습 데이터에 따른 기계학습 모델의 성능 비교를 위하여 피어슨 상관분석의 경우, 양의 선형적 관계가 있는 데이터와 선형적 관계가 없는 데이터를 선정할 수 있다. 예를 들면, 양의 선형적 관계가 있는 데이터 3개와 선형적 관계가 없는 데이터 3개를 선정할 수 있다. 이때, 트랜잭션 수와 음의 선형적 관계를 나타내는 데이터는 존재하지 않는다.In order to predict the number of transactions, the system for predicting the number of transactions performs a correlation analysis between the number of bitcoin block data and transaction statistics data of the Nth block and the number of N+1th bitcoin transactions, and then calculates the correlation coefficient. They can be listed in ascending order by size. Referring to FIGS. 4 and 5, it is an example of comparing the performance of a machine learning model to which correlation analysis is applied in a transaction number prediction system. In the case of Pearson correlation analysis, in order to compare the performance of the machine learning model according to the training data, the transaction number prediction system may select data having a positive linear relationship and data having no linear relationship. For example, three data having a positive linear relationship and three data having no linear relationship may be selected. At this time, there is no data indicating a negative linear relationship with the number of transactions.

트랜잭션 수 예측 시스템은 학습 데이터에 따른 기계학습 모델의 성능 비교를 위하여 스피어만 상관분석의 경우, -1 또는 +1에 가까운 데이터와 상관관계가 없는 데이터를 선정할 수 있다. 예를 들면, -1 또는 +1에 가까운 데이터 4개와 상관관계가 없는 데이터 3개를 선정할 수 있다. 도 4 및 도 5를 참고하면, 두 가지 상관분석을 통한 상관계수의 값이 큰 상위 3 개수의 항목이 sum.nVout, sum.vsize, sum.nVin으로 일치함을 확인할 수 있다. 그러나 피어슨 상관분석의 경우, sum.nVin의 상관계수 값이 가장 크고, 스피어만 상관분석의 경우 sum.vsize의 상관계수 값이 가장 큰 것을 확인할 수 있다. In the case of Spearman correlation analysis, in order to compare the performance of the machine learning model according to the training data, the transaction number prediction system may select data close to -1 or +1 and data that are not correlated. For example, you can select 4 data close to -1 or +1 and 3 data that are not correlated. Referring to FIGS. 4 and 5, it can be seen that the items of the top 3 numbers having a large correlation coefficient value through two correlation analysis are matched by sum.nVout, sum.vsize, and sum.nVin. However, in the case of Pearson correlation analysis, the correlation coefficient value of sum.nVin is the largest, and in the case of Spearman correlation analysis, the correlation coefficient value of sum.vsize is the largest.

트랜잭션 수 예측 시스템은 기계학습 모델을 선정할 수 있다. 트랜잭션 수 예측 시스템은 두 가지의 기계학습 모델을 선정할 수 있다. 이때, 트랜잭션 수 예측 시스템은 기계학습 알고리즘 중 가장 간단한 알고리즘이 적용된 선형회귀 모델과 시계열 데이터 예측에 특화된 LSTM 모델을 포함하는 기계학습 모델을 선정할 수 있다. 트랜잭션 수 예측 시스템은 동일한 학습 데이터를 사용하여 선형회귀 모델과 LSTM 모델의 성능을 비교할 수 있고, 상관분석을 통해 선정한 데이터 항목에 대한 각 모델의 성능 비교를 수행할 수 있다. 선형회귀 모델의 경우 학습할 때, 입력 데이터로 비트코인 블록 데이터 및 트랜잭션 통계 데이터를 사용하여 비트코인 트랜잭션 수를 예측할 수 있고, LSTM 모델의 경우 학습할 때, 입력 데이터로 비트코인 블록 데이터, 트랜잭션 통계 데이터 및 트랜잭션 수를 입력 데이터로 사용하여 트랜잭션 수를 예측할 수 있다. The transaction number prediction system can select a machine learning model. The transaction number prediction system can select two machine learning models. In this case, the transaction number prediction system may select a machine learning model including a linear regression model to which the simplest algorithm among machine learning algorithms is applied and an LSTM model specialized for time series data prediction. The transaction number prediction system can compare the performance of the linear regression model and the LSTM model using the same training data, and can perform the performance comparison of each model on the data item selected through correlation analysis. In the case of the linear regression model, the number of bitcoin transactions can be predicted using bitcoin block data and transaction statistics data as input data when training, and in the case of the LSTM model, bitcoin block data and transaction statistics as input data when learning. The number of transactions can be predicted using the number of data and transactions as input data.

트랜잭션 수 예측 시스템은 기계학습 모델을 구성함에 있어서, 기계학습 모델을 설정하기 위한 요소를 최적화할 수 있다. 하이퍼 파라미터란 기계학습 모델을 구성함에 있어서 임의로 설정할 수 있는 요소를 의미할 수 있으며, 이러한 요소를 조절하여 최적의 성능의 기계학습 모델을 도출할 수 있다. 트랜잭션 수 예측 시스템은 학습 데이터, 기계학습 모델의 네트워크의 수, 기계학습 모델의 성능을 평가하는 손실 함수(Loss Function), 손실 함수를 줄이기 위한 함수인 최적화 함수(Optimize Function), 학습 데이터의 길이인 시퀀스 길이(Sequence Length), 기계학습 모델의 셀(Cell)에 존재하는 히든 유닛(Hidden Unit)의 수 중 적어도 하나 이상의 요소를 설정하여 기계학습 모델을 구성하고 있는 하이퍼 파라미터(Hyper-parameter)를 최적화할 수 있다. 예를 들면, 선형회귀 모델의 경우, 뉴럴 네트워크(Neural Network)의 수, 모델의 성능을 평가하는 손실 함수(Loss Function), 손실 함수를 줄이기 위한 함수인 최적화 함수(Optimize Function)를 포함하는 하이퍼 파라미터를 설정할 수 있다. LSTM 모델의 경우, 뉴럴 네트워크(Neural Network)의 수, 모델의 성능을 평가하는 손실 함수(Loss Function), 손실 함수를 줄이기 위한 함수인 최적화 함수(Optimize Function), 1회 학습에 사용할 데이터의 길이인 시퀀스 길이(Sequence Length), LSTM Cell에 존재하는 히든 유닛(Hidden Unit)의 수를 포함하는 하이퍼 파라미터를 설정할 수 있다. 학습된 기계학습 모델의 성능을 평가하기 위하여 검증 데이터 및 학습 데이터에 대한 손실 함수를 적용한 값을 분석하여 하이퍼 파라미터를 최적화할 수 있다. In constructing a machine learning model, the transaction number prediction system can optimize elements for setting the machine learning model. The hyper parameter may mean an element that can be arbitrarily set in constructing a machine learning model, and by adjusting these elements, a machine learning model with optimal performance can be derived. The system for predicting the number of transactions is the training data, the number of networks of the machine learning model, the loss function that evaluates the performance of the machine learning model, the optimize function, which is a function to reduce the loss function, and the length of the training data. Optimizing hyper-parameters constituting the machine learning model by setting at least one factor among the sequence length and the number of hidden units in the cell of the machine learning model can do. For example, in the case of a linear regression model, hyperparameters including the number of neural networks, a loss function that evaluates the performance of the model, and an optimization function that is a function to reduce the loss function Can be set. In the case of an LSTM model, the number of neural networks, the loss function to evaluate the performance of the model, the optimize function to reduce the loss function, and the length of data to be used for one-time training It is possible to set a hyper parameter including the sequence length and the number of hidden units existing in the LSTM cell. In order to evaluate the performance of the trained machine learning model, the hyperparameter can be optimized by analyzing the validation data and the loss function applied to the training data.

도 6 및 도 7을 참고하면, 기계학습 모델의 구성하는 하이퍼 파라미터를 최적화하는 것을 설명하기 위한 예이다. 도 4 및 도 5에 따른 비트코인 트랜잭션 수를 예측하는데 가장 좋은 성능을 보인 sum.nVin을 학습 데이터로 사용하여 기계학습 모델의 하이퍼 파라미터를 최적화할 수 있다. 일례로, 도 6을 참고하면, 히든 유닛의 수를 최적화하는 것을 나타낸 예이다. 트랜잭션 수 예측 시스템은 시퀀스 길이를 1로 설정하여, 히든 유닛의 수를 증가해가면서 최적의 히든 유닛의 수를 도출할 수 있다. 이때, 히든 유닛의 수가 8을 넘어가도, MSE는 감소하지 않음을 확인할 수 있다. 이에, 트랜잭션 수 예측 시스템은 히든 유닛의 수를 8로 설정할 수 있다. 다른 예로서, 도 7을 참고하면, 시퀀스 길이를 최적화하는 것을 나타낸 예이다. 트랜잭션 수 예측 시스템은 히든 유닛의 수를 8로 설정하여, 시퀀스 길이를 증가해가면서 최적의 시퀀스 길이를 도출할 수 있다. 이때, 시퀀스 길이의 수가 32를 넘어가도 MSE는 감소하지 않음을 확인할 수 있다. 이에, 트랜잭션 수 예측 시스템은 시퀀스 길이를 32로 설정할 수 있다. 6 and 7 are examples for explaining optimization of hyper parameters constituting a machine learning model. The hyperparameter of the machine learning model can be optimized by using sum.nVin, which has the best performance in predicting the number of bitcoin transactions according to FIGS. 4 and 5, as training data. As an example, referring to FIG. 6, it is an example showing that the number of hidden units is optimized. The system for predicting the number of transactions may set the sequence length to 1 to derive the optimal number of hidden units while increasing the number of hidden units. At this time, it can be seen that even if the number of hidden units exceeds 8, the MSE does not decrease. Accordingly, the transaction number prediction system may set the number of hidden units to 8. As another example, referring to FIG. 7, it is an example showing that the sequence length is optimized. The transaction number prediction system sets the number of hidden units to 8, and increases the sequence length to derive the optimal sequence length. At this time, it can be seen that even if the number of sequence lengths exceeds 32, the MSE does not decrease. Accordingly, the system for predicting the number of transactions may set the sequence length to 32.

일 실시예에 따른 트랜잭션 수 예측 시스템은 LSTM 모델의 학습 데이터 선정하는 방법론으로 피어슨 상관분석을 적용함에 따라 피어슨 상관계수의 값이 클수록 LSTM 모델의 성능이 향상됨을 확인할 수 있다. 또한, LSTM 모델을 구성하고 있는 하이퍼 파라미터의 최적화는 실험을 통해 적용시킬 수 있다. As the transaction number prediction system according to an embodiment applies Pearson correlation analysis as a methodology for selecting training data of an LSTM model, it can be seen that the performance of the LSTM model improves as the value of the Pearson correlation coefficient increases. In addition, optimization of the hyper parameters constituting the LSTM model can be applied through experiments.

일 실시예에 따른 트랜잭션 수 예측 시스템은 기계학습 모델의 검증 및 실험 MSE를 통해 가장 최소값을 나타내는 구성을 탐색할 수 있다. 또한, 트랜잭션 수 예측 시스템은 히든 유닛의 수 보다 시퀀스 길이의 값이 LSTM 모델에 성능에 영향을 주는 하이퍼 파라미터임을 알 수 있다. The system for predicting the number of transactions according to an embodiment may search for a configuration representing the minimum value through verification of a machine learning model and an experimental MSE. In addition, the transaction number prediction system can find that the value of the sequence length rather than the number of hidden units is a hyper parameter that affects the performance of the LSTM model.

또한, 동일한 조건에서 시퀀스 길이 값의 변화에 따른 LSTM 모델의 MSE 변화가 크다. In addition, the MSE change of the LSTM model is large according to the change of the sequence length value under the same condition.

도 2는 일 실시예에 따른 트랜잭션 수 예측 시스템의 구성을 설명하기 위한 블록도이고, 도 3은 일 실시예에 따른 트랜잭션 수 예측 시스템에서 트랜잭션 수를 예측하는 방법을 설명하기 위한 흐름도이다. 2 is a block diagram illustrating the configuration of a system for predicting the number of transactions according to an embodiment, and FIG. 3 is a flowchart illustrating a method of predicting the number of transactions in the system for predicting the number of transactions according to an embodiment.

트랜잭션 수 예측 시스템(100)의 프로세서는 모델 구성부(210), 선정부(220) 및 예측부(230)를 포함할 수 있다. 이러한 프로세서의 구성요소들은 트랜잭션 수 예측 시스템(100)에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 3의 트랜잭션 수를 예측하는 방법이 포함하는 단계들(310 내지 330)을 수행하도록 트랜잭션 수 예측 시스템(100)을 제어할 수 있다. 이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.The processor of the transaction number prediction system 100 may include a model construction unit 210, a selection unit 220, and a prediction unit 230. Components of such a processor may be expressions of different functions performed by the processor according to a control command provided by a program code stored in the transaction number prediction system 100. The processor and components of the processor may control the transaction number prediction system 100 to perform steps 310 to 330 included in the method for predicting the number of transactions of FIG. 3. In this case, the processor and the components of the processor may be implemented to execute an instruction according to the code of the operating system included in the memory and the code of at least one program.

프로세서는 트랜잭션 수를 예측하는 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 트랜잭션 수 예측 시스템(100)에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 트랜잭션 수 예측 시스템(100)을 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 모델 구성부(210), 선정부(220) 및 예측부(230) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(310 내지 330)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다. The processor may load program code stored in a program file for a method of predicting the number of transactions into the memory. For example, when a program is executed in the transaction number prediction system 100, the processor may control the transaction number prediction system 100 to load the program code from the program file into the memory under the control of the operating system. At this time, each of the processor and the model construction unit 210, the selection unit 220, and the prediction unit 230 included in the processor executes a command of a corresponding part of the program code loaded into the memory, and subsequent steps 310 to 330 ) May be different functional representations of the processor to execute.

단계(310)에서 모델 구성부(210)는 가상화폐 데이터를 이용하여 트랜잭션 수를 예측하기 위한 기계학습 모델을 구성할 수 있다. In step 310, the model construction unit 210 may construct a machine learning model for predicting the number of transactions using virtual currency data.

단계(320)에서 선정부(220)는 가상화폐 데이터에 대한 전처리 과정을 수행하여 구성된 기계 학습 모델에 입력하기 위한 학습 데이터를 선정할 수 있다. 선정부(220)는 가상화폐 블록에 포함된 블록 데이터와 트랜잭션 데이터를 포함하는 가상화폐 데이터를 수집하고, 수집된 가상화폐 데이터에 포함된 블록 데이터와 트랜잭션 데이터의 통계 처리를 통하여 가상화폐 데이터 및 트랜잭션 통계 데이터를 획득할 수 있다. 선정부(220)는 획득된 가상화폐 블록 데이터 및 트랜잭션 통계 데이터에 상관분석을 적용하여 학습 데이터를 선정할 수 있다. 선정부(220)는 상관분석으로 피어슨 상관분석 또는 스피어만 상관분석 중 어느 하나를 적용할 수 있다. 선정부(220)는 제N 번째 블록의 가상화폐 블록 데이터 및 트랜잭션 통계 데이터와 제N+1 번째 가상화폐 트랜잭션 수와의 상관분석을 적용하여 학습 데이터(Train set)를 선정하고, 학습 데이터로 미선정된 데이터를 검증 데이터(Validation set)으로 분류할 수 있다. In step 320, the selection unit 220 may select training data for input into the configured machine learning model by performing a preprocessing process on the virtual currency data. The selection unit 220 collects cryptocurrency data including block data and transaction data included in the cryptocurrency block, and performs statistical processing of block data and transaction data included in the collected cryptocurrency data to provide cryptocurrency data and transactions. Statistical data can be obtained. The selection unit 220 may select learning data by applying correlation analysis to the acquired virtual currency block data and transaction statistics data. The selection unit 220 may apply either Pearson correlation analysis or Spearman correlation analysis as correlation analysis. The selection unit 220 selects a training data (train set) by applying a correlation analysis between the virtual currency block data and transaction statistics data of the Nth block and the number of N+1th virtual currency transactions, and is not selected as the training data. The obtained data can be classified as a validation set.

단계(330)에서 예측부(230)는 구성된 기계학습 모델에 선정된 학습 데이터를 입력하여 학습시킴에 따라 가상화폐의 트랜잭션 수를 예측할 수 있다. 예측부(230)는 구성된 기계학습 모델에 존재하는 선형회귀 모델 및 LSTM 모델에 기초하여 선정된 학습 데이터를 각각 입력하여 학습시킬 수 있다. 예측부(230는 학습 데이터, 기계학습 모델의 네트워크의 수, 기계학습 모델의 성능을 평가하는 손실 함수(Loss Function), 손실 함수를 줄이기 위한 함수인 최적화 함수(Optimize Function), 학습 데이터의 길이인 시퀀스 길이(Sequence Length), 기계학습 모델의 셀(Cell)에 존재하는 히든 유닛(Hidden Unit)의 수 중 적어도 하나 이상의 요소를 설정하여 기계학습 모델을 구성하고 있는 하이퍼 파라미터(Hyper-parameter)를 최적화할 수 있다. In step 330, the prediction unit 230 may predict the number of transactions of the virtual currency by inputting and learning the selected training data in the configured machine learning model. The prediction unit 230 may input and train training data selected based on a linear regression model and an LSTM model existing in the configured machine learning model, respectively. The prediction unit 230 includes training data, the number of networks of the machine learning model, a loss function that evaluates the performance of the machine learning model, an optimization function that is a function for reducing the loss function, and the length of the training data. Optimizing hyper-parameters constituting the machine learning model by setting at least one factor among the sequence length and the number of hidden units in the cell of the machine learning model can do.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, such as one or more general purpose computers or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. Can be embodyed in The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler but also high-level language codes that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited embodiments and drawings, various modifications and variations are possible from the above description by those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.

Claims (12)

트랜잭션 수를 예측하는 방법에 있어서,
가상화폐 데이터를 이용하여 트랜잭션 수를 예측하기 위한 기계학습 모델을 구성하는 단계;
상기 가상화폐 데이터에 대한 전처리 과정을 수행하여 상기 구성된 기계학습 모델에 입력하기 위한 학습 데이터를 선정하는 단계; 및
상기 구성된 기계학습 모델에 상기 선정된 학습 데이터를 입력하여 학습시킴에 따라 가상화폐의 트랜잭션 수를 예측하는 단계
를 포함하는 트랜잭션 수를 예측하는 방법.
In the method of predicting the number of transactions,
Constructing a machine learning model for predicting the number of transactions using virtual currency data;
Selecting training data to be input to the configured machine learning model by performing a preprocessing process on the virtual currency data; And
Predicting the number of virtual currency transactions by inputting and learning the selected training data into the configured machine learning model
How to predict the number of transactions, including.
제1항에 있어서,
상기 학습 데이터를 선정하는 단계는,
가상화폐 블록에 포함된 블록 데이터와 트랜잭션 데이터를 포함하는 가상화폐 데이터를 수집하고, 상기 수집된 가상화폐 데이터에 포함된 블록 데이터와 트랜잭션 데이터의 통계 처리를 통하여 가상화폐 블록 데이터 및 트랜잭션 통계 데이터를 획득하는 단계
를 포함하는 트랜잭션 수를 예측하는 방법.
The method of claim 1,
The step of selecting the training data,
Collects virtual currency data including block data and transaction data included in the virtual currency block, and acquires virtual currency block data and transaction statistics data through statistical processing of the block data and transaction data included in the collected virtual currency data Steps to
How to predict the number of transactions, including.
제2항에 있어서,
상기 학습 데이터를 선정하는 단계는,
상기 획득된 가상화폐 블록 데이터 및 트랜잭션 통계 데이터에 상관분석을 적용하여 학습 데이터를 선정하는 단계
를 포함하고,
상기 상관분석으로 피어슨 상관분석 또는 스피어만 상관분석 중 어느 하나를 적용하는
트랜잭션 수를 예측하는 방법.
The method of claim 2,
The step of selecting the training data,
Selecting learning data by applying correlation analysis to the obtained virtual currency block data and transaction statistics data
Including,
Applying either Pearson correlation analysis or Spearman correlation analysis as the correlation analysis
How to estimate the number of transactions.
제3항에 있어서,
상기 학습 데이터를 선정하는 단계는,
제N 번째 블록의 가상화폐 블록 데이터 및 트랜잭션 통계 데이터와 제N+1 번째 가상화폐 트랜잭션 수와의 상관분석을 적용하여 학습 데이터(Train set)를 선정하고, 상기 학습 데이터로 미선정된 데이터를 검증 데이터(Validation set)으로 분류하는 단계
를 포함하는 트랜잭션 수를 예측하는 방법.
The method of claim 3,
The step of selecting the training data,
The training data (train set) is selected by applying correlation analysis between the cryptocurrency block data and transaction statistics data of the Nth block and the number of cryptocurrency transactions of the N+1th, and the data that has not been selected as the training data is verified. Classification as (Validation set)
How to predict the number of transactions, including.
제1항에 있어서,
상기 트랜잭션 수를 예측하는 단계는,
상기 구성된 기계학습 모델에 존재하는 선형회귀 모델 및 LSTM 모델에 기초하여 상기 선정된 학습 데이터를 각각 입력하여 학습시키는 단계
를 포함하고,
상기 선형회귀 모델은, 입력 데이터로 가상화폐 블록 데이터 및 트랜잭션의 통계 데이터를 사용하고,
상기 LSTM 모델은 입력 데이터로 가상화폐 블록 데이터, 트랜잭션의 통계 데이터 및 트랜잭션의 수를 사용하는
트랜잭션 수를 예측하는 방법.
The method of claim 1,
Predicting the number of transactions,
Inputting and learning the selected training data based on a linear regression model and an LSTM model existing in the configured machine learning model
Including,
The linear regression model uses virtual currency block data and transaction statistics as input data,
The LSTM model uses cryptocurrency block data, transaction statistics, and the number of transactions as input data.
How to estimate the number of transactions.
제5항에 있어서,
상기 트랜잭션 수를 예측하는 단계는,
상기 학습 데이터, 기계학습 모델의 네트워크의 수, 상기 기계학습 모델의 성능을 평가하는 손실 함수(Loss Function), 상기 손실 함수를 줄이기 위한 함수인 최적화 함수(Optimize Function), 상기 학습 데이터의 길이인 시퀀스 길이(Sequence Length), 기계학습 모델의 셀(Cell)에 존재하는 히든 유닛(Hidden Unit)의 수 중 적어도 하나 이상의 요소를 설정하여 기계학습 모델을 구성하고 있는 하이퍼 파라미터(Hyper-parameter)를 최적화하는 단계
를 포함하는 트랜잭션 수를 예측하는 방법.
The method of claim 5,
Predicting the number of transactions,
The training data, the number of networks of the machine learning model, a loss function for evaluating the performance of the machine learning model, an optimization function that is a function for reducing the loss function, a sequence that is the length of the training data Optimizing hyper-parameters constituting the machine learning model by setting at least one factor among the length (Sequence Length) and the number of hidden units in the cell of the machine learning model. step
How to predict the number of transactions, including.
트랜잭션 수 예측 시스템에 있어서,
가상화폐 데이터를 이용하여 트랜잭션 수를 예측하기 위한 기계학습 모델을 구성하는 모델 구성부;
상기 가상화폐 데이터에 대한 전처리 과정을 수행하여 상기 구성된 기계학습 모델에 입력하기 위한 학습 데이터를 선정하는 선정부; 및
상기 구성된 기계학습 모델에 상기 선정된 학습 데이터를 입력하여 학습시킴에 따라 가상화폐의 트랜잭션 수를 예측하는 예측부
를 포함하는 트랜잭션 수 예측 시스템.
In the transaction number prediction system,
A model construction unit configuring a machine learning model for predicting the number of transactions using virtual currency data;
A selection unit selecting training data for input into the configured machine learning model by performing a preprocessing process on the virtual currency data; And
A prediction unit that predicts the number of transactions of virtual currency by inputting and learning the selected training data into the configured machine learning model
Transaction number prediction system comprising a.
제7항에 있어서,
상기 선정부는,
가상화폐 블록에 포함된 블록 데이터와 트랜잭션 데이터를 포함하는 가상화폐 데이터를 수집하고, 상기 수집된 가상화폐 데이터에 포함된 블록 데이터와 트랜잭션 데이터의 통계 처리를 통하여 가상화폐 블록 데이터 및 트랜잭션 통계 데이터를 획득하는
것을 특징으로 하는 트랜잭션 수 예측 시스템.
The method of claim 7,
The selection unit,
Collects virtual currency data including block data and transaction data included in the virtual currency block, and acquires virtual currency block data and transaction statistics data through statistical processing of the block data and transaction data included in the collected virtual currency data doing
A system for predicting the number of transactions, characterized in that.
제8항에 있어서,
상기 선정부는,
상기 획득된 가상화폐 블록 데이터 및 트랜잭션 통계 데이터에 상관분석을 적용하여 학습 데이터를 선정하는 것을 포함하고,
상기 상관분석으로 피어슨 상관분석 또는 스피어만 상관분석 중 어느 하나를 적용하는
것을 특징으로 하는 트랜잭션 수 예측 시스템.
The method of claim 8,
The selection unit,
Including selecting learning data by applying a correlation analysis to the obtained virtual currency block data and transaction statistics data,
Applying either Pearson correlation analysis or Spearman correlation analysis as the correlation analysis
A system for predicting the number of transactions, characterized in that.
제9항에 있어서,
상기 선정부는,
제N 번째 블록의 가상화폐 블록 데이터 및 트랜잭션 통계 데이터와 제N+1 번째 가상화폐 트랜잭션 수와의 상관분석을 적용하여 학습 데이터(Train set)를 선정하고, 상기 학습 데이터로 미선정된 데이터를 검증 데이터(Validation set)으로 분류하는
것을 특징으로 하는 트랜잭션 수 예측 시스템.
The method of claim 9,
The selection unit,
The training data (train set) is selected by applying correlation analysis between the cryptocurrency block data and transaction statistics data of the Nth block and the number of cryptocurrency transactions of the N+1th, and the data that has not been selected as the training data is verified. Classified as (Validation set)
A system for predicting the number of transactions, characterized in that.
제7항에 있어서,
상기 예측부는,
상기 구성된 기계학습 모델에 존재하는 선형회귀 모델 및 LSTM 모델에 기초하여 상기 선정된 학습 데이터를 각각 입력하여 학습시키는 것을 포함하고,
상기 선형회귀 모델은, 입력 데이터로 가상화폐 블록 데이터 및 트랜잭션의 통계 데이터를 사용하고,
상기 LSTM 모델은 입력 데이터로 가상화폐 블록 데이터, 트랜잭션의 통계 데이터 및 트랜잭션의 수를 사용하는
것을 특징으로 하는 트랜잭션 수 예측 시스템.
The method of claim 7,
The prediction unit,
Including each inputting and training the selected training data based on a linear regression model and an LSTM model existing in the configured machine learning model,
The linear regression model uses virtual currency block data and transaction statistics as input data,
The LSTM model uses cryptocurrency block data, transaction statistics, and the number of transactions as input data.
A system for predicting the number of transactions, characterized in that.
제11항에 있어서,
상기 예측부는,
상기 학습 데이터, 기계학습 모델의 네트워크의 수, 상기 기계학습 모델의 성능을 평가하는 손실 함수(Loss Function), 상기 손실 함수를 줄이기 위한 함수인 최적화 함수(Optimize Function), 상기 학습 데이터의 길이인 시퀀스 길이(Sequence Length), 기계학습 모델의 셀(Cell)에 존재하는 히든 유닛(Hidden Unit)의 수 중 적어도 하나 이상의 요소를 설정하여 기계학습 모델을 구성하고 있는 하이퍼 파라미터(Hyper-parameter)를 최적화하는
것을 특징으로 하는 트랜잭션 수 예측 시스템.
The method of claim 11,
The prediction unit,
The training data, the number of networks of the machine learning model, a loss function for evaluating the performance of the machine learning model, an optimization function that is a function for reducing the loss function, a sequence that is the length of the training data Optimizing hyper-parameters constituting the machine learning model by setting at least one factor among the length (Sequence Length) and the number of hidden units in the cell of the machine learning model.
A system for predicting the number of transactions, characterized in that.
KR1020190103549A 2019-08-23 2019-08-23 Prediction of number of bitcoin network transactions based on machine learning KR102205102B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190103549A KR102205102B1 (en) 2019-08-23 2019-08-23 Prediction of number of bitcoin network transactions based on machine learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190103549A KR102205102B1 (en) 2019-08-23 2019-08-23 Prediction of number of bitcoin network transactions based on machine learning

Publications (2)

Publication Number Publication Date
KR102205102B1 true KR102205102B1 (en) 2021-01-20
KR102205102B9 KR102205102B9 (en) 2021-07-26

Family

ID=74304852

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190103549A KR102205102B1 (en) 2019-08-23 2019-08-23 Prediction of number of bitcoin network transactions based on machine learning

Country Status (1)

Country Link
KR (1) KR102205102B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101862000B1 (en) * 2017-11-22 2018-05-29 팝펀딩 주식회사 Risk management system of cryptography money using multi-customer
KR101984730B1 (en) * 2018-10-23 2019-06-03 (주) 글루시스 Automatic predicting system for server failure and automatic predicting method for server failure

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101862000B1 (en) * 2017-11-22 2018-05-29 팝펀딩 주식회사 Risk management system of cryptography money using multi-customer
KR101984730B1 (en) * 2018-10-23 2019-06-03 (주) 글루시스 Automatic predicting system for server failure and automatic predicting method for server failure

Also Published As

Publication number Publication date
KR102205102B9 (en) 2021-07-26

Similar Documents

Publication Publication Date Title
Nargesian et al. Learning Feature Engineering for Classification.
Whiteson et al. Machine learning for event selection in high energy physics
US11630990B2 (en) Systems and methods for auto machine learning and neural architecture search
CN113692594A (en) Fairness improvement through reinforcement learning
US20200372342A1 (en) Systems and methods for predictive early stopping in neural network training
US11562294B2 (en) Apparatus and method for analyzing time-series data based on machine learning
EP3779616A1 (en) Optimization device and control method of optimization device
JP7245961B2 (en) interactive machine learning
CN112508243A (en) Training method and device for multi-fault prediction network model of power information system
KR102662329B1 (en) Automatic learning-based time series data prediction and control method and device
US9852390B2 (en) Methods and systems for intelligent evolutionary optimization of workflows using big data infrastructure
KR102533460B1 (en) Attention-based stacking method for time series forecasting
EP3745317A1 (en) Apparatus and method for analyzing time series data based on machine learning
CN110941902A (en) Lightning stroke fault early warning method and system for power transmission line
Martin et al. Effective machine-learning models for predicting routability during fpga placement
de Castro Dutra et al. An empirical evaluation of bagging in inductive logic programming
Mendes et al. A surrogate genetic programming based model to facilitate robust multi-objective optimization: A case study in magnetostatics
KR102205102B1 (en) Prediction of number of bitcoin network transactions based on machine learning
KR102454317B1 (en) Augmenting virtual users and items in collaborative filtering for addressing cold start problems
CN111026661B (en) Comprehensive testing method and system for software usability
KR102289396B1 (en) Application of reinforcement learning for the advancement of forecasting item demand of repair parts of military equipment
US11429858B2 (en) Deep learning experiment content generation based on single design
CN113554099A (en) Method and device for identifying abnormal commercial tenant
Bai et al. Measuring and sampling: A metric‐guided subgraph learning framework for graph neural network
Vachkov et al. Growing RBF Network Models For Solving Nonlinear Approximation And Classification Problems.

Legal Events

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