ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python Keras 흐름
    Search: Ai Ai 2021. 4. 3. 21:20

     

    전체적 흐름

    [DataSet] -> [Input] -> [Model] -> [Loss처리] -> 학습종료

    [Loss처리]에서 손실함수 최소값에 이르면 학습을 종료하고 아니면 다시 [Input]단계로 가서 진행한다.

     

    DataSet

    TrainData: 학습에 사용, Weight와 Bais를 최적화 하기 위해 사용.

    ValidationData: 1epoch마다 과적합(overfitting)을 확인하기 위해 사용(during learning).

    TestData: 학습 후에 정확도를 평가하거나 임의의 입력에 대한 결과를 예측하기 위해 사용되는 데이터(after learning).

     

    Model

    입력층, 은닉층, 출력층으로 구성

    Flatten함수: 입력으로 들어오는 다차원 데이터를 1차원으로 정렬하기 위해 사용되는 Layer. 입력 데이터의 차원 수를 input_shape=(1,)과 같이 설정함. Dense에 input_shape를 넣어 Flatten을 생략 가능하다.

    Dense함수: 각 층의 입력과 출력 사이에 있는 모든 노드가 서로 연결되는 완전 연결층(FC)을 나타낸다. 첫번째 인자는 출력되는 노드의 수를 나타낸다. 인자 activation에 입력되는 값으로 활성화 방식을 결정한다.

     

    activation

    linear: 선형회귀 문제에서 사용

    일반적인 classification 경우 sigmoid, softmax, relu, tanh 등

     

    optimizer

    최적화 알고리즘으로 SGD, Adam등이 있다.

    이자 learning_rate의 값으로 로 학습률을 지정한다.

     

    loss (or cost)

    입력과 결과의 차이값에 대한 처리로 모든 값들을 고려해서 처리한다.
    모든 값을 단순 덧셈을 하게되면 오차가 있지만 음수와 양수의 합으로 0이 되어 오차가 없는 것인지 판단할 수 없게 된다. 그래서 제곱을 하여 언제나 양수가되게 만들어 확인한다.

    손실함수(loss function, cost function) 종류로는 

    mse: 평균제곱오차

    binary_crossentopy: 이진분류

    categorical_crossentropy: 다중 클래스 분류

    sparse_categorical_crossentropy 등...

     

    metrics

    정확도 측정 방법

    기본적으로 loss만 측정함 (기본값: metrics=['loss'])

     

    모델학습

    model.fit함수

    x_train: 입력데이터.

    t_train: 정답데이터.

    epochs: 전체데이터의 반복 회수.

    batch_size: 한번에 입력으로 주는 데이터 개수

    validation_split: 만약 validation data를 만들지 않았다면 train data에서 얼마의 비율로 validation data를 사용할지 결정.

     

    학습결과 평가

    model.evaluate함수

    x_test: 테스트 데이터

    t_test: 정답 데이터

    batch_size: 한번에 넣을 입력 개수, 생략가능

     

    학습결과 예측

    model.predict함수

     

    학습결과 저장

    재 학습 없이 지속적으로 사용가능.

    model.save함수

    불러오기: model = tensorflow.keras.models.load_model("modelname.h5") //hdf5파일

    'Ai' 카테고리의 다른 글

    Keras Layer  (0) 2021.04.04
    Keras 사과 바나나 구분  (0) 2021.04.04
    전이학습  (0) 2021.04.04
    인공신경망 (Artificial NeuralNetwork)  (0) 2021.04.04
    Python Keras 간단 예제  (0) 2021.04.03
    TensorFlow  (0) 2021.04.03
    Keras  (0) 2020.09.04
    시타델 인공지능(AI) 매매 퀀트 헤지펀드  (0) 2019.06.10

    댓글