1. ML 문제 해결 과정 문제 정의 : Metric 👇 Preprocessing : FE, 통계적 방법론, 도메인 지식 👇 Modeling : (방법별) 트리, 회귀, 신경망, 클러스터링 / (목적별) 예측, 추천, NLP, CV 2. FE의 중요성 모델링면의 부족한 점은 FE를 통해 보완할 수 있음 (좋은 feature 형성!) 3. 전처리 과정 Brainstorm : 데이터 많이 보기, 다른 문제들 참고 FE : 4가지 방법 + 센스 = 경험의 영역! Select : Importance 등 참고 Evaluate & Revise : FE가 적용된 새 데이터에 대한 모델의 정확도 4. FE 과정 1) Imputing - WHY ? 모델한테 Null 값 넣으면 X - NaN(결측값)을 추정값으로 대체하는..
1. 데이터 분석 과정 2. EDA vs FE Garbage in, garbage out → EDA & FE의 중요성 : 데이터를 잘 정제해야 좋은 결과를 얻을 수 있다. - EDA (Exploratory Data Analysis, 탐색적 데이터 분석) : 데이터를 살펴보면서 FE에서 사용할 자료의 특징을 찾는 것 - FE (Feature Engineering) : EDA 단계에서 발견한 자료들의 특징을 이용해 ML/DL의 성능이 잘 나오도록 전처리하는 과정 3. EDA의 4가지 주제 1) 저항성 : 자료의 일부가 파손되었을 때, 영향을 적게 받는 성질 ex. 평균은 중앙값에 비해 자료의 이상치나 입력오류에 큰 영향을 받음 = 중앙값은 평균에 비해 저항성이 큼 2) 잔차의 해석 잔차가 엄청 크거나 작은 ..
5.1 배경 합성곱 신경망(Convolutional Neural Network) : 국소적인 영역을 보고 단순 패턴에 자극받는 세포 + 넓은 영역을 보고 복잡 패턴에 자극받는 세포가 계층(layer)를 이룸 5.2 합성곱 연산 1) 합성곱 연산(Convolution) (1) Convolution : 하나의 함수가 다른 함수와 얼마나 일치하는지 계산 (하나의 필터를 이동시키며 이미지의 부분들이 필터와 얼마나 일치하는지) - 하나의 결과값이 생성될 때 입력값 전체가 들어가지 않고 필터가 지나가는 부분만 연산에 포함됨 - 하나의 이미지에 같은 필터를 연달아 적용하므로 가중치가 공유되어 학습 대상이 되는 변수가 적음 - 비선형성 추가 위해 활성화 함수 - Activation map (Feature map) : ..
4.1 신경망 1) 인공 신경망(Artificial Neural Network) 2) 인공 신경망의 구성 요소 : 입력층, 은닉층, 출력층 - 심층 신경망 (DNN) : 2개 이상의 은닉층을 가진 인공 신경망 3) 활성화 함수 → 비선형성 4.2 순전파와 역전파 1) 순전파 (Forward Propagation) : 입력값이 여러 은닉층을 통과해 결과값으로 나오는 과정 2) 역전파 (Backward Propagation) : 결과값과 정답의 차이로 계산된 손실을 연쇄법칙을 통해 입력단까지 다시 전달하는 과정 * 역전파 계산 과정 (시그모이드 예제) 4.3 모델 구현, 학습 및 결과 # 데이터 생성 num_data = 1000 num_epoch = 10000 noise = init.normal_(torch..
3.1 선형회귀분석 선형회귀분석 : 주어진 데이터를 가장 잘 설명하는 직선을 찾는 것 단순선형회귀(Simple Linear Regression) : 하나의 독립변수에 대한 선형회귀 = x, y 라는 데이터가 주어졌을 때, y = w*x + b 에서 데이터를 가장 잘 표현할 수 있는 가중치 w와 편차 b를 찾는 것 다중선형회귀(Multivariate Linear Regression) : 여러 개의 독립변수에 대한 선형회귀 3.2 손실 함수 및 경사하강법 1) 손실함수(loss function) ex) 평균제곱오차(MSE) : 예측값과 실제값의 차이를 제곱(L2 loss)하여 평균한 것 2) 경사하강법(gradient descent) : w_(t+1) = w_t - gradient * learning rat..
1. Numpy 1) Numpy (Numerical Python) - Python에서 벡터, 행렬 등 수치 연산 수행하는 선형대수 라이브러리 - 벡터 및 행렬 연산에 있어 매우 편리 기능 제공 - 데이터 분석을 할 때 사용되는 라이브러리인 Pandas와 Matplotlib의 기반 - 기본적으로 array(행렬) 단위로 데이터 관리. 이에 대한 연산 수행 2) Array 정의 및 사용 (1) 정의 (2) .shape / .ndim / .size : 배열의 모양 / 차원 수 / 원소 개수 - 각 차원 = '축(axis)', 축의 개수 = '랭크(rank)' - shape = 각 차원(축)의 크기(길이) (3) .dtype : 자료형 - array는 모든 원소가 같은 자료형 가짐 - 자료형 직접 지정해줄 수 ..
1. 버전 관리 1) Version Control System (VCS) : 버전 관리 시스템 - 파일 변화를 시간에 따라 기록 → 특정 시점의 버전 꺼내오기 가능 - 각 파일 또는 프로젝트 전체를 이전 상태로 되돌릴 수 있음 2) Local Version Control System (LVCS) : 로컬 버전 관리 시스템 - 데이터베이스를 사용하여 버전 관리 ex) RCS(Revision Control System) : Patch Set(파일에서 변경되는 부분) 관리 3) Centralized Version Control System (CVCS) : 중앙집중식 버전 관리 시스템 - 파일을 관리하는 서버 별도 존재 + 클라이언트가 서버를 통해 파일을 받아 사용 - 장점 : 꼼꼼하고 쉽게 관리 가능 - 결점..
Ch1. Deep Learning 1) 포함 관계 : 인공지능(AI) ⊃ 머신러닝(ML) ⊃ 딥러닝(DL) - 인공지능(AI) : 기계가 인간의 인지 과정(학습, 문제 해결)을 모방하는 것 - 머신러닝(ML) : 명시적으로 프로그래밍되지 않은 상태에서 기계에게 학습할 능력을 부여하는 것 데이터와 결과값이 주어지면 함수의 각 변수가 데이터에 의해 학습되어 스스로 적합한 값을 찾도록 훈련 ex) SVM, K-NN, Decision Tree, ANN - 딥러닝(DL) : 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화를 시도하는 것 ex) DNN : 인공신경망에서 은닉층의 개수가 1개 이상인 네트워크 → 지도/비지도/강화학습에 모두 사용 2) 학습 방법 - 지도학습(SL) : 데이터와 각각에 해당하는 ..