전체 글 72

PDF 파일 Concat

PDF read 할 수 있는 패키지 설치 pip install PyPDF2 Collecting PyPDF2 Downloading pypdf2-3.0.1-py3-none-any.whl (232 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 232.6/232.6 kB 5.2 MB/s eta 0:00:00a 0:00:01 Installing collected packages: PyPDF2 Successfully installed PyPDF2-3.0.1 pip install PdfMerger Requirement already satisfied: PdfMerger in ./anaconda3/lib/python3.10/site-packages (0.5.0) Requirement a..

Python Code 2023.09.20

Config 파일 관리 (yaml)

코드내 path 등을 관리 하기 위해 config 파일을 사용함. .ini 나 .yalm 등 여러 방법이 있지만, yaml을 자주 사용하고 있음. config 파일 경로 적어서 Read 시, 현재 폴더를 기준으로 변경해주는 아래 코드를 실행한다. current_path = osp.dirname(osp.realpath(__file__)) config.yaml 예시 Database: host: port: user: passwd: dbname: schema: datatype: Database_wave: host: port: user: passwd: dbname: schema: datatype: # SSH 터널 사용 시 SSHTunnel: host: port: user: passwd: dbname: schema..

Python Code 2023.09.19

Optimizer 종류

대표적인 Optimizers SGD (Stochastic Gradient Descent) 배치 내 단일 샘플 혹은 미니배치의 Gradient를 이용하여 파라미터를 업데이트 Momentum(관성)을 추가하면 이전 Gradient의 속도를 고려하여 더 개선된 결과를 얻을 수 있음 Adagrad 각 파라미터에 학습률을 동적으로 조절하여, 빈번하게 업데이트 되는 파라미터의 학습률을 감소 RMSprop Adagrad의 단점을 개선하여, 학습률이 너무 빨리 감소하지 않도록 Gradient의 이동평균 사용 Adam (Adaptive Moment Estimation) 모멘텀과 RMSProp의 아이디어를 결합하여, Momentum과 Scaling 인자를 함께 사용 Adadelta RMSProp의 확장으로, learnin..

Deep Learning 2023.09.17

딥러닝 모델종류

1. MLP (Multi Layer Perceptron) 여러 층을 가진 퍼셉트론 구조로, 기본적인 인공신경망의 형태임. 분류와 회귀문제에 활용 입력층/은닉층/출력층으로 구성되며, 은닉층 다음에는 activation function을 통해 출력값을 계산하고 최종 출력층에서는 문제의 목적에 따라 설정하는 노드 수를 결정한다. (분류는 클래스 개수로 설정) 초기에는 무작위의 가중치로 시작해서 Network의 출력과 실제값의 차이인 Loss를 계산함. 이 오차를 최소화하는 것이 역전파임. 2. CNN (Convolutional Neural Network) CNN은 주로 이미지, 영상 등에 사용되는 구조로, 이미지의 지역적인 특성과 패턴을 파악하기 위해 합성곱 연산을 사용함. 합성곱층(Convolutional ..

Deep Learning 2023.09.14

STEPWISE feature selection

머신러닝 모델에서 사용할 변수를 선택하는 방법으로, 특징 중요도에 따라 변수를 추가하거나 제거하면서 반복 수행하여 최종 변수 선택 방법 Forward Selection : 빈 모델로 시작해서 가장 중요한 변수를 하나씩 추가하면서 성능 측정 Backward Selection : 모든 변수를 사용한 모델로 시작해서 중요도가 가장 낮은 변수를 제거하면서 성능 측정 Bidirectional : Forward 와 Backward를 결합한 방식으로, 중요한 변수를 추가하면서 동시에 덜 중요한 변수를 제거하면서 성능을 측정 평가기준 : P-value (보통 0.05나 0.01 사용) 장점 불필요한 변수 제거는 모델을 간소화 하고 복잡도를 줄임 계산비용 줄어듬 과적합 방지 단점 모든 경우의 수를 고려하지 못하므로, 최..

Deep Learning 2023.09.14

ECG(심전도) 데이터 노이즈 처리

ECG 주요 주파수 범위는 1~45Hz 사이에 존재하고, 50~60Hz 이상은 전원선 노이즈로 알려져있음. 사람의 Motion Artifact 는 3Hz 부근의 저주파에서 존재함. 신호처리 알고리즘 패키지에서는 보통 0.5~3.0Hz의 노이즈를 제거하는 것이 일반적임. 아래와 같은 필터링 방법들로 노이즈를 제거해줄 수 있음. HighPass Filter 고역 통과 필터는 낮은 주파수의 신호를 차단하고 높은 주파수의 신호를 통과시킨다. 예를 들어, 오디오 신호에서의 배경 소음 제거나, 이미지에서의 경계선 감지와 같은 응용에서 사용함 Lowpass Filter 고역 통과 필터는 낮은 주파수의 신호를 차단하고 높은 주파수의 신호를 통과시킨다. 예를 들어, 오디오 신호에서의 배경 소음 제거나, 이미지에서의 경계..

Torch 모델 성능 재현

항상 찾아보는 코드... 블로그에 적어놓고 봐야할 것 같아서 작성해놓음. 모델 구조 바꾸고 파라미터 변경하면서 실험을 할 때, 동일한 시드로 고정해놓고 해야 성능이 개선되는지 아닌지를 확인할 수 있음. 아래 코드 사용하면 Weight 도 고정되어 나오므로, 모델 코드를 동일하게 여러번 돌려도 성능이 동일하게 나온다. # Utils import os, ast, wfdb, warnings, random import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from argparse import Namespace warnings.filterwarnings('ignore') %matplotlib inl..

카테고리 없음 2023.08.25

Local Minimum

우리가 목표로 하는 최적해를 찾아야하는데, n차 곡선에서 미분하다 특정 구간에서 머무르는 현상 딥러닝에서 문제점이 된다고는 하지만... 2014년 작성된 한 논문을 보면, 모델링 할 때 크게 신경쓰지 않아도 된다고 함. 논문 링크 : https://arxiv.org/pdf/1406.2572.pdf 고차원 데이터를 사용할 때 Local minimum 현상이 발생하기 어려움. 딥러닝 구조의 모든 weight 값이 Local minimum 이 되면 가중치 업데이트가 중단되는데, 사실상 모든 weight가 그럴 확률이 매우 낮음. Local Minimum을 해결하는 방법은 ? Optimizer 를 Momentum/Adagrad/Adam 같은걸 써본다. 적절한 Optimizer 선정시에는 아래 그림을 참고해서 여..

Deep Learning 2023.08.25

심전도(ECG) 정리

1. 심전도(ElectroCardioGram, ECG) 심전도(ECG 또는 EKG)는 심장의 전기 활동을 기록한 것으로, 심장의 근육 세포들이 활성화될 때 발생하는 작은 전기적 변화를 측정하여 얻어진다. ECG는 주로 심장의 기능적 이상을 감지하는 데 사용되는데, 특히 심장의 리듬 장애나 심근경색 등 다양한 심장 질환의 진단에 중요한 역할을 한다. 심전도는 12-Lead 로 측정(아래 측정위치 참고) 하거나 Holter-ECG 를 이용해서 측정이 가능하다. 표준 리드 (Limb Leads) 리드 I: 왼쪽 팔의 양극과 오른쪽 팔의 음극 사이의 전압을 측정 리드 II: 오른쪽 팔의 음극과 왼쪽 다리의 양극 사이의 전압을 측정 리드 III: 왼쪽 팔의 음극과 왼쪽 다리의 양극 사이의 전압을 측정 증폭 리드 ..