kt 에이블스쿨

[ 배운 내용 ] 1. BatchNormalization(), Dropout() 2. Computer Vision - Convolutional Neural Network (CNN) 3. CNN 코드 작성 실습 - Conv2d, MaxPool2D 사용 1. BatchNormalization, Droupout BatchNormalization() : 각 계층에 대해 평균과 표준편차를 0과 1이 되도록 만들어줌 (각 층의 활성화값을 정규분포로 적절하게 퍼뜨려준다.) Internal Covariate Shift 현상을 방지한다. 학습을 빠르게 진행할 수 있다. 초기값에 크게 의존하지 않게 된다. 오버피팅을 억제해준다. Internal Covariate Shift : 레이어를 거칠 때마다 분포의 변화가 심화되어서..
[ 배운 내용 ] 1. 실습 - 캘리포니아 주택, 와인 데이터 실습 2. Connection - Locally Connected - Concatenate - Locally Connected - Add Connection 딥러닝의 내부에서 어떤 동작이 이루어지는지는 사실 우리가 정확하게 알 수 없다. 이 때문에 딥러닝은 Black Box 구조를 갖고 있다고도 한다. 이를 설명하기 위해 노력하는 Explainable AI라는 학문도 있다고 한다. 하지만 딥러닝의 Artificial Neural Network구조에서 연결을 어떻게 하느냐에 따라서는 우리가 해석을 시도해 볼 여지가 있다 iris 데이터를 예시로 살펴보자 이전에 해본 모델링은 인풋, 아웃풋, 히든레이어의 모든 노드들이 서로 연결된 Fully Co..
[ 배운 내용 ] 1. 머신러닝 - 딥러닝 차이? 2. 이미지 데이터(비정형 데이터) 분류 문제 - MNIST 손글씨 데이터 - MNIST 패션 데이터 - CIFAR-10 데이터 1. 머신러닝 - 딥러닝 차이? 우선 다음 그림을 먼저 보자 머신러닝으로 문제를 해결할 때에는 항상 주어진 데이터가 모델의 성능에 가장 많은 영향을 끼친다. 때문에 주어진 데이터를 최대한으로 활용해야 하며, 문제를 해결하기에 도움이 될 만한 feature를 사람이 직접 만드는 feature engineering이 필수적이다. 이를 위해서는 도메인 지식도 필수적일 것이다. 이렇게 도메인 지식도 습득하고 머리를 쥐어짜서 새로운 feature를 만들어서 모델링을 하게 되면 힘든건 둘째 치고, 사람이 찾지 못하는 여러 요인들로 인해 좋..
[ 배운 내용 ] 1. Hidden Layer (은닉층) - Hidden Layer를 추가하여 모델링 : 선형회귀, 이진분류, 멀티클래스분류 - MNIST 분류 실습 딥러닝의 지도학습에서 "학습"이란? -> Error(오차)를 줄여나가는 방향으로 W(가중치)를 업데이트 해주는 것 (update : 기존의 것을 고쳐줌 = 개선) ===> 이 과정을 [ Gradient descent ] 라고 한다. Gradient descent 진행 시 기존의 가중치를 우리가 원하는 최적의 가중치로 점점 업데이트하게 된다. 이 때, 가중치 대비 에러값의 변화량에 learning rate를 곱한 값을 기존의 가중치에서 빼며 업데이트 하는데, 이 learning rate 값이 적절해야 우리가 원하는 가중치를 향해 점점 갱신될 ..
[ 배운 내용 ] 1. Tensorflow + Keras 2.x 버전 코드로 구현 (1) 선형회귀 - Sequential API 방식 모델링 - Functional API 방식 모델링 (2) 로지스틱회귀 (이진분류) - Sequential API 방식 모델링 - Functional API 방식 모델링 (3) 멀티클래스 분류 (iris 데이터) - Sequential API 방식 모델링 - Functional API 방식 모델링 Tensorflow & Keras 2.x Keras : Tensorflow(텐서플로우)에 내장되어 있는 유저친화적 API (수업에서는 2.x버전으로 사용). 딥러닝을 처음 공부할 때 Tensorflow + Keras 만한 프레임워크가 없다. 연구단 쪽에서는 Pytorch 현업에서는..
[ 배운 내용 ] 1. AI모델 해석 - 모델에 대한 설명 (1) Feature Importance (변수 중요도) - Tree 기반 모델의 변수 중요도 - Permutaion Feature Importance (2) Partial Dependence Plots (PDP) (3) SHAP 1. AI모델 해석 AI 모델의 해석 및 평가는 비즈니스 상황에서 고객과 소통을 하기 위해 반드시 필요하다. 고객은 AI 전문가에게 다음의 2가지 질문을 던질 수 있다. 모델이 왜 그렇게 예측했나요? 모델은 비즈니스 문제를 해결할 수 있을까요? 고객의 요청을 받고 우리가 만든 AI 모델의 성능을 고객이 믿으려면 모델의 성능을 고객이 이해할 수 있도록 설명이 가능해야 한다. 간단한 예시를 들어 보자 우리는 한 병원의 요청..
[ 오늘 배운 내용 ] 1. 비지도학습 - K-means - DBSCAN 1. 비지도학습 비지도학습은 지도학습과 다르게 답이 주어지지 않은 문제를 학습하는 것이다. 비지도학습 알고리즘 K-maens DBSCAN [ K-means ] K개의 평균으로부터 거리를 계산하고, 가까운 평균으로 묶어서 클러스터(Cluster)를 나누는 방식 클러스터링의 기본이 되는 알고리즘이다. 거리기반 알고리즘이라 스케일링 필요 K-means 절차 클러스터의 개수를 지정한다. (구별되는 그룹의 수로 지정하는 것을 권장) 그룹의 중심점이 무작위로 선택된다. 임의로 선택된 중심점과 각 점 간의 거리를 계산해서 가장 가까운 중심점의 그룹으로 선택된다. 선택된 그룹의 점들을 기준으로 중심점을 계산해서 찾는다. 3~4를 반복하여 중심점의..
[ 오늘 배운 내용 ] 1. Decision Tree (결정 트리) - 트리 알고리즘이란 - 지니 불순도, 정보 증가량 - 모델링 - 하이퍼파라미터 : max_depth, min_samples_leaf - 의사결정나무 모델 시각화 2. Support Vector Machine (SVM) - SVM이란 - 결정 경계, 서포트 벡터, 마진 - 하이퍼파라미터 : Cost(비용), Gamma 3. 성능 튜닝 방법 - 선형 모델 : 변수 선택법 - 전진선택법 (후진선택법) - AIC (아카이케 통계량) - 하이퍼파라미터 튜닝 - Random Search - Grid Search 1. Decision Tree (결정 트리) Tree 기반 알고리즘은 특정 항목(변수)에 대한 의사 결정(분류) 규칙을 나무의 가지가 뻗..
[ 오늘 배운 내용 ] 1. 회귀, 분류 알고리즘 : KNN (K-Nearest Neighbors) - Scaling (스케일링) - knn의 거리 계산법 2. 분류 알고리즘 : Logistic Regression (로지스틱 회귀) - 회귀계수 해석 3. 분류 모델의 평가 방법 - 교차표 (Confusion Matrix) - 성능지표 - 전체 관점 : Accuracy (정분류율) - 특정 class 관점 : Recall (재현율), Precision (정밀도), F1_Score 1. KNN (K-Nearest Neighbor) KNN 알고리즘은 분류와 회귀 문제에서 모두 사용 가능한 알고리즘으로 거리를 계산하여 예측하는 기본적인 알고리즘이다. [ KNN 알고리즘의 과정 ] 예측해야 할 데이터(x_val)..
[ 오늘 배운 내용 ] 1. 모델링 개요 2. 선형회귀 (Linear Regression) - 단순회귀 - 회귀 모델의 평가 방법 - 오차 비 : R-squared - 오차의 양 : MSE, RMSE, MAE - 오차의 율 : MAPE - 다중회귀 교육을 시작하고 드디어 머신러닝 수업이 시작됐다. 그동안 배운 내용 데이터 분석과 데이터 처리는 모델링을 위한 준비작업이었다고 볼 수 있겠다. 주로 데이터를 불러와서 모델을 생성하고 학습시킨 다음 예측을 하는 연습을 코드로 여러번 작성해보았다. 강사님께서 모델링 과정의 코드는 되도록이면 외우라고 하셨는데 오늘 수업을 들으면서 여러 번 직접 입력해보다 보니 손에 익은 것 같다. 코드도 데이터 분석, 처리에 비하면 굉장히 짧은 길이라서 금방 외워졌다. 오늘은 회귀..
kybeen
'kt 에이블스쿨' 태그의 글 목록 (2 Page)