본문 바로가기

TIL/Machine learning

24.06.10 Review (Summary/ Linear Regression with Pytorch)

Overall Load Map

출처: https://tensorflow.blog/

Overall process for data analysis

Mining Algorism(Machine model)

데이터 유형

  • Tips
    • 자기만의 EDA code를 짜두고 잘 정리해 두기
    • Model에 따라 돌려본 hyperparameter, 변수(중요도가 높은 기준 등의 다양한 조합을 했을 때 뭘 선택했는지), 데이터분할방식, 훈련세트비율, scaling 등 모두 기록해두면서 모델 성능을 관리하기 
      --> 여러번 수행했을 때 그냥 pass하지 말고 분석하기
    • e.g. 아래 예시

 

Linear Regression with Pytorch

  • Linear Regression
    • 독립변수들과 종속변수 간의 관계를 예측할 때, 그 사이의 관계를 선형(1차 함수)으로 가정하고 모델링하는 지도학습 알고리즘
  • Pytorch vs. Tensorflow
    • Pytorch/Tensorflow: Frame work
    • Framework: 개발할 때 필요한 여러 요소들과 메뉴얼인 룰을 제공해주는 프로그램 
    • Tensorflow: 연산그래프를 먼저 만든 다음 값을 전달해 결과를 얻는 Define and run 방식. 학습도중 조건에 따라 변화를 줄 수 없는 정적인 모델 
    • PyTorch: 연산그래프를 만드는 동시에 값이 할당되는 Define by run 방식으로 학습시키는 도중에 단계마다 조건을 바꿔줄 수 있는 동적인 모델

 

  • Neural Network
    • 신경망 구조
      - Input layer, output layer는 1개로 정해져 있음
      - Hidden layer는 분석가의 설계에 따라 달라짐
      - Hidden layer가 여러개 = 다층 신경망 (Deep NN)
    • 각 layer의 역할
      - Input layer: 독립변수의 값(features)를 입력받아 다음층으로 전달  
      - Hidden layer: 입력받은 data에서 종속변수의 값을 추론하는데 필요한 중요특성 추출
      - Output layer: 종속변수의 예측치 출력  
    • 각 layer/ node 수는?
      - 회귀의 출력 node = 1개
      - 분류의 출력 node = 2개 (0 or 1)
      - 아래 신경망의 layer/ node 수는? 

               - 입력층: 1개 
               - 은닉층: 1개 
               - 출력층: 1개
               - 입력노드: 3개 (bias 포함)
               - 은닉노드: 3개
               - 출력노드: 1개 
               - 가중치의 개수: 입력노드 * 은닉노드 + 은닉노드 * 출력노드 = 9 + 3 = 12