본문 바로가기
728x90
반응형
SMALL

DNN with Keras72

데이터프레임 저장 Saving a Dataframe to CSV import os import numpy as np import pandas as pd path = "." df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?']) filename_write = os.path.join(path, "auto−mpg−shuffle.csv") df = df.reindex(np.random.permutation(df.index)) # Specify index = false to not write row numbers df.to_csv(filename_write, index = False) Saving a Dataframe to Pickle 다양한 소프트웨어 프로그램은 CSV로 저장된 텍.. 2023. 7. 27.
데이터프레임 전처리 Training and Validation 기계 학습 모델이 이전에 본 적이 없는 값을 예측하는 능력을 기반으로 기계 학습 모델을 평가해야 한다. 이 때문에 종종 훈련 데이터를 유효성 검증 및 훈련 세트로 나눈다. 기계 학습 모델은 훈련 데이터로부터 학습하지만 궁극적으로는 유효성 검사 데이터를 기반으로 평가된다. • 훈련 데이터 : (표본 데이터 내) 신경망이 훈련하던 데이터 • 검증 데이터 : (표본 데이터 외) 기계 학습 모델이 훈련 데이터에 fit 후 평가되는 데이터 훈련 및 유효성 검증 데이터를 처리하는 데는 두 가지 효과적인 방법이 있다. • 훈련 및 검증 데이터 분할 : 프로그램은 훈련 및 검증 (홀드 아웃) 세트 간의 비율에 따라 데이터를 분할한다. 일반적인 비율은 80%의 훈련 및 20%의.. 2023. 7. 27.
Dropping / Concatenating Dropping Fields 값이 없는 필드를 신경망에 삭제해야 한다. 다음 코드는 MPG 데이터 세트에서 이름 열을 제거한다. import os import pandas as pd df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?']) print(f"Before drop : {list(df.columns)}") df.drop('name', 1, inplace=True) print(f"After drop : {list(df.columns)}") Before drop : ['mpg', 'cylinders', 'displacement', 'horsepower', 'weight', 'acceleration', 'year', 'origin', 'name'] Aft.. 2023. 7. 27.
자동 기계 학습 (AutoML) 자동 기계 학습 (AutoML) 자동 기계 학습 (Automatic Machine Learning)은 기계 학습을 사용하여 자동화를 시도한다. 데이터는 원시 형태로 AutoML 애플리케이션에 전달되고 모델이 자동으로 생성된다. AutoML 어플리케이션 • AutoKeras • Auto-SKLearn • Auto PyTorch • TPOT • Google Cloud AutoML Tutorial • Azure AutoML AutoKeras AutoKeras는 Keras 기반의 AutoML 시스템이다. AutoKeras의 목표는 모든 사람이 기계 학습에 접근할 수 있도록 하는 것이다. import os import pandas as pd URL = "https://github.com/jeffheaton/dat.. 2023. 7. 24.
정규화 기술 벤치마킹 (2) (분류) Bootstrapping for Classification 분류 부트스트래핑은 StratifiedShuffleSplit 클래스를 사용하여 분할을 수행한다. 이 클래스는 표본 추출이 비율에 영향을 미치지 않도록 클래스가 균형을 이루므로 교차 검증을 위한 StratifiedKFold와 유사하다. import pandas as pd import os import numpy as np import time import statistics from sklearn import metrics from sklearn.model_selection import StratifiedKFold from tensorflow.keras.models import Sequential from tensorflow.keras.layers.. 2023. 7. 24.
정규화 기술 벤치마킹 (1) (회귀) Benchmarking Regularization Techniques 하이퍼 파라미터 값을 각각 조정하면 신경망에서 얻은 점수에 영향을 미칠 수 있다. 하이퍼 파라미터 중 일부는 다음과 같다. • 신경망의 레이어 수 • 각 레이어에서 사용할 뉴런 수 • 각 레이어에서 사용할 활성화 기능 • 각 레이어의 드롭아웃 비율 • 각 레이어의 L1 및 L2 값 이 하이퍼 파라미터를 사용하기 위해 여러 설정을 사용하여 신경망을 훈련해야 한다. 그러나 신경망은 여러 번 훈련할 때 종종 다소 다른 결과를 낸다는 것이다. 이것은 신경망이 무작위 가중치로 시작하기 때문이다. 이 때문에 한 세트의 하이퍼 파라미터가 실제로 다른 세트보다 더 낫다는 것을 보장하기 위해 신경망 시간을 맞추고 평가해야 한다. 부트스트래핑은 두 개의.. 2023. 7. 24.
과적합을 줄이기 위한 드롭아웃 Dropout to Decrease Overfitting Hinton, Srivastava, Krizhevsky, Sutskever, Salakhutdinov (2012)는 드롭아웃 정규화 알고리즘을 도입했다. 드롭아웃은 L1과 L2와는 다르게 작용하지만 과적합 방지라는 동일한 목표를 달성한다. 하지만, 이 알고리즘은 실제로 뉴런과 연결을 제거함으로써 이 작업을 수행한다. 적어도 L1, L2와 달리 일시적으로 가중치 페널티가 추가되지 않는다. 드롭아웃은 직접적으로 작은 체중을 훈련시키는 것을 추구하지 않는다. 드롭아웃은 훈련의 일부 동안 신경망의 숨겨진 뉴런을 사용할 수 없게 함으로써 작동한다. 신경망의 일부를 떨어뜨리면 나머지 부분은 떨어진 뉴런이 없어도 좋은 점수를 얻을 수 있도록 훈련된다. 이 기술.. 2023. 7. 24.
과적합을 줄이기 위한 L1 및 L2 정규화 L1 and L2 Regularization to Decrease Overfitting L1과 L2 정규화는 과적합 효과를 줄일 수 있는 두 가지 일반적인 정규화 기법이다. 이러한 알고리즘은 목적 함수와 함께 작동하거나 역전파 알고리즘의 일부로 작동할 수 있다. 두 경우 모두 정규화 알고리즘은 목표를 추가하여 훈련 알고리즘에 첨부된다. 이러한 알고리즘은 신경망 훈련에 가중치를 추가함으로써 작동한다. 이 페널티는 신경망이 가중치를 작은 값으로 유지하도록 장려한다. L1과 L2 모두 이 패널티를 다르게 계산한다. 이 패널티 계산을 역 전파와 같은 경사 강하 기반 알고리즘의 계산된 그레디언트에 추가할 수 있다. 페널티는 시뮬레이션 annealing과 같은 목적 함수 기반 훈련의 목표 점수와 부정적으로 결합된다.. 2023. 7. 24.
홀드아웃 (Holdout) 방법 홀드아웃 (Holdout) 방법 주어진 원천 데이터를 랜덤 (random)하게 두 분류로 분리하여 교차 검정을 실시하는 방법이다. 하나는 모형의 학습 및 구축을 위한 훈련용 데이터로 하나는 성과 평가를 위한 검증용 데이터로 사용한다. Classification with Stratified K-Fold Cross-Validation 샘플 부족을 생성하기 위해 교차 검증을 사용하여 데이터 세트를 훈련하고 fit한다. 또한, 표본 외 (검정 세트에 대한 예측) 결과도 기록한다. 분류 데이터를 사용하여 계층화된 k-폴드 교차 검증을 수행하는 것이 좋다. 이 기법을 사용하면 모든 접기에서 각 클래스의 백분율이 동일하게 유지된다. 계층화 사용회귀 분석에 사용된 KFold 개체 대신 StratifiedKFold개체이.. 2023. 7. 24.
K-Fold Cross-validation K-Fold Cross-validation 예측 모델링에서 다양한 목적으로 교차 검증을 사용할 수 있다. • 신경망에서 표본 외 예측 생성 • 조기 중단 (early stopping)을 위해 신경망을 훈련시키기 위한 충분한 수의 에포크 추정 • 활성화 함수, 뉴런 수 및 계층 수와 같은 특정 하이퍼 파라미터의 효과 평가 교차 검증은 여러 접힘 및 여러 모델을 사용하여 각 데이터 세그먼트가 유효성 검사 및 훈련 세트 역할을 모두 할 수 있는 기회를 제공한다. 새 데이터에 대한 예측을 생성하기 위해 (훈련 세트에 없는) 폴드 모델의 예측은 여러 가지 방법으로 처리할 수 있다. • 검증 점수가 가장 높은 모델을 최종 모델로 선택한다. • 새 데이터를 5개의 모델 (폴드마다 하나씩)에 미리 설정하고 결과를 평균.. 2023. 7. 24.
728x90
반응형
LIST