머신러닝 13

딥러닝 유틸(1) Tmux

1. Tmux란? 터미널 멀티플렉서로, 하나의 터미널 세션에서 여러 개의 창을 관리하고, 세션을 분리하거나 재접속하는 등 유용한 기능을 제공하는 tool을 의미한다-> 즉, 우리가 모델을 돌릴 때 사용하고 있는 컴퓨터에서 여러 작업 터미널 창을 만들어 주며, tmux에 넣은 작업은 실제 작업 종료 전 까진 중단되지 않는다(작동중인 컴퓨터 종료해도 무관) 2. Tmux 구성요소: 세션(여러 터미널 창을 그룹화), 윈도우(작업 공간), Pane(독립적인 터미널 창) 3. Tmux 설치conda install -c conda-forge tmux # conda# 우분투 기반 도커 컨테이너apt-get updateapt-get install -y tmux# macOSbrew install tmux 4. 명령어# ..

파이토치(2): 로지스틱 회귀와 클래스를 통한 구현

1. 로지스틱 회귀 구현 import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim torch.manual_seed(0) # seed 고정 x_data = [[1, 2], [2, 3], [3, 1], [4, 3], [5, 3], [6, 2]] y_data = [[0], [0], [0], [1], [1], [1]] x_train = torch.FloatTensor(x_data) y_train = torch.FloatTensor(y_data) # nn.Sequential: Wx+b와 활성화 함수를 연결해주는 함수 model = nn.Sequential( nn.Linear(2, 1), # input_..

스터디/AI 2023.11.05

10주차 교육일지: 파이토치 기본기, MLP 모델 예측

1. 로지스틱 회귀 구현 import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim torch.manual_seed(0) # seed 고정 x_data = [[1, 2], [2, 3], [3, 1], [4, 3], [5, 3], [6, 2]] y_data = [[0], [0], [0], [1], [1], [1]] x_train = torch.FloatTensor(x_data) y_train = torch.FloatTensor(y_data) # nn.Sequential: Wx+b와 활성화 함수를 연결해주는 함수 model = nn.Sequential( nn.Linear(2, 1), # input_..

9주차 교육일지: 딥러닝

0. Objective &Working Process -목적: 주어진 데이터에 대해 결과를 내는 가상의 함수를 모사 -작업 과정: 문제 정의 -> 데이터수집 -> 데이터 전처리&분석 -> 알고리즘 적용 -> 평가 -> 배포 문제 정의: 단계를 나누고 간소화, x와 y를 정의 데이터 수집: 문제 정의에 따른 수집, 필요에 따른 레이블링 데이터 전처리 및 분석: EDA, 형태 가공 알고리즘 적용: 가설 설계/구현 평가: 실험 설계, 테스트셋 구성 배포: RESTful API를 통한 배포, 유지 보수 1. Loss function -분류 예측값의 틀린 정도를 계산하는 Cross-Entropy -딥러닝의 모든 문제는 선형 회귀로 표현이 가능함(결과론적으로) y = wx + b 2. Weight Update(Gr..

캐글 대회 분석-1 Hill climbing을 활용한 Binary Classification

대회: PS3E23 소프트웨어 결함 분류 및 예측 --> 이진 분류를 통해 목표: 코드에 대한 다양한 속성들이 주어진 상태에서 C 프로그램의 결함 예측 평가지표: AUC ROC Score 1. 데이터 로드 & EDA 1)피처별 분포 --> 전반적으로 오른쪽으로 치우쳐져 있어 로그 변환 필요 어느정도 균일한 분포가 됐쥬? 2) 상관관계 분석 -->높은 피쳐들간의 상관관계, 다중공선성 제거 or 차원 축소 필요 하지만 vif>=20 이상인 것을 제거하고, 차원을 축소하였으나 주최측의 인위적인 데이터 생성으로 점수를 비교해본 결과 큰 의미는 없었음 3. 베이스라인 모델 구축 모델 LightGBM XGBoost Random Forest Train score 0.8158 0.8453 1.0000 Validatio..

머신러닝(8): 경사하강법, XGBoost, LightGBM, CatBoost

Gradient_Descent -손실함수를 최적화 목적, f(x) = wx + b의 식에서 기울기(가중치): w와 y절편(b) 조절을 통해 정답 도달 -Learning late를 너무 높게 잡을 시 지역 최소점에 빠질 위험이 있으므로 적절한 하이퍼 파라미터 설정 중요 1. Data 생성 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns plt.rcParams['figure.figsize'] = (12.0, 9.0) from sklearn.datasets import make_regression # Generate Data 표본의 갯수, 독립변수의 수, 종속변수의 수, 정규분포의 표준편차 x..

머신러닝(6): 이상치 탐지

1. Anomaly Detection -이상이라고 정의한 사건 및 패턴을 탐지하는 분야 -Point Anomaly Detection: 정적인 일반 데이터 내 아웃라이어, 특정 포인트의 이상치 감지 -Contextual Anomaly Detection: 시계열과 같은 동적인 특성에 초점, 연속적인 변화 패턴을 읽어 이상치 감지 -Collective Anomaly Detection: Global 상황에서 변칙적인 이상치가 아닌 Local한 이상치 -Online Anomaly Detection: 실시간 데이터 수집 체계가 구축되어 있는 환경에서 탐지 -Distributed Anomaly Detection: 관측치의 정상 분포에서 벗어나는 이상 데이터 탐지 Label 종류 -Supervised Anomaly D..

머신러닝(5): 차원 감소

1. 차원의 저주 -차원이 늘어남에 따라 같은 영역을 가지고 있음에도 전체 영역 대비 설명 가능한 Data가 줄어들게 되는 현상 -차원을 표현하기 위한 Data 수: 2^n - 1 #현실적으로는 3차원까지 표현 가능 -지도 / 비지도학습, L1 / L2 규제, 도메인 지식 등으로 차원 축소 가능 2. PCA -고차원의 데이터 분산도를 저차원에서 얼마만큼 잘 보존하는 가, 선형적 차원축소 -Eigenvalue가 크면 클수록 고차원에서의 Data를 저차원에서 잘 표현한 것이라 판단, 내림차순 정렬 및 가장 큰 N개만큼 추출 -Label에 영향을 받지 않는 비지도 Feature Extraction -지도 학습에 맞게 Design 불가 3. T-SNE(T-distributed Stochastic Neighbor..