본문 바로가기
프로그래머스/데이터분석 데브코스

데이터분석 데브코스 3 일차

by 포잉띠 2024. 2. 23.

데싸

ML 형태로 사용자들의 경험을 개선

 

요구스킬

- ML지식, 경험

- Python, SQL

- 통계, 수학 지식

- 끈기와 열정(박사학위가 중요한 이유 중 하나)

 

최우선 요구사항

열정+끈기

다양한 경험

코딩 능력

현실적인 접근방법

- 최대한 간결한 솔루션

- 사용 가능한 머신러닝 기술이 다양해야 어떤 케이스에 어떤 모델을 사용해야 최고 효율을 내고 간결한지 빠르게 파악가능

 

 

의료 이미지 분석 섹터

이 섹터 만큼은 딥러닝 장려

MRI, Xray, CT 이미지 분석에서 이미 사람을 앞섰다.

= 안전성, 비용에 있어 엄청난 이점을 보임

 

 머신러닝의 정의

학습이 가능한 기계의 개발.

- 이는 결국 데이터의 패턴을 보고 흉내내는 방식이다.

- 컴퓨터가 학습할 수 있는 알고리즘과 기술을 개발하는 분야.

 

머신러닝 모델

특정 방식을 예측 해주는 블랙박스

- 선택한 알고리즘에 따라 내부가 달라짐.

- 디버깅이 쉽지 않음

- 입력 데이터를 주면 그를 기반으로 예측

 

머신러닝의 종류

- 지도 기계 학습

  - 명시적 예제 (Train set)을 통해 학습(Train set에 정답이 존재)

예를들어 이 Train set 에서는 smoking 이 정답 Column이다.

  - 크게 두 종류로 분류

   - Classfication(분류) model / 위의 데이터셋처럼 0/1로 이진분류, 혹은 다양한 갯수의 분류를 하는 모델

   - Regression(회귀) model / 증시 데이터셋과 같은 시계열 데이터, 연속적인 데이터로 미래를 예측하거나 할떄 사용하는 모델

   - 모델이 예측해야 하는 필드를 레이블(타겟)으로 부름 / 예시로 위의 데이터셋에서 smoking column을 타겟으로 부름

 

 - 비지도 학습

  - 클러스터링 혹은 뉴스 그룹핑처럼 주어진 데이터를 몇 개의 그룹으로 분리

  - 문장의 일부를 보고 비어있는 단어를 확률적으로 맞추는 모델

  - 언어모델 같은 경우 훈련을 위키피디아에 있는 자연스러운 문장들을 대상으로 진행

 

머신러닝 모델 개발 시 고려할 점

 - 배포와 운영도 고려해야함.

 - 모델 개발 시 모델 성능을 어떻게 검증할 것인지

 - 모델을 어떤 형태로 엔지니어들에게 전달할지 

 - 피쳐 계산을 어떻게 하는지, 모델 자체는 어떤 포맷인지

 - 모델을 프로덕션에서 A/B 테스트 진행할 것인지, 한다면 최종 성공 기준은 무엇인지

 

다시한번 느낀건 머신러닝 모델을 만든다는건 도자기를 만드는것과 비슷하다는 생각이 들었다.

도자기처럼 마음에 들지 않을 때, 모양이 이상할 때 깨버리는건 아니지만

계속해서 데이터를 깎고 모델을 깎고 파라미터도 깎아나가고 하면서

모델을 계속해서 만들어 나가는 것이 아닌가 싶다.

만약 당장 만족스러운 결과에 배포를 했어도 시간이 지남에 따라 Data Drift로 데이터 품질이 떨어지면

또 다시 깎아주어야 한다.

이런 부분은 또 도자기보다는 난을 키우는 느낌이 들기도 한다.

항상 먼지 닦아주고 따뜻하게 해주고 물도 적정량만 줘야하고 매일 매 순간 관심을 줘야하니까.

chat GPT 만든 사람들은 정말 아이 키우는 느낌이었겠다 싶다.