반응형
두 번째 만나볼 내용?
- 스포츠 경기에서 이기려면?
- 선수 능력 파악 및 적재적소 배치와 경기 흐름을 파악
- 우리 팀 선수 뿐만 아니라 적 팀의 선수 능력을 정확하게 파악해야함
- 동일하게, 신경망 개념도 중요하지만 그 외의 다양한 요소를 고민할 수 있어야 함
- 이번 장에서 다룰 내용?
- 머신러닝 프로세스
- 다양한 용어 살펴보기
- 데이터 준비하기
- 학습하기
- 평가하기
- 데이터셋 및 커뮤니티 살펴보기
- 용어를 자세히 아는 것도 중요하지만, 많은 용어를 아는 것도 굉장히 중요하다.
머신러닝 프로세스 간략히 살펴보기
- ML Process
- 문제 정의 및 데이터 준비하기 → 학습하기 → 추론 및 평가 → 데이터 준비하기..
- 잘 구축된 프로세스가 결과적으로 성능이 우수한 모델을 만듬
- 어떻게? "잘" 해야함
- 직접 문제를 정의해보고, 해결해보는 과정을 경험하자
- 이 책에서 다루는 대부분의 프로세스는 위의 과정을 따름
문제 정의 및 데이터 준비하기
- 문제를 어떻게 정의하느냐에 따라 우리가 가야할 길이 달라짐
- 올바른 방향으로 나아가기 위해 탐색적 데이터 분석(EDA)를 시작
- 가장 중요한 것은 명확한 문제 정의
- 무엇이 문제인가?
- 난 문제를 어떻게 풀고 싶은가?
- 사용자는 누구인가?
- 숫자? 문자? 이미지?
- 이진 분류? 다중 분류? 회귀? 생성?
- 모델을 선택하기 전에, 데이터를 아주 자세히 들여다보자!
- 변형을 해야 할까? 어떤 전처리 방법을 선택할까?
- 데이터가 속한 도메인에는 어떤 처리 방법을 존재할까?
- ⇒ 캐글을 이용하자
- 데이터에 관한 고민은 끊임없이 반복될 것
학습하기
- 모델 선택에는 어떤 질문이 필요할까요
- 선택한 모델이 주로 어떤 데이터에 적용되었나요? 사례가 있을까요?
- 모델이 얼마나 깊어야 하나요? 어떤 환경에서 사용될까요?
- 옵티마이저는요? 손실 함수는요?
- 실험 환경에 적합한 모델인가요?
- 깊은 고민도 좋지만 SOTA(state-of-the-art; 최고의 성능) 모델을 활용해보자
- 이미지? VGG, ResNet, Inception etc.
- 자연어 처리? ELMO, BERT GPT etc.
- 모델을 선택했다면 하이퍼파라미터를 조정하는 단계는 필수!
- 배치 크기, 학습률, 층 파라미터 등
- 모델 선택은 내부 요소와 외부 요소를 복합적으로 고려해야 함
- 하이퍼 파라미터와 모델 크기 (실험 환경에 적합한지)
추론 및 평가
- 추론(Inference)
- 학습된 모델로부터 정답이 없는 데이터에 대해 정답을 만드는 행위
- 추론을 통해 얻은 정답은 어떻게 평가할까? 햄버거 가게를 생각해보자
- 역할 : 매니저(나), 직원 a, b
- 오늘 햄버거를 만드는 실력을 보고 a, b 중 한 명을 승진
- a : 10개를 다 만들었지만, 5개만 완벽
- b : 다 만들지는 못했지만, 6개가 완벽
- 누굴 선택?
용어 살펴보기 (데이터 준비하기)
- 클래스 불균형 (Class Imbalance)
- 클래스가 불균형하게 분포되어 있음
- 은행 거래 사기, 희귀 질병, 기계 불량음 등의 사례
- 이상 탐지 (Anomaly Detection)
- 과소 포집(UnderSampling)과 과대 포집(OverSampling) → 클래스를 균형있게 맞춰줌
- 과소 포집은 다른 클래스에 비해 상대적으로 많이 나타나 있는 클래스의 개수를 줄이는 것
- 이건 현실에서 만나기는 쉽지 않다(개수가 적은 데이터를 더 적게 줄인다는 것이 좀..)
- 과대 포집은 개수가 적은 클래스를 복제하는 것 (SMOTE 등 기법들을 활용)
- 과소 포집은 다른 클래스에 비해 상대적으로 많이 나타나 있는 클래스의 개수를 줄이는 것
- 회귀(Regression)
- 여러 개의 특징을 통해 연속적인 숫자로 이루어진 정답을 예측
- 햄버거 가격, 영화 관객 수, 축구 선수 연봉, 주식 가격 등
- 0과 1을 예측하는 로지스틱 회귀(Logistic Regression)
- 분류(Classification)
- 미리 정의된 여러 클래스 중 하나를 예측
- 햄버거 종류, 숫자 판별, 얼굴 인식 또는 종류 구분 등
- 이진 분류(Binary Classification) : 2개 중에 한개
- 다중 분류(Multi-class Classification) : 여러개 중 한개
- 다중 레이블 분류(Multi-label Classification) : 여러개 중 여러개
- 원핫 인코딩(One Hot Encoding)
- 하나의 클래스만 1이고 나머지 클래스는 전부 0인 인코딩(자연어;NLP 처리 분야에서 많이 언급)
- 교차 검증(Cross-Validation)
- 모델의 타당성을 검증(과대 적합 방지를 위해 사용
- 학습 데이터 : 모델 학습에 사용
- 검증 데이터 : 모델의 검증을 위해 사용, 주로 학습 도중에 사용
- 테스트 데이터 : 모델의 최종 성능 평가에 사용
- 테스트 데이터는 최종 평가 이전에는 절대로 사용하면 안됨
- 모델의 타당성을 검증(과대 적합 방지를 위해 사용
용어 살펴보기 (학습하기)
- 하이퍼파라미터(Hyperparameter)
- 경험에 의해 결정되는 요소
- 학습률, 배치 크기, 에폭 등
- 적합한 값을 찾기 위해 반복적인 실험과 많은 시간 투자가 필수 → 하이퍼파라미터 튜닝
- 배치와 배치크기(Batch & Batch Size)
- 데이터를 한 개만 사용하기엔 정확한 정답을 찾는 데 방해가 될 수 있고, 전부 사용하기엔 시간이 너무 오래 걸리기 때문에 배치를 사용
- 지도 학습(Supervise Learning)
- 학습 데이터에 정답이 포함된 것
- 모델에게 햄버거 사진을 보여주면서 햄버거라고 알려줌
- 대표적으로 회귀와 분류가 해당됨
- 성능 평가 정도가 정확하게 정답인지 알 수 있음
- 비지도 학습(UnSupervised Learning)
- 학습 데이터에 정답이 포함되어 있지 않은 것
- 모델에게 햄버거를 종류 별로 여러개 주고 같은 종류끼리 묶어보라고 하는 것 → 클러스터링(Clustering)
- 정확하게 했는지 안했는지에 대한 정답이 없음. 그게 가장 큰 문제!
- 햄버거 사진을 주고, 모델에게 다시 햄버거 사진을 그려보라고 하는 것
- 생성모델(Generative Model) → 그림 그려주는 것
- 에이전트가 주어진 환경에 대해 어떠한 행동을 결정하고, 이를 통해 얻는 보상으로 학습하는 것
- 강화 학습(Reinforcement Learning) → 알파고가 강화 학습으로 구현됨
- 당근과 채찍 기법
- 과대적합(Overfitting)
- 모델이 학습 데이터에서는 좋은 성능을 보이지만, 새로운 데이터에 대해서는 좋은 성능을 보이지 못하는 결과
- 모델은 학습 데이터를 단순히 외웠다고 표현할 수 있으며, 모델이 문제를 일반화하지 못했음
- 학습 데이터를 다양하게, 많이 수집합니다
- 정규화(Regularization)를 사용합니다 → 규칙을 단순하게
- 트리플 치즈버거와 같은 이상치는 제거합니다(데이터가 많다면 제거하는 방법은 좋지 않습니다)
- 과소적합(Underfitting)
- 모델이 학습 데이터를 충분히 학습하지 않아 모든 측면에서 좋지 않은 성능을 보여주는 결과
- 모델은 아직 성능이 개선될 여지가 남아있는 상태
- 학습 데이터를 다양하게, 많이 수집합니다
- 더 복잡한 모델을 사용합니다
- 모델을 충분히 학습시킨다.
- 두 가지 문제를 동시에 해결할 수 있는 가장 최고의 방법 → 양질의 데이터를 수집
- 혼동행렬(Confusion Matrix)
- 모델의 성능 평가에 이용
- 정답(True) 유통기한이 지난 햄버거, 오답(False) 정상 햄버거
- 유통기한이 지난 햄버거를 유통기한이 지난 햄버거로 분류 : TP(True Positive)
- 정상 햄버거를 정상 햄버거로 분류한 경우 : TN(Truen Negative)
- 유통기한이 지난 햄버거를 정상 햄버거로 잘못 분류한 경우 : FN(False Negative)
- 정상 햄버거를 유통기한이 지난 햄버거로 잘못 분류한 경우 : FP(False Positive)
- 정확도(Accuracy)
- 전체 데이터 중에서 실제 데이터의 정답과 모델이 예측한 정답이 같은 비율
- 데이터가 불균형할 때 사용하는 경우, 잘못된 지표로써 사용할 수 있음
- 정밀도와 재현율(Precision & Recall)
- 정밀도 : True 라고 예측한 정답 중에서 실제로 True인 비율
- 실제 False 음성인 데이터 예측을 True 양성으로 잘못 판단하게 되면 업무상 큰 영향이 발생하는 경우
- → FP 이 Critical한 경우 ex) 스팸메일 여부 판단 모형
- 실제 False 음성인 데이터 예측을 True 양성으로 잘못 판단하게 되면 업무상 큰 영향이 발생하는 경우
- 재현율 : 실제 데이터가 True인 것 중에서 모델이 True라고 예측한 비율
- 실제 True 양성 데이터를 False로 잘못 판단하게 되면 업무상 큰 영향이 발생하는 경우
- → FN 이 Critical한 경우 ex) 암 판단 모형
- 실제 True 양성 데이터를 False로 잘못 판단하게 되면 업무상 큰 영향이 발생하는 경우
- 정밀도 : True 라고 예측한 정답 중에서 실제로 True인 비율
- F1-Score
- 정밀도와 재현율의 중요성이 같다고 가정하고, 두 지표의 조화평균으로 새로운 지표를 제공
- ROC 곡선
- Binary Classifier System (이진 분류 시스템)에 대한 성능 평가 기법
데이터셋 살펴보기
- 프로젝트를 수행하기 위해 데이터를 수집하는 것은 정말 어려운 일
- 기존 사례에서 사용된 데이터셋을 먼저 적용해보는 것도 프로젝트를 성공으로 이끄는 지름길
- 구글 데이터셋 검색
- 캐글, AI hub, 공공 데이터 포털 등
커뮤니티 살펴보기
- 공유와 소통을 할 수 없다면, 이제 살아남기 힘들 것
- 커뮤니티를 활용하여 공유와 소통을 실천하고 적극적으로 질문하자
- 커뮤니티 뿐만 아니라 주변 사람과도 공유와 소통을!
LIST
'대외활동 > ABC 지역주도형 청년 취업역량강화 ESG 지원산업' 카테고리의 다른 글
[ABC 2200920] 지도 학습 알고리즘 - 일반화, 과대적합, 과소적합 (0) | 2022.10.01 |
---|---|
[ABC 220920] 지도 학습 알고리즘 - 분류와 회귀 (1) | 2022.09.30 |
[ABC 220919] 인공지능(AI), 머신러닝, 딥러닝 소개 (1) | 2022.09.23 |
[ABC 220913 ~ 220919] First Project (0) | 2022.09.23 |
[ABC 220911 - 17일차] 실습 (혼자 해봄) (0) | 2022.09.11 |