머신러닝 개요
머신 러닝은 사람과 동물에게는 자연스러운 일, 즉 경험을 통해 학습하는 것을 컴퓨터가 수행할 수 있도록 가르치는 데이터 분석 기법입니다. 머신 러닝 알고리즘은 미리 결정된 방정식을 모델로 의존하지 않고 계산 방법을 사용하여 데이터에서 직접 정보를 “학습”합니다. 학습할 수 있는 샘플 수가 증가함에 따라 알고리즘 성능이 향상됩니다.
머신러닝의 중요성
빅데이터가 부상하면서 다음과 같은 영역에서 문제를 해결하는 데 머신 러닝이 특히 중요해졌습니다.
- 계산 금융 - 신용 평가 및 알고리즘 트레이딩
- 영상 처리 및 컴퓨터 비전 - 얼굴 인식, 모션 감지 및 객체 감지
- 계산 생명공학 - 종양 감지, 신약 발견, DNA 염기 서열(DNA Sequence)
- 에너지 생산 - 가격 및 부하 예측
- 자동차, 항공 및 제조 - 예측 유지관리
- 자연어 처리 - 음성 인식 응용 분야
머신러닝 적용해야 할 때
대용량 데이터와 많은 변수가 관련되어 있지만 기존 공식이나 방정식이 없는 복잡한 작업이나 문제에 머신 러닝을 사용해 보십시오. 예를 들어 다음과 같은 상황을 처리해야 할 경우 머신 러닝이 좋은 옵션입니다.
ex) 얼굴인식,음성인식, 거래사기감지, 자동화된트레이딩, 에너지수요예측, 쇼핑추세참고
머신러닝 작동 방식
머신 러닝은 두 가지 유형의 기법을 사용합니다.
지도(supervised) 학습 기법은 미래 출력을 예측할 수 있도록 알려진 입력 및 출력 데이터를 기반으로 모델을 학습하고,
비지도(unsupervised) 학습 기법은 입력 데이터에서 숨겨진 패턴이나 고유 구조체를 찾습니다.
지도(supervised) 학습
지도(supervised) 머신 러닝은 불확실성이 있을 때 증거를 기반으로 예측을 수행하는 모델을 작성합니다. 지도 학습 알고리즘은 알려진 입력 데이터셋 및 해당 데이터에 대한 알려진 응답(출력)을 사용하고 새 데이터에 대한 응답을 위해 합리적인 예측을 생성하도록 모델을 학습합니다. 예측하려고 하는 출력에 대한 알려진 데이터가 있는 경우 지도(supervised) 학습을 사용합니다.
지도 학습은 분류 및 회귀 기법을 사용하여 예측 모델을 개발합니다.
분류 기법은 이메일이 진짜 또는 스팸인지 여부, 종양이 악성 또는 양성인지 여부 등의 개별 응답을 예측합니다. 분류 모델은 입력 데이터를 범주로 분류합니다. 일반적인 응용 분야에는 의료 이미징, 음성 인식, 신용 평가 등이 있습니다.
데이터에 태그 지정하거나 범주화하거나 특정 그룹 또는 클래스로 구분할 수 있는 경우 분류를 사용합니다. 예를 들어 수기 인식을 위한 응용 분야에서는 문자와 숫자를 인식하기 위한 분류를 사용합니다. 이미지 프로세싱 및 컴퓨터 비전에서는 객체 탐지 및 이미지 분할에 비지도(unsupervised) 패턴 인식 기법이 사용됩니다.
분류를 수행하기 위한 일반적인 알고리즘에는 SVM(Support Vector Machine), Boosted 및 Bagged 의사결정 트리, k-nearest neighbor, Naïve Bayes, 판별식 분석, 로지스틱 회귀, 신경망 등이 포함됩니다.
회귀 기법은 온도 변화 또는 전력 수요 변동 등의 연속 응답을 예측합니다. 일반적인 응용 분야에는 전기 부하 예측, 알고리즘 트레이딩 등이 있습니다.
데이터 범위로 작업하는 경우 또는 응답의 특성이 실제 숫자(예: 온도 또는 장비 오류 발생까지의 시간)인 경우 회귀 기법을 사용합니다.
일반적인 회귀 알고리즘에는 선형 모델, 비선형 모델, 정규화, 단계적 회귀, Boosted 및 Bagged의사결정 트리, 신경망, 적응 뉴로 퍼지 학습 등이 포함됩니다.
비지도(unsupervised) 학습
비지도(unsupervised) 학습은 데이터에서 숨겨진 패턴이나 고유 구조체를 찾습니다. 그러한 패턴이나 구조체는 분류된 응답 없이 입력 데이터로 구성된 데이터셋에서 추론됩니다.
클러스터링은 가장 일반적인 비지도(unsupervised) 학습 기법입니다. 이 기법은 탐색적 데이터 분석을 통해 데이터에서 숨겨진 패턴이나 그룹을 찾는 데 사용됩니다. 클러스터 분석의 응용 분야에는 유전자 서열 분석, 시장 조사, 객체 인식 등이 있습니다.
예를 들어 휴대폰 기지국을 세울 위치를 최적화하려는 경우 휴대폰 회사에서는 머신 러닝을 사용하여 기지국에 의존하는 사람들의 클러스터 수를 예측합니다. 전화기는 한 번에 한 곳의 기지국에만 신호를 보낼 수 있으므로, 팀에서는 고객의 그룹 또는 클러스터를 위한 신호 수신을 최적화하기 위해 클러스터링 알고리즘을 사용해 최적의 기지국 배치를 설계합니다.
클러스터링을 수행하기 위한 일반적인 알고리즘에는 k-means 및 k-medoids, 계층적 클러스터링, Gaussian 혼합 모델, Hidden Markov 모델, 자가 조직 맵, 퍼지 C-means 클러스터링, 차감 클러스터링 등이 포함됩니다.
어떤 알고리즘을 사용할지 결정하는 방법
수십 개의 지도 학습 및 비지도 학습 알고리즘이 있고 각 알고리즘에는 다양한 학습 접근법이 사용되기 때문에 적합한 알고리즘을 선택하는 일은 매우 어려운 일처럼 보일 수 있습니다.
최상의 방법이나 모든 상황에 맞는 알고리즘은 없습니다. 적합한 알고리즘을 찾는 것은 어느 정도는 시행착오 과정이라 할 수 있습니다. 경험이 많은 데이터 과학자조차도 시도해보지 않으면 알고리즘이 적합한지 여부를 알 수가 없습니다. 하지만 알고리즘 선택은 작업 중인 데이터의 크기와 유형, 데이터에서 얻으려는 통찰력, 이 통찰력을 사용하는 방식에 따라서도 달라집니다.
지도(supervised) 머신 러닝과 비지도(unsupervised) 머신 러닝 중 무엇을 선택할지에 대한 몇 가지 지침은 다음과 같습니다.
온도나 주가 같은 연속 변수의 미래 가치 등에 대한 예측을 작성하거나 웹캠 비디오 화면에서 자동차 제조업체를 식별하는 등의 분류를 수행하도록 모델을 학습해야 할 경우 지도(supervised) 학습을 선택합니다.
데이터를 탐색해야 하고 데이터를 클러스터로 분할하는 것과 같이 좋은 내부 표현을 찾도록 모델을 훈련하려는 경우 비지도(unsupervised) 학습을 선택합니다.
'MATLAB' 카테고리의 다른 글
매트랩으로 딥러닝 학습용 텍스트 생성하기 (0) | 2022.02.13 |
---|---|
매트랩으로 앱 디자이너 사용하기 (0) | 2022.02.10 |
MATLAB 딥러닝을 사용한 컴퓨터 비전 (0) | 2022.02.04 |
MATLAB 이미지인식 만들기 (0) | 2022.01.30 |
MATLAB 조건문 / if switch, for , while ... (0) | 2022.01.24 |
댓글