머신러닝이란?
머신러닝이란 명시적 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구분야입니다.
머신러닝을 사용하는 이유는 크게 4가지 정도가 있습니다.
1. 새로운 규칙을 일일이 추가하는 방식에서 벗어나게 해 줍니다.
2. 전통적인 방식으로는 해결방법이 없는 복잡한 문제를 풀게 해 줍니다.
3. 머신러닝 시스템은 새로운 데이터에 적응할 수 있으므로 유동적이다.
4. 복잡한 문제와 대량의 데이터에서 통찰을 얻게 해 줍니다.
기존의 전통적인 방법은 아래 두 개의 단계를 반복하는 과정을 가지고
1단계: 패턴 파악(주로 어떤 패턴이 나타나는가)
2단계: 각 패턴 감지 알고리즘 작성(규칙을 직접 작성 및 성능 향상)
머신러닝 기반으로 진행하게 된다면
- 패턴을 감지하고 그 특징이 좋은 기준인지 자동으로 학습합니다. (전통적인 방법 2단계가 자동)
- 새로운 특징이 나타났을 때 개발자가 추가하는 방식이 아니라 자동으로 인식하고 알아서 새로운 규칙을 추가합니다.
실제 적용 사례
1. CNN
- 생산라인에서 제품 이미지를 분석해 자동으로 분류
- 뇌를 스캔하여 종양을 진단 (이때 시멘틱 분할을 사용하는데 이 기술은 서로 다른 카테고리를 구성하는 집합의 픽셀을 인식합니다.)
2. NLP
- 자동으로 뉴스 기사를 분류: NLP, RNN, CNN, Transformers
- 토론 포럼에서 부정적인 코멘트를 자동으로 구분하기
3. Regression SVM, Random Forest Regression
- 다양한 성능 지표를 기반으로 회사의 내년도 수익을 예측
4. RNN, CNN, Transformers
- 음성 명령에 반응하는 앱 만들기
5. Clustering
- 데이터들의 숨겨진 특징을 찾아냄 (구매 이력을 기반으로 고객을 나누고 각 집합마다 다른 마케팅 전략을 구성)
6. Dimension Reduction
- 고차원의 복잡한 데이터 셋을 명확하고 의미 있는 그래프로 시각화
7. 추천 시스템
- 과거 구매 이력을 기반으로 고객이 관심을 가질 수 있는 상품 추천하기
8. Reinforcement Learning
- 지능형 게임 봇 만들기
머신러닝 시스템의 종류
머신러닝은 3가지 학습 방법을 가지고 있습니다.
1. 지도학습(Supervised Learning)
2. 비지도 학습(Unsupervised Learning)
3. 강화학습(Reinforcement Learning)
지도학습은 레이블된 데이터로 학습을 합니다. 주로 분류 문제나 회귀 문제에서 활용합니다.
비지도학습은 레이블 없이 학습합니다. 데이터의 숨겨진 구조/특징을 찾아냅니다. 클러스터링 문제에서 활용합니다.
마지막으로 강화학습은 보상 시스템으로 학습을 하여 최적의 방법을 선택하게 됩니다.
우리가 모델을 학습할 때 overfitting이나 underfitting 문제를 겪을 수 있습니다.
이때 overfitting의 경우 모델이 너무 복잡하여 너무 과도하게 훈련 데이터에 내재된 noise까지 학습한 경우입니다.
해결방법으로는
1. 파라미터 수가 적은 모델을 선택하거나(다항보단 선형 모델)
2. 훈련 데이터의 특성을 줄이거나 모델에 제약을 가하여 단순화시킵니다.(규제라고도 합니다.)
3. 훈련 데이터를 더 많이 모읍니다.
4. 훈련 데이터의 noise를 줄입니다.(오류 데이터 수정, 이상치 제거)
5. 학습하는 동안 규제의 양은 하이퍼 파라미터로 결정합니다.
underfitting의 경우 모델이 너무 단순하여 데이터의 내재된 구조를 학습하지 못할 때 일어나는 문제입니다.
해결방법으로는
1. 모델 파라미터가 더 많은 모델을 선택합니다.
2. 학습 알고리즘에 더 좋은 특성을 제공합니다.
3. 모델의 제약을 줄입니다.
'BOAZ > 데이터 분석' 카테고리의 다른 글
3. Ensemble and Random Forest (0) | 2022.08.09 |
---|---|
2. Decision Tree and SVM (0) | 2022.08.03 |
[핸즈온 머신러닝] 3장 (0) | 2022.07.31 |
1. Classification and Regression (0) | 2022.07.28 |
[핸즈온 머신러닝] 2장 머신러닝 프로젝트 처음부터 끝까지 (0) | 2022.07.27 |