빅데이터 부트캠프/머신러닝&딥러닝7 빅데이터 부트캠프 28&29일차 RNN(Recurrent Neural Network, 순환 신경망) - 순서가 있는 데이터를 처리하기 위한 Neural Network - 순서가 있는 데이터는 발생 순서가 중요한 데이터 - 은닉층 활성화 함수로 주로 tanh 사용 (값 = -1~1 사이, 기울기 값 = 0~1 사이) (유사한 sigmoid는 값 = 0~1 사이, 기울기 값 = 0~0.25 사이) - 데이터의 길이가 길어질수록 앞쪽의 데이터 내용이 뒤쪽으로 전달되지 않아 학습 능력이 크게 감소하는 '장기 의존성' 문제가 존재 ex) 입력한 데이터 x와 참고할 데이터 h 간의 거리가 멀면 그 만큼 까먹을 가능성이 높음 - tf.keras.layers.SimpleRNN(units=, return_sequences=출력 시퀀스의 마지막 출력을 .. 2022. 8. 11. 빅데이터 부트캠프 26&27일차 CNN(Convertion Neural Network, 합성곱 신경망) - 입력 데이터의 전체에 가중치를 적용하는 것이 아니라 일부에 가중치를 곱하여 계산 - Convertion(합성곱) = 설정한 가중치의 개수에 따라 한 칸씩 아래로 이동하면서 출력을 만드는 것 - CNN에서는 뉴런을 필터 혹은 커널이라 부름 - Feature map(특성 맵) = 합성곱 계산을 통해 얻은 출력 Padding - 입력 배열의 주위를 가상의 원소로 채우는 것 (주로 0으로) ex) (4,4) 크기의 입력에 1번 패딩 -> (6,6) 크기 (6 = 4+1x2) Pooling - 특성 맵의 가로세로 크기를 줄이는 것 (특성 맵 자체의 개수는 변함X) - Max Pooling = 필터를 적용한 부분의 최대값을 출력 - Aver.. 2022. 8. 10. 빅데이터 부트캠프 25일차 딥러닝(Deep Learning) - 머신러닝의 대표적인 학습법 - 여러 층을 거쳐 점점 추상화 단계로 접어드는 알고리즘 형태 - 패턴을 찾기 위해선, 패턴을 견고하게 만드는 많은 훈련데이터가 필요 ReLU 함수 - ReLU(x) = max(0, x) - 0보다 작은 값을 0으로 강제 - 딥러닝에서 가장 많이 사용됨 - 미분 값이 일정(0 or 1)하여 학습이 효율적 - 구현이 단순하여 매우 빠른 연산 Tensorflow - Google이 2015년에 공개한 머신러닝 오픈소스 Framework - ML 모델을 개발하고 학습시키는 데 도움이 되는 핵심 오픈소스 라이브러리 - TensorFlow는 graph로 연산(computation)을 나타내는 프로그래밍 시스템 - 데이터 = Tensorflow, 데이터.. 2022. 8. 8. 빅데이터 부트캠프 23&24일차 앙상블 - 이미 만든 여러 분류기를 연결하여 더 좋은 분류기를 생성하는 방법 Simple Voting - Hard Voting : 다수의 분류기들 간에 다수결로 최종 클래스를 선정하는 방법 - Soft Voting : 다수의 분류기들이 각각 분류한 확률값들을 기반으로 평균 확률값을 내어서 더 높은 확률값을 갖는 클래스로 최종 선정하는 방법 VotingClassifier - 개별 모델들을 하나의 분류기 객체에 담아 앙상블 학습을 진행 - Regressor 없이 모두 Classifier만 담아져야함 (Regressor 앙상블은 VotingRegressor) - 데이터셋 분리(train_test_split) 전에 실행해야함 - from sklearn.ensemble import VotingClassifier .. 2022. 8. 5. 빅데이터 부트캠프 22일차 Decision Tree - 데이터에 있는 규칙을 학습을 통해 자동으로 찾아 tree 기반의 분류 규칙 적용 - 트리를 어떻게 분할할 것인가가 중요 - tree 깊이가 깊어질수록 결정 tree의 예측 성능이 저하될 수도 있음 - 가급적 최대한 균일한 데이터 세트를 구성할 수 있도록 분할할 수 있게 해야 함 ※ 그래프 구조 - 루트 노드 : 최상위 node - 규칙 노드(Decision Tree) = 규칙 조건 - 리프 노드 = 결정된 클래스값 (맨 마지막) ※ graphic에 표현된 문구들 - gini : value=[]로 주어진 데이터 분포의 지니계수 - samples : 한 규칙에 해당하는 데이터 건수 - value = [] : 클래스 값 기반의 데이터 건수 ※ 지니(gini) 계수 - 경제학에서 불.. 2022. 8. 4. 빅데이터 부트캠프 21일차 StandardScaler (표준화) - 데이터의 특징 스케일링(feature scaling)을 위한 방법 중 하나로 평균이 0, 분산이 1인 값으로 변환 - 중심이 원점에서 떨어져있는 그래프의 중심을 원점으로 옮기는 것 - from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(iris_df) scale = scaler.transform(iris_df) iris_scaled_df = pd.DataFrame(data=scale, columns=iris.feature_names) iris_scaled_df - fit() = 평균과 표준편차 계산 - transform() = 표준화 - fit_transform(.. 2022. 8. 3. 빅데이터 부트캠프 19&20일차 머신러닝의 정의 인공지능의 한 분야로 컴퓨터 스스로 방대한 양의 데이터를 분석하여 미래 혹은 결과를 예측하는 것 머신러닝의 종류 지도학습(Supervised Learning) - 정답이 있는 데이터를 바탕으로 데이터 분류 및 올바른 결과 예측 비지도학습(Unsupervised Learning) - 정답이 없는 데이터를 바탕으로 데이터의 유의미한 패턴 혹은 구조 발견 강화학습(Reinforcement Learning) - 행동에 대한 보상을 통해 누적 보상을 최대화 하는 의사결정 회귀(Regression) - 주어진 연속적인 데이터로부터 변수들 간의 상관관계를 찾아 결과를 예측하는 것 (데이터의 경향성을 하나의 선을 그어서 표현하는 것) - 예측 결과가 연속형 데이터(숫자)일 때 주로 사용 분석(Class.. 2022. 8. 1. 이전 1 다음