ML\DL 19

[DL] 나 혼자 한 번 차근차근 해보는 LSTM 이진 분류 모델

어떠한 우연한 기회를 통해 NSMC 데이터를 각자 이진 분류 모델을 개발해 추론 자동화하는 시스템을 작동시켰는데,, 생각해보니 지금까지의 난 걍 텐서플로우로 구현되어있던 모델만 보거나, 오픈소스 쓰거나 (KLUE, HuggingFace) 같은,, 정말 제대로 내가 모델 개발해본 적이 있나,, 싶어서 혼자 한 번 LSTM 모델을 만들어보고 싶었다. 그래서 구현해 본 모델을 기록해보고 싶어서 쓴다. 설명 시작! 1. 라이브러리 임포트 # 패키지 임포트 import os import random import numpy as np import torch import tensorflow as tf import transformers import gdown # ... 2. 무작위 통제 # 무작위성 통제 SEED =..

ML\DL/Deep Learning 2023.05.10

[ML] Random Forest (랜덤 포레스트)

[1] Random Forest 란? 여러 의사결정나무(Decision Tree)를 생성한 후에 다수결(분류) 또는 평균(회귀) 에 따라 출력 변수를 예측하는 알고리즘 죽, 의사 결정 나무 + Bagging을 혼합한 형태 [2] 특징 Boostrap을 이용해 학습 데이터 중 다양한 샘플을 추출함 데이터 샘플링 및 변수 선택을 통해 의사 결정 나무의 다양성 확보 [3] 장점 - 예측의 변동성이 줄어들며, 과적합을 방지함 - 결측치에 대해 강건함 -> 결측 비율이 높아져도 높은 정확도를 나타냄 - 변수의 중요성도 파악 가능 -> 여러 개의 나무로 구성되면서, 속성 X가 여러번 등장하는데 각 나무의 노드에서 속성X를 사용했을 때 도출된 information gain을 가중 평균으로 구해 X의 중요성을 도출함 ..

[DL] End-To-End Model

나도 딥러닝을 처음 공부할 땐, end-to-end 모델이라는게 뭔가 싶었다,,ㅋㅋ 이제는 그래도 안다고 생각해서 가볍게나마 지식을 기록하고 싶어서 작성한다! ML/DL 에서 흔히 볼 수 있는 단어인 end-to-end ,,, 무슨 뜻일까? ==> 입력에서 출력까지 고전방법에서 사용하던 파이프라인 네트워크 없이 신경망으로 한 번에 처리한다는 의미 (파이프라인 네트워크 = 전체 네트워크를 이루는 부분적인 네트워크) 저 그림을 예시로 들자면, 고전방법에서 만약 음성 인식 태스크를 수행한다고 하자. 그럼 처음에 오디오 파일이 있으면 음성에서 각 피쳐를 추출한다 -> 알고리즘으로 오디오 안 음성의 음소를 알아낸다 -> 이 음소들을 조합해 단어로 만든다 -> 출력 같은 몇 가지 과정을 거친다. 하지만 현재의 en..

ML\DL/Deep Learning 2023.03.14

[ML] KFold와 Stratified-KFold 기법

이번에 데이콘을 진행하면서 제공되는 Train set, Test set으로 머신러닝을 수행했는데, 데이터셋에 대한 고민을 많이 했다. 근데 이번 학습 데이터셋은 2880 col X 598 row 형태로 features는 매ㅐㅐㅐ우 많은데 데이터 양은 절대적으로 적었다ㅜㅜ 그리고 multi-classfication이라 레이블이 3개인데 굉장히 불균형했다,,,, 그래서 학습 데이터셋을 이용해서 검증 데이터셋 (validatation set)을 구성할 때 좀 더 유의해야하는 부분이 존재했다. sklearn에서는 K-Fold CV (Cross Validation)을 구현하기 위한 2가지 클래스인 KFold와 stratifiedKFold가 제공된다. 우선 K-Fold CV란, 데이터셋을 K개의 fold로 분리해서..