Basic of Deeplearning #1

갱갱·2024년 12월 19일

ZB_DeepLearning

목록 보기
2/12
post-thumbnail

2024.12.15
딥러닝 기초 #1



Basic of Deeplearning

  • 텐서플로우 소개
    • Machine learning을 위한 오픈소스 플랫폼 - 딥러닝 프레임워크
    • 구글이 주도적으로 개발 - 구글 코랩에는 기본 장착
    • 최근 2.x 버전 진행
    • Keras라고 하는 고수준 API 병합

  • Tensor : 벡터나 행렬을 의미
  • Graph : 텐서가 흐르는 경로 혹은 공간
  • Tensor Flow : 텐서가 Graph통해 흐른다라는 개념


딥러닝의 기초 : Keras

  • 텐서플로우의 사용을 쉽게 해주는 Keras

각각의 레이어를 지나가면서 행렬계산, 곱셈계산 등이 이루어 지면서 Output이 돌출된다.
뉴런 : 하나하나 작은 구성요소를 의미
뉴런이 모여서 레이어를 구성하고, 망을 구성함
이 신경망이 깊어(많아)지면 깊은 신경망 Deep learning이 된다.



일단 실습

학습 데이터 읽기

데이터 설명에 따르면, 첫번째 컬럼은 index, 두번째는 그냥 구분선, 몸무게(kg), 나이(age), blood fat content 순서로 구성되어 있음.



3차원으로 그래프 그려보기.

현대 간단한 딥러닝의 목표는, 나이와 몸무게를 알려주면 주어진 데이터를 분석하여 blood fat content가 얼마인지 예측해서 알려주는 것이다. ( linear Regression )



  • 결국 y=xW + b 의 직선을 구하는것 (선형회귀)



선형회귀분석 진행하기

행렬의 곱셈으로 보았을 떄, x_data는 25X2 행렬이고, y_data는 25, 행렬이다.
y=xW + B 에서 x는 25X2 이며 W와 B는 상수이니 25X1로 볼 수 있으니 결과는 25X1이어야 한다.
이에 맞게 y_datareshape한다.





원래 의도한 모델 만들기

  • TensorFlow 활용해서 신경망(모델) 만들기.

summary를 확인하면 모델의 상세사항을 알 수 있다.




다음해야 하는 것

그 명령이 fit( )이다.



loss를 약 1800까지 떨어트린다 ( 학습횟수를 증가시키므로 loss를 줄이는 효과, 현재 5000번 학습 )



  • loss에 대한 그래프

* 그래프를 보니, 약 2000번 정도 학습시키면 어느정도 loss가 안정권에 들어온다 볼 수 있다.


학습된 모델에게 predict 진행

TensorFlow의 사용법은 sklearn과 유사하다.



가중치를 보려면.. get_weights 함수 사용


참고




profile
(hellow. world)

0개의 댓글