2 분 소요

Today I Learned 2023-06-15


- 목차 -
오늘 공부한 것은 다음과 같습니다. 
1. 머신러닝 어드밴스) 예측 모델 개발 및 적용
2. 케글 프로젝트
3. 만들다 스터디
4. 머신러닝 배아직 복습
5. 코테 연습

학습 노트


1. 예측 모델 개발 및 적용

  • 머신러닝 과정에서 가장 중요한 건 오버피팅을 방지하는 것
  • Out-Of-Fold Predcition은 데이터 수가 적을때 발생할 수 있는 Overfitting 가능성을 예방하기 위해 사용하는 교차검증 방법입니다. K-Fold Cross Validation은 OOF의 한 방법입니다. 매우 중요한 과정으로 꼭 정확하게 이해해야 합니다.
  • Optuna는 하이퍼 파라미터를 자동으로 찾아주는 파이썬 라이브러리입니다. Optuna는 베이시안 최적화를 통해 하이퍼 파라미터 최적값을 찾아주는데, 이는 Grid Search와는 다릅니다. 주어진 범위 내에서 성능이 잘 나오는 것을 찾아가는 방법입니다.
  • 대표적인 분류모델 성능 평가의 지표는 다음과 같습니다.
    • Accuracy : 맞은 개수의 비율
    • F1 Score : Accuracy만으로는 어떤걸 얼마나 틀렸는지 알 수 없기 때문에, 감염병과 같은 FN, FP 정확도 관리가 필요한 상황(걸린 사람을 안 걸린 것으로 예측하면 안되니까!) F1 Score를 확인한다. Precision(정밀도)과 Recall(재현율)의 조화평균이다.
    • AUC : 모델 성능 비교할때, Threshold(임계값)이 변화하는 와중에 전반적 성능이 좋은지 나쁜지 평가하고 비교하고 싶을때 사용. 두 모델의 성능 비교할때 사용한다는 것만 기억해도 된다!

2. 케글 프로젝트

  • 케글 프로젝트 진행 방식 등에 대해 들어보고, 미니프로젝트 1번 주제로 제시된 ICR을 용담강사님의 코드로 돌려보는 시간을 가졌습니다.
  • 중간에 케글이 터져서 코드가 제대로 돌아가지 않았고, 겨우 코랩으로 옮겨 진행할 수 있었습니다. 문제는 케글에 있었습니다.
  • 케글 프로젝트 진행방식에 대해 자세히 듣지는 못했습니다(예술인 고용보험 신고 때문에) 그치만 대략적인 케글 프로젝트의 분위기에 대해서는 파악할 수 있었습니다.

3. 만들다 스터디

  • 회의를 통해 처방전 OCR 프로젝트 앞으로 진행 방향을 정했습니다.
  • 결론은 다음주까지 데이터 전처리 등으로 훈련 데이터셋 만들 준비를 하고, 다음주에는 본격적으로 훈련 데이터로 사용할 이미지를 만들어보기로 했습니다.
  • 용담 강사님도 저희 프로젝트에 관심을 보여주셨습니다.(^^)

4. 머신러닝 베이직 복습

  • 머신러닝 어드밴스 수업 들었던 것이 아무래도 뒤죽박죽 되어서, 다시 머신러닝 베이직으로 돌아가서 어드밴스 내용을 한꺼번에 정리하기로 했습니다.
  • 이는 미니프로젝트 진행과 병렬로 이루어져 이론과 실습을 동시에 만족하는 방식이 될 것입니다.
  • 주로 김건영님(코듀킹) 블로그를 참조할 예정입니다.
  • 팀 프로젝트로 진행되는 ICR 이외에도, 자동차 가격 예측 프로그램을 함께 진행하여 머신러닝에 대해 완전히 이해하고 넘어가는 것이 목표입니다.
  • 오늘은 베이직 첫 시간에 했던 기계학습의 개요와 선형회귀의 개념에 대해 되짚었습니다.
  • 특히 기계학습의 전체 구조 (지도학습과 비지도학습, 회귀와 분류문제, 비지도학습의 여러 방법(클러스터링, 변환, 추정))에 대한 지도를 완전히 이해하기 위해 노력했습니다.

5. 코테 연습

  • 선민님 말씀하신 대로 프로그래머스 데일리 4개씩 푸는 코테 연습 아주 잠깐 했습니다.
    • 분수 더하기 값 출력 문제 어려웠다. 결국 구글링 통해 math 라이브러리 gcd로 두 수의 최대공약수 구하는 법 찾아서 풀었다.
       import math
       a, b = 10, 15
       math.gcd(a,b)
      
    • 두 번째 리스트 원소값 2배로 바꿔 출력하는 것도, range 문법을 잊어버려서 결국 검색을 통해 진행… 반복하자.

앞으로 과제

1. 이어드림 과정

* 미니프로젝트 두번째 IC을 잘 해보자! (EDA, 머신러닝 라이브러리 사용(하이퍼 파라미터 튜닝)을 중심으로)
* 플러스 알파로 자동차 가격 측정 사이드 프로젝트로 진행 (마찬가지로)
* 무분별하게 복습하기 보다는 위 두 프로젝트를 하면서 앞 과정에서 필요한 것을 반복 학습하는 것을 전략으로
* 수학에 발목 잡혀서도 안되지만 수학을 스킵하는 것도 불가능 하므로, 저녁시간 중 1-2시간을 수학에 할애하자. 

2. 만들다

* 매일 프로그래머스 코테 4개씩

3. 기타

* 6시 출근 : 1시간 독서, 2시간 논문 리서치 
* 저녁시간 : 우선 ML 복습하고, ML 한바퀴 돌면, CS, SQL, Statics, ML-DL Mathmatics, Python 스케쥴 잡아서 예-복습
* 2주간 패턴 잡고, 패턴 잡히면 영어공부(단어, 회화 위주), 운동 등 시간을 안배할 예정
* 광주비엔날레 일정 잡기(아마도 이번 주말)

업데이트: