DeepLearning_Begin_BloodFat

안선경·2023년 4월 27일
0

DL_study

목록 보기
12/23
post-thumbnail
post-custom-banner

  • 이제 기본적인 Tensorflow와 pytorch(비슷한 부분이 많기에 벨로그 작성x)를 배웠으니 본격적으로 DeepLearning을 deep하게 공부해봤다.
  • 먼저 혈중지방수치와 이에 대한 독립변수로 나이와 체중을 포함한 데이터셋을 불러왔다.
  • 해당 데이터를 시각화하기 위해 3차원으로 표현하고, 각 y값에 대한 나이와 체중을 살펴봤다.
  • 위 데이터를 통해 알고자하는 것은 나이와 체중에 따라 얼만큼의 혈중지방수치를 가지고 있는지 회귀 예측 모델을 만드는 것이다.
  • y=b+x1W1+x2W2y = b + x1W1 + x2W2이며 각 x1,x2x1, x2가 나이와 체중이다.
  • 참고로 y_data의 shape을 바꾼 이유는 위 공식을 통해 행렬을 곱했을 때 나오는 형태는 (25, 1)의 백터를 가지고 있는데, 이와 같은 형태로 만들기 위해서다.
  • 이제 위 그림과 같은 딥러닝 모델을 구축하기 위해 tensorflow에서 keras를 통해 각 Layers값을 넣어주면 된다.
  • 위의 공식은 너무나 간단하기 때문에 단순히 2개의 weight를 가진 input_shape값과 추가로 bias값 총 3개의 변수를 하나의 출력값으로 나오게 만들었다.
  • Dense는 input_shape에 입력 데이터의 shape을 설정하고, 해당 데이터가 나오는 형태를 만들면 된다.
  • 모델을 살펴보니 3개의 변수가 존재하며, fit을 통해 교육해보니 epoch가 늘어갈수록 loss값이 확실히 떨어진다.
  • loss값을 그래프로 살펴보니 2000~3000사이에서 확실히 loss값이 많이 떨어졌다.
  • 각 변수의 임의의 데이터를 넣었을 때 위와 같이 교육을 통한 예측값을 출력한다.
  • 이제 행렬을 통해 위의 예측값을 구현해보자
  • 먼저 model에서 각 변수의 가중치를 W, b에 저장하고
  • 임의의 몸무게와 나이 데이터를 저장하고, 두 변수를 (50, 2)형태로 바꾼 후 두 값을 가중치에 더한 후 bias값을 더하면 예측값이 출력된다.
  • 이제 실제값에 예측한 회귀직선을 그어보면 위에 모양과 같이 나타난다.
profile
상황을 바꿀 수 없다면, 나를 바꾸자
post-custom-banner

0개의 댓글