programming/TIL

[머신러닝야학]Tensorflow1_2일차

mimyo_ 2020. 8. 23. 01:08

1. 머신러닝의 프로세스

  1) 데이터를 독립변수, 종속변수로 나눔

  2) 모델의 구조 생성

   - 독립변수와 종속변수의 개수가 중요한 요인이 됨

    : 단순 선형 회귀냐, 다중 회귀냐를 결정하는 요인일까?

  3) FIT(학습)하는 함수를 call

   - 학습 횟수를 입력

* 데이터의 양은 정해져 있다. 학습 횟수라는 것은 무엇을 의미할까?
  A. 손실 항목 참조

  4) 예측 실행

2. 손실(Loss)

  - 예측의 값과 실제 값 간 분산(차이 제곱의 평균)

  - 학습의 결과를 통해 모델의 정확성을 평가하는 지표.

* 내가 해석한 학습에 대한 상상
  1단계 독립변수와 종속변수 간의 관계로 방정식(모델?)을 구한다. (100% 정확한 방정식일 수가 없다.)
  2단계 독립변수를 입력후, 종속변수의 값을 예측한다.
  3단계 예측한 값과 종속변수 데이터 간 분산값을 통해 예측의 정확성을 도출한다. (피드백이 된다)
  4단계 1단계에서 예측한 방정식을 수정하여 1~3단계를 다시 실행, loss가 낮아질 때 까지 이를 반복한다.

  3. 실습

#모델 형성
  #독립변수 개수 입력
X = tensorflow.keras.layers.Input(shape=[1])
  #종속변수 개수 입력
Y = tensorflow.keras.layers.Dense(1)(X)
  #모델 구성
model = tensorflow.keras.models.Model(X, Y)
  #어떤 모델(알고리즘)을 적용할 것인가?
model.compile(loss='mse')

#모델 학습
  #epochs는 학습 횟수 / verbos는 옵션으로 추측. 0일 경우 각 횟수에 대한 화면출력을 하지 않음.
model.fit(독립변수, 종속변수, epochs=10000, verbos=0)

#모델 이용
  #predict 예측 요구 함수. table을 입력하면 그 값에 대한 각각의 예측 결과가 출력된다.
model.predict(독립변수)
model.predict([[값]])

    1) keras란 뭘까?

     A. 라이브러리. Tensorflow에 얹어서 사용가능하다.

        Java에서 라이브러리를 사용함으로써 C코드로 작성했을 때와 달리, 짧은 코드로 쉽게 작성할 수 있는 것과 같은 느낌인 라이브러리인 것 같다.

    2) 그렇다면 layers는? Dense는 또 뭐란말이냐...

     - layer가 변수 간 관계성을 넣는 것일까? 경우의 수? (나중에 찾아봐야할 과제)

     - layer에 input(독립변수)개수를 넣고, Dense(경우의 수)를 구하기 위해 (종속변수 개수)(X)를 넣는 건 아닐까?

       : 종속변수 개수 * 독립변수 개수 = 경우의 수 니까?

    3) 지금 사용하고 있는 모델이 다중 퍼셉트론 모델인 것 같다. 아마도?

다층 퍼셉트론 레이어 이야기
이번에는 케라스에서 사용되는 레이어(layer, 층) 개념에 대해서 알아봅니다. 케라스의 핵심 데이터 구조는 모델이고, 이 모델을 구성하는 것이 레이어입니다. 간단히 뉴런에 대해서 알아본 다음, 주요 레이어에 대해 기본 개념, 역할 등에 대해서 살펴보고, 레이어를 어떻게 쌓아서 모...
tykimos.github.io
* 쌩뚱맞은 궁금증. google colaboration 처리에 대한 의문
  : data.head() 이후에 다른 코드를 실행할 경우 table의 화면 출력이 안된다. 왜일까?
후기. 강연자의 의도와 전혀 다르게... 궁금한게 하나만 나와도 알아야할 것 같다.
       이런게 부담감이 되어서 학습이 지속되기 힘든 것인데... 조금 알 것 같은 것을 하고 있으니까 재밌어서 더 그러는 것 같다. 조심해야겠다.
        조급하게 실행해서, 10000번의 학습을 시키는 데 각 횟수의 결과값을 다 출력하는 낭패를 겪었다. 이런...

'programming > TIL' 카테고리의 다른 글

[Codility]Arrays  (0) 2020.08.26
[Codility]Iterations_BinaryGap  (0) 2020.08.26
[머신러닝야학]Tensorflow1_1일차  (0) 2020.08.20
[머신러닝야학]머신러닝1_4일차&5일차  (0) 2020.08.20
[Git]command_원격저장소  (0) 2020.08.18