본문 바로가기

Python/Data Analysis

(22)
Data Analysis / DL / CNN ▷ 이미지 처리에 DNN을 사용하게 되면 공간정보가 유실된다. (데이터를 1차원으로 바꾸기 때문) ▷ Convolution & Pooling 과정을 통해서 이미지의 특징을 뽑아내고, 그 후에 DNN을 적용하면 공간정보가 소실되지 않고 학습할 수 있다는 개념 1. Convolution (합성곱) 연산 ▷ 배열에서 같은 위치에 있는 것들끼리 곱해서 합치는 연산 2. Channel ▷ 이미지에서는 2차원 데이터가 중첩된 갯수로 정의 ▷ 컬러사진의 경우, 각 pixel은 R,G,B 3개로 구성되므로 channel은 3 ▷ 흑백사진의 경우, channel은 1 3. Filter & Stride ▷ Filter : 이미지의 특징을 추출하기 위해 사용하는 공용 parameter로 일반적으로 정방형을 사..
Data Analysis / ML / SVM ▷ 데이터를 선형으로 분리하는 최적의 선형 Decision Boundary를 찾는 알고리즘 ▷ Support Vector : 데이터의 경계를 나타내는 데이터 ▷ Decision Boundary : 분류를 나누는 선으로 두 support vector의 평균(그림의 Hyperplane) ▷ Margin : support vector 간의 거리 ▷ Margin을 최대화 하는 것이 optimal한 Decision Boundary ※ SVM에서의 이상치 처리 ▷ 이상치 존재 → support vector 변경 → Margin 감소 → 모든 데이터를 다 포함하는 Decision Boundary 생성 → Overfitting 발생 → Hard margin ▷..
Data Analysis / DL / Basic(2) ▷ 미분을 사용해서 weight와 bias값을 전부 바꾸기에는 시간이 너무 오래걸린다. ▷ "paul"이라는 사람이 chain rule을 이용해서 미분을 행렬연산으로 대체하여 해결하는 방법을 찾음 ▷ 오차값을 이용하여 W를 역방향으로 행렬연산하여 갱신가능 ▷ Sigmoid 함수를 사용하므로 값이 0~1 사이로 줄여진다. ▷ W에 Sigmoid를 적용해 나가므로 오차 역전파를 진행할수록 점점 0에 수렴해나가고, 제일 처음 layer는 W의 변경이 거의 없게 되는 현상 ▷ layer 수가 많을 수록 Vanishing Gradient 현상이 심화된다. ▷ ReLU(Rectified Linear Unit - max(0..
Data Analysis / DL / Basic ▷ 사람의 뇌에는 뉴런(Neuron)이라는 신경세포가 있고, 이와 같은 동작을 하도록 프로그래밍 적으로 만든 것이 perceptron 이다. ▷ 소리, 냄새, 시각 등의 자극이 input으로 들어오고, 자극이 합쳐진 후 일정 수준을 넘으면 다음 뉴런으로 자극을 전파하는 구조 ▷ perceptron은 다수의 신호를 입력받아서 하나의 신호를 출력하는 구조 (logistic과 동일) ▷ Tensorflow 1.15 버전으로 기본적인 AND, OR GATE를 학습할 수 있는지 확인해보자 ▷ 데이터를 바꾸면 AND, OR, NAND, NOR 모두 잘 구현되는 것을 확인할 수 있다. ▷ 하지만, XOR 학습에서 문제가 발생 하나..
Data Analysis / ML / Tensorflow 2.x(2) 0. 데이터 다운로드 https://drive.google.com/drive/folders/1Gjt-HIUEL4ymIbkKexaYivcuKlp51r0l?usp=sharing 1. Linear Regression - Ozone 2. Logistic Regression - titanic 3. Multinomial Classification - MNIST
Data Analysis / ML / Tensorflow 2.x(1) 1. TF 1.x version 과의 차이점 Eager Execution : Tensorflow 실행 방법에 대한 변경(Session없이 즉시 실행 가능) keras가 유일한 상위 API로 등장 : 구현방식의 변화 global_variables_initializer() 함수를 실행할 필요가 없어짐 (자동으로 수행됨) Eager Execution에 따라서 placeholder 또한 필요 없어짐 → 삭제 2. Keras 특성 Modularity : Loss, Activation, GradientDescent(optimizer), Layer를 각각 만들고 조립하여 원하는 형태로 구현 가능 3. Logistic Regression의 Keras 표현 ▷ Keras Model을 만..
Data Analysis / ML / Multinomial Classification ▷ BMI 지수에 대한 데이터로 학습하고 예측해보자 ※ BMI 지수 : 키와 몸무게를 가지고 저체중, 정상, 과체중, 비만을 판단하는 지수 ▷ Multinomial Classification의 경우 python 구현은 너무 복잡하므로 생략하겠다. 1. sklearn 2. tensorflow
Data Analysis / ML / Basic Concept(3) ▷ Overfitting : Training Data에 대해 너무 학습이 잘되어 실제 데이터에 적용이 잘 안되는 경우 ▷ Underfitting : 너무 대충 학습해서 학습이 잘 이루어지지 않은 경우 ※ Overfitting 현상을 해결하기 위한 방법은? 1. 많은 양의 Training Data 필요 가장 기반이되는 조건인데 program 적으로 해결이 불가능 2. Feature의 개수를 줄이자 종속변수와 연관이 없는 독립변수들 제거 (상관관계 분석) 3. Weight의 값을 인위적으로 조절 (Regulation) W 값이 클수록 Curve를 그리게 되고, Overfitting의 여지가 많아짐 4. Dropout (Deep Learning) 5. 학..