ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 20221129 = 딥 러닝 , Tensorflow
    PYTHON 2022. 11. 29. 16:52
    딥 러닝
    
    dropout = 일부 노드를 제거하고 사용하는 것
    왜 dropout을 사용하는가? = 과대적합(과적합, 오버피팅)을 방지하기 위해 일부 노드를 제거하고 사용하는 것
    
    optimizer = 오차가 최소가 되는 지점을 찾기 위한 optimizer, 기울기, 방향, learning rate를 고려
    
    loss = 손실을 측정
    
    metrics = 평가지표
    import numpy as np
    smax = tf.nn.softmax(predictions).numpy()
    np.sum(smax)
    
    tf.nn.softmax 함수는 다음과 같이 이러한 로짓을 각 클래스에 대한 확률로 변환
    
    losses.SparseCategoricalCrossentropy를 사용하여 로짓의 벡터와 True 인덱스를 사용하고 각 예시에 대해 스칼라 손실을 반환하는 훈련용 손실 함수를 정의
    
    이 훈련되지 않은 모델은 무작위에 가까운 확률(각 클래스에 대해 1/10)을 제공하므로 초기 손실은 -tf.math.log(1/10) ~= 2.3에 근접해야 함
    
    Model.evaluate 메서드는 일반적으로 "Validation-set" 또는 "Test-set"에서 모델 성능을 확인
    Tensorflow cheatsheet
    
    층 구성 tf.keras.sequential()
    
    tf.keras.input() = 입력층
    tf.keras.layers.Dense() = 은닉층
    tf.keras.layers.Dense() = 출력층
    
    활성화 함수 (Activation)
    
    linear = 디폴트 값
    relu = 은닉층에 주로 사용
    sigmoid = 이진 분류 문제
    softmax = 다중 클래스 분류 문제
    
    컴파일 model.compile()
    
    model.compile(optimizer, loss, metrics)
    - optimizer = SGD, RMSprop, Adam
    - loss = 회귀 (MSE), 분류 (binary_crossentropy, categorical_crossentropy, sparse_categorical_crossentropy)
    - metrics = 분류 (accuracy, AUC), 회귀 (MAE, MSE)
    
    요약 model.summary()
    
    model.summary()
    - Layer
    - Output Shape
    - Param
    
    학습 model.fit()
    
    model.fit(X_train, y_train, epochs)
    tf.keras.callbacks.history()
    - acc = 훈련 정확도
    - val_acc = 검증 정확도
    - loss = 훈련 손실값
    - val_loss = 검증 손실값
    
    예측 model.predict()
    
    model.predict(x_test)
    
    평가 model.evaluate()
    
    model.evaluate(X_test, y_test)

    'PYTHON' 카테고리의 다른 글

    20221205 = 합성곱신경망  (0) 2022.12.05
    20221130 = 딥러닝 복습  (0) 2022.11.30
    20221128 = 분류 측정지표  (0) 2022.11.28
    20221124 = Recall & Precision  (0) 2022.11.24
    20221123 = 강의자료정리 (Boosting)  (2) 2022.11.23
Designed by Tistory.