본문 바로가기

MACHINE | DEEP LEARNING/Deep Learning Project21

[AI] 딥러닝 인공지능 학습 중에 평가하기 validation validation 이란? : 에포크가 한번 끝날때 마다 학습에 사용하지 않은 데이터로 시험 보는 것을 말한다 ** 테스트 = 인공지능이 완전히 학습이 다 끝난 상태에서 평가 ** 벨리데이션 = 학습 중에 (에포크 하나가 끝날때마다) 평가 인공지능 학습(fit) 시킬때 파라미터로 넣어서 지정해준다 - validation_split= 사용 _ 학습할때 학습 데이터의 0.n 은 테스트 용으로 쓰겠다고 지정하는 것이다 import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense def build_model() : model = Sequential() model.add(D.. 2024. 4. 17.
[AI] 딥러닝 epochs history 모델의 훈련 과정 시각화 _차트 epoch_history : 객체에 저장된 통계치를 사용해 모델의 훈련 과정을 시각화할 수 있다 # 학습시킬때 변수에 저장하여 학습시킨다 epochs_history = model.fit(X_train, y_train, batch_size= 10, epochs= 100) # 저장된 변수의 히스토리는 딕트로 나온다 epochs_history.history import matplotlib.pyplot as plt # 차트로 나타내기 (위에서 확인한 history의 키값 입력) plt.plot(np.arange(1, 100+1), epochs_history.history['loss']) plt.xlabel('# epochs') plt.ylabel('Loss') plt.show() 2024. 4. 17.
[AI] 딥러닝 미분 기울기의 이동 보폭 optimizer learning rate 셋팅 텐서플로우 옵티마이저 런닝레이트(학습률) 셋팅하기 : learning rate란 미분 기울기의 이동 보폭(step) 이다 : 숫자가 적을수록 파라미터의 오차를 줄이는 숫자가 조금씩 내려간다 : 에포크 와 마찬가지로 Learning rate의 값이 적합하지 않을 경우, Overflow가 발생할 수 있다 - 모델 컴파일 할때 원래는 옵티마이져를 문자열로 불러왔지만, 함수로 불러오면 런닝레이트 파라미터를 직접 지정 할 수 있다 런닝레이트 파라미터의 디폴트 값은 0.001이다 def build_model() : model = Sequential() model.add(Dense(64, 'relu', input_shape=(X_train.shape[1],))) model.add(Dense(64, 'relu')) m.. 2024. 4. 17.
[AI] 딥러닝 ANN 수치 예측 TensorFlow Regression 문제 모델링 딥러닝 텐서플로우 리그레션(수치예측) 문제 모델링 모델링 하기 전 데이터 전처리는 필수이다! 1. 데이터 확인 후 X, y 값 지정하기# 기본 데이터 통계치 확인df.describe()# nan값 확인df.isna().sum()# nan 값 있으면 제거df.dropna()# 학습을 위해 X,y값 지정 (X값은 예측에 필요한 컬럼, y는 예측할 값)X = df.loc[ : , '컬럼' : '컬럼' ]y = df['컬럼'] 2. 피처스케일링 _데이터 정규화하기- y 값을 정규화 할 경우 에러 주의 해야한다- 기본적으로 1개의 컬럼으로 y 값을 지정했을 경우 y는 1차원 데이터 시리즈로 되어있다  그래서 y를 피처스케일링 해주기 위해선 y.values.reshape( , )을 해줘야 한다    _ y.val.. 2024. 4. 17.
[AI] 딥러닝 최적의 하이퍼 파라미터 찾기 _TensorFlow GridSearch 텐서플로우 그리드 서치를 이용한 최적의 하이퍼 파라미터를 찾아보자 필요한 라이브러리 임폴트 # Tuning the ANN from scikeras.wrappers import KerasClassifier from sklearn.model_selection import GridSearchCV from keras.models import Sequential from keras.layers import Dense 텐서플로우 로 그리드 서치 하기 위해서 모델링하는 함수를 만든다 - def 로 함수 만들기 def build_model(optimizer='adam') : model = Sequential() model.add( Dense( units=8, activation= 'relu', input_shape=(.. 2024. 4. 17.
[AI] 딥러닝 인공지능 학습시킬 때 에포크(epoch)와 배치사이즈(batch_size) 설정 에포크(epoch)와 배치사이즈(batch_size) batch_size= n - n 자리에 한번 학습할때 몇개의 데이터를 넣어 학습할지 값을 입력 - 메모리의 한계와 속도 저하 때문에 대부분의 경우에는 한 번의 epoch에서 모든 데이터를 한번에 집어넣을 수 없다 그래서 데이터를 나누어 주는데 이때 몇 번 나누어 주는가를 iteration이라고 부르며, 각 iteration마다 주는 데이터 사이즈를 batch size라고함 epochs= n - n 자리에 해당 데이터를 몇번 반복해서 학습할지 값을 입력 - 한 번의 epoch는 신경망에서 전체 데이터 셋에 대해 forward pass(->)/backward pass( 2024. 4. 17.