22.10.07(금) Today I Learned

정형빈·2022년 10월 10일
0

TIL

목록 보기
24/71

10/7 오늘의 시간표

09:00 ~ 10:00 [원격] 실전 머신러닝 적용
10:00 ~ 11:00 [원격] 실전 머신러닝 적용
11:00 ~ 12:00 [원격] 실전 머신러닝 적용
12:00 ~ 13:00 [원격] 실전 머신러닝 적용
13:00 ~ 14:00 점심식사
14:00 ~ 15:00 [원격] 실전 머신러닝 적용
15:00 ~ 16:00 [원격] 실전 머신러닝 적용
16:00 ~ 17:00 [원격] 실전 머신러닝 적용
17:00 ~ 18:00 [실습] 리펙토링해보기
18:00 ~ 19:00 저녁식사
19:00 ~ 20:00 [실습] 리펙토링해보기
20:00 ~ 21:00 [실습] 리펙토링해보기

첫 프로젝트가 끝난 후 숨돌릴 틈도 없이 다음 원격 강의인 머신러닝 적용강의가 시작되었다.

머신러닝 원격 기간 아침발제

우리가 머신러닝을 배워야 하는 이유

    1. 데이터사이언티스트, 머신러닝 엔지니어와 협업할 수 있는 백엔드 엔지니어가 된다.
    1. 머신러닝 모델을 백엔드와 연동하고 배포하는 과정을 통해 AI 서비스가 어떻게 구현되는지를 안다.
    1. 요즘 컴퓨터학과 졸업하는 분들은 간단하게라도 머신러닝 프로젝트를 해본다.

머신러닝 학습 목표 (Check List)

  • 다른 사람이 학습시킨 모델을 사용해 서비스에 적용해볼 수 있다.
  • 모델의 다양한 출력값을 이용해 서비스에 적용해볼 수 있다.
  • 모델이 어떻게 학습되는지를 이해해 모델을 학습하고 서비스에 적용해볼 수 있다.
  • numpy, pandas의 개념을 이해하고 적용해볼 수 있다.
  • 컴퓨터가 어떻게 이미지를 인식하는지 이해하고 적용해볼 수 있다.

위에 해당되는 것들은 10월 12일 수요일 이상호튜터님의 특강을 통해 자세하게 배우게 될 것이고 그 전에 우리는 해야할 것들이 있다.

  • 강의 진도율 100% 달성하기 (강의명에 KDT라고 써있는 강의들!!)

    • 웹 프로그래밍 A-Z 기초
    • 파이썬 문법 기초
    • 협업을 위한 Git 활용 기초
    • 파이썬 장고 실무 기초
  • 실전 머신러닝 적용 강의 수강하기 (1주차 완강을 목표로)

  • 팀 프로젝트 때 받았던 피드백 진행

    → 깃 브런치, 다른 팀 코드 보기, 코드리뷰 해보기 등

알고리즘 실습을 제외한 본 강의들은 모두 수강이 끝났기 때문에 추가로 수강할 필요는 없었고 1주차 강의 수강과 팀 프로젝트 피드백을 실시해야하는데 팀 프로젝트 피드백은 어제 했기때문에 다른팀 코드들을 확인하고 느낀점만 가볍게 얘기해보기로 했다.

머신러닝 적용 원격 강의

- 1주차

  • 머신러닝이란?

    • 직역하면 기계를 가르친다라는 뜻으로 컴퓨터 프로그램이 알고리즘을 사용하여 데이터에서 패턴을 찾는 인공 지능 애플리케이션을 의미한다.
  • 머신러닝에서 문제를 풀 때, 해답을 내는 방법을 크게 회귀 또는 분류로 나눌 수 있다.

    • 회귀 : 출력값이 연속적인 소수점으로 예측하게 하도록 푸는 방법
    • 분류 : 분류 모델은 레이블이 달린 학습 데이터로 학습한 후에 새로 입력된 데이터가 학습했던 어느 그룹에 속하는 지를 찾아내는 방법
  • 머신러닝은 크게 세 가지로 나눌 수 있다. 지도/비지도/강화 학습이다.

    • 지도 학습(Supervised learning): 정답을 알려주면서 학습시키는 방법
    • 비지도 학습 (Unsupervised learning): 정답을 알려주지 않고 군집화(Clustering)하는 방법
    • 강화 학습(Reinforcement learning): 주어진 데이터없이 실행과 오류를 반복하면서 학습하는 방법 (알파고를 탄생시킨 머신러닝 방법!!)
  • 선형회귀 : 데이터를 놓고 그걸 가장 잘 설명할 수 있는 선을 찾는 분석하는 방법을 선형 회귀(Linear Regression) 분석이라 부른다.

  • 경사 하강법 : 일단 파라미터를 임의로 정한 다음에 조금씩 변화시켜가며 손실을 점점 줄여가는 방법으로 최적의 파라미터를 찾아가는 방법

  • 데이터셋 분할

      1. Training set (학습 데이터셋, 트레이닝셋) = 교과서

      머신러닝 모델을 학습시키는 용도로 사용하고 전체 데이터셋의 약 80% 정도를 차지한다.

      1. Validation set (검증 데이터셋, 밸리데이션셋) = 모의고사

      머신러닝 모델의 성능을 검증하고 튜닝하는 지표의 용도로 사용한다. 이 데이터는 정답 라벨이 있고, 학습 단계에서 사용하기는 하지만, 모델에게 데이터를 직접 보여주지는 않으므로 모델의 성능에 영향을 미치지는 않는다. 손실 함수, Optimizer 등을 바꾸면서 모델을 검증하는 용도로 사용하며 전체 데이터셋의 약 20% 정도를 차지한다.

      1. Test set (평가 데이터셋, 테스트셋) = 수능

      정답 라벨이 없는 실제 환경에서의 평가 데이터셋이다. 검증 데이터셋으로 평가된 모델이 아무리 정확도가 높더라도 사용자가 사용하는 제품에서 제대로 동작하지 않는다면 소용이 없기 때문에 중요하다.

이번 강의는 아무래도 알고리즘에서 나온 갈래이기 때문에 이론적인 측면이 좀 더 많고 살짝 보기만해도 어려운것이 느껴지는 강의였다. 아무래도 이번 강의에서도 꽤나 고생을 할 것 같은 느낌이 든다.

오늘 하루를 마치며

프로젝트가 끝난 금요일이라 유난히 집중이 안된 감이 있지만 그래도 한 주의 마지막날이 끝났다. 하지만 새로 시작한 머신러닝은 훨씬 어려운 느낌이기 때문에 다음주부터 다시 집중해서 강의를 들어야 할 것 같다.

profile
스파르타 내일배움캠프 3기 수강생 정형빈

0개의 댓글