본문 바로가기

분류 전체보기64

[caver-js] caver-js 설치 및 KAS(Klaytn API Service) API 호출 평소 관심을 크게 가지고 있던 블록체인(Blockchain), 코인(Coin), NFT(Non-Fungible Token)에 관한 사이드 프로젝트를 시작하게 되어 글로 정리하고자 합니다. 공부한 것들을 기록할 뿐만 아니라, 저처럼 비개발자로서 블록체인 개발에 도전하고 싶은 분들을 위해 저의 경험을 공유하려 합니다. 사이드 프로젝트의 주제는 국내 최대 NFT 마켓인 'PalaSquare(https://pala.io/square)의 대쉬보드 생성'입니다. PalaSquare에 관한 거래 정보를 시각화한 곳은 Xangle(https://xangle.io/analytics/KLAY/nft/pala-square), NFT STAT(https://nftstat.io/insight) 등이 있지만, 제 나름대로 개선하.. 2022. 12. 14.
[Deep Learning] Variational AutoEncoder(VAE) 이전 글(https://dslyh01.tistory.com/23)에서 설명한 AutoEncoder 기법들은 모두 차원을 축소하여 Latent Variable를 얻도록 하는 Encoder 부분이 핵심이었습니다. 지금 설명하는 VAE는 AutoEncoder와 구조가 매우 유사하지만, 새로운 데이터를 생성하는 Generative model(생성 모델)로 Decoder 부분이 핵심입니다. 그림을 통해 VAE의 구조와 과정을 더 자세히 살펴보겠습니다. 우선 Encoder를 통해서 Input의 평균과 표준편차를 도출하고, 해당 결과를 바탕으로 가우시안 분포(정규 분포)를 생성합니다. 해당 분포에는 모든 Input에 대한 정보가 담겨있기 때문에, 랜덤하게 샘플링한다면 Input과 유사하면서도 전혀 다른 Latent .. 2022. 12. 6.
[Deep Learning] AutoEncoder(오토인코더) 1. AutoEncoder의 개념 이번 글에서는 차원 축소, 노이즈 제거, 이상 감지 등 다양한 분야에서 활용되고 있는 AutoEncoder(오토인코더)에 대해 살펴보고자 합니다. AutoEndoer에 대해 간단히 설명해보면, 'Input을 차원 축소하여 압축시킨 이후 축소된 데이터를 다시 확장하여 Output을 Input과 최대한 동일하게 생성'하는 딥러닝 모델 중의 하나입니다. 아래의 그림을 통해 살펴보면, Encoder로 데이터를 압축시키고, Decoder로 다시 데이터를 확장시킵니다. AutoEncoder는 Input과 Output이 동일하여 y label이 따로 필요 없기 때문에, 주로 비지도 학습(Unsupervised Learning)으로 분류되며, Input이 곧 정답이므로 Self-sup.. 2022. 12. 2.
[Python] Python과 PostgreSQL 연동 이번 글에서는 Python과 PostgreSQL을 연동하여 DB에서 테이블을 불러오고 데이터 프레임 형태로 바꾸는 과정을 살펴보고자 합니다. 우선 terminal이나 conda를 이용하여 'psycopg2' 패키지를 설치해줍니다. 이후 DB 정보를 입력하고, 쿼리를 통해 테이블을 가져온 후 데이터 프레임으로 바꾸는 일반적인 코드는 다음과 같습니다. >>> import psycopg2 >>> import pandas as pd >>> >>> pgdb = psycopg2.connect( >>> host={'localhost' or ip address}, >>> dbname={DB name}, >>> user={User name}, >>> password={Password}, >>> port={Port num.. 2022. 11. 24.
[Pytorch] view, reshape 차이 기존에 구현된 Pytorch 기반의 코드로 분석을 진행하던 중, view 함수 부분에서 다음과 같은 에러가 발생하였습니다. "RuntimeError: view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces). Use .reshape(...) instead." 에러에 나타난대로 view 함수를 reshape로 대체하니 에러 없이 잘 진행되었지만, 왜 에러가 발생했는지 정확하게 알기 위해 view와 reshape 함수 간의 차이를 알아보고자 합니다. 1. view, reshape 함수의 기능 우선 두 함수는 numpy 모듈의 reshape .. 2022. 11. 21.
[논문리뷰] SSIM - A Deep Learning Approach for Recovering Missing Time Series Sensor Data Zhang, Y. F., Thorburn, P. J., Xiang, W., & Fitch, P. (2019). SSIM—A deep learning approach for recovering missing time series sensor data. IEEE Internet of Things Journal, 6(4), 6618-6628. 본 논문에서는 시계열 데이터의 결측치를 추정할 수 있는 방법론인 SSIM (Sequence-to-sequence Imputation Model)을 소개하고 있습니다. 논문의 전반적인 내용을 리뷰하기보다는 이 방법론이 왜 제안되었는지, 그리고 어떠한 아키텍처로 구성되어있는지 살펴보고자 합니다. 1. Introduction 무선 센서 및 장치에서 수집되는 데이터는 서버, 통.. 2022. 11. 18.
[Stablecoin] 바이낸스(Binance) USDT Simple earn 이번 글에서는 제가 평소에 관심 있던 분야인 코인(Coin)에 대해 다뤄보고자 합니다. 최근 코로나의 장기화, 물가 상승으로 인한 금리 인상, 러우 전쟁, 특히 루나, FTX 사태 등으로 인해 주식 시장과 비교하여 코인 시장은 더욱 빙하기가 길어지고 있는 상황입니다. 이런 상황에서 최대한 안정적으로 자금을 불려 나갈 수 있는 방법 중의 하나인 테더(USD Tether, USDT) Simple earn에 관해 살펴볼 것입니다. USDT는 Stablecoin 중의 하나입니다. 여기서 Stablecoin은 달러에 페깅된 Coin을 의미하고, USDT, USDC, BUSD, DAI 등 종류가 매우 다양합니다. USDT는 Stablecoin 중 시총이 가장 크며, 이는 가장 대중적인 Stablecoin이라는 것도.. 2022. 11. 16.
[Dimensionality Reduction] 주성분 분석 (PCA, Principal Components Analysis) - 2 본 글에서는 저번 글에 이어서 유방암 환자 데이터 (Breast Cancer Wisconsin) 데이터를 바탕으로 진행되는 주성분분석 (PCA)의 과정을 살펴볼 것입니다. 저번 글에서는 PCA를 진행하기에 앞서 주성분의 개수를 선택하는 과정을 진행하였고, 여러 방법들을 고려했을 때 유방암 환자 데이터에 대해서는 6개의 주성분으로 차원 축소하는 것이 적절하다고 결정하였습니다. 선택 과정은 해당 글에서 살펴볼 수 있습니다. 전체적인 분석 과정을 다시 요약하면, (1) 원본 데이터, (2) PCA를 적용한 데이터, 각각에 비지도 학습 중 하나인 K-means 군집 분석을 적용하고, K-means를 통해 분류된 양성 여부와 실제 양성 여부 간의 정확도를 측정하여 PCA의 적용이 유의미한지 판단하는 것입니다. 1.. 2022. 10. 31.
[Dimensionality Reduction] 주성분 분석 (PCA, Principal Components Analysis) - 1 본 글에서는 차원 축소 (Dimensionality Reduction) 기법 중, 가장 널리 사용되었던 주성분 분석 (PCA)에 대해 살펴보고자 합니다. PCA의 개념 및 이론에 대해 자세히 살펴보지는 않고, 예제 데이터를 바탕으로 진행되는 분석 과정에 좀 더 집중할 것입니다. 활용한 예제 데이터는 Kaggle 사이트에서 제공되는 유방함 환자 데이터 (Breast Cancer Wisconsin)로, 유방암의 양성 여부, 종양의 반경, 둘레 면적 등의 정보와 각 변수들의 평균, 표준편차, 상위 3개 값의 평균을 포함하고 있어 총 32개의 변수를 가지고 있습니다. 데이터는 총 569개였으며, 분석 툴로는 R을 활용하였습니다. 전체적인 분석 과정을 요약하면, (1) 원본 데이터, (2) PCA를 적용한 데이터.. 2022. 10. 27.
[React] React 설치 / Create React App 프로젝트 생성 React는 Facebook에서 제공하는 JavaScript 라이브러리 중의 하나로 사용자 인터페이스를 만들기 위해 주로 사용됩니다. HTML, CSS, JavaScript를 통해서도 충분히 웹페이지를 만드는 것이 가능하지만, React를 활용하면 상호작용이 가능한 동적인 UI(User-Interface)를 만드는 것이 수월하기 때문에 많은 사람들이 활용하고 있습니다. React는 HTML에 다음과 같은 코드를 추가하는 것을 통해 간단하게 실행이 가능하기는 합니다. 하지만 제대로 된 React 기반의 애플리케이션 개발을 수행하기 위해서는 Webpack, Babel 등 습득해야하는 기술들이 많기 때문에, 위와 같은 방법으로 진행하게 된다면 막히는 부분이 많을 수 있습니다. 이러한 어려움에 막히지 않고 Re.. 2022. 10. 25.