Statistics and Machine Learning Toolbox

통계 및 머신러닝으로 데이터를 분석하고 모델링할 수 있습니다.

Statistics and Machine Learning Toolbox™는 데이터를 나타내고, 분석하고, 모델링하는 함수와 앱을 제공합니다. 탐색적 데이터 분석을 위해 기술 통계량, 시각화, 군집화를 사용하고, 데이터에 확률 분포를 피팅하며, 몬테카를로 시뮬레이션을 위해 난수를 생성하고, 가설 검정을 수행할 수 있습니다. 회귀와 분류 알고리즘을 통해 데이터로부터 추론을 도출하고, 분류 학습기 및 회귀 학습기 앱을 이용해 대화형 방식으로, 또는 AutoML을 이용해 프로그래밍 방식으로 예측 모델을 구축할 수 있습니다.

다차원 데이터 분석과 특징 추출을 위해, 이 툴박스는 사용자가 최고의 예측 검정력을 갖는 변수를 식별할 수 있도록 PCA(주성분 분석), 정규화, 차원 축소, 특징 선택 방법을 제공합니다.

툴박스는 SVM(서포트 벡터 머신), 부스팅 결정 트리, k-평균 및 기타 군집화 방법 등을 포함한 지도, 준지도, 비지도 머신러닝 알고리즘을 제공합니다. 부분 종속성 플롯, LIME 등의 해석력 기법을 적용하고, 임베디드 기기로의 배포를 위해 자동으로 C/C++ 코드를 생성할 수도 있습니다. 툴박스의 많은 알고리즘은 메모리에 담기에 너무 큰 데이터 세트에 대해서 사용할 수 있습니다.

시작하기:

탐색적 데이터 분석

대화형 그래픽과 기술 통계량을 이용하여 통계 플로팅을 통해 데이터를 탐색할 수 있습니다. 군집화로 패턴과 특징을 식별할 수 있습니다.

시각화

확률 플롯, 상자 플롯, 히스토그램, 분위수-분위수 플롯 및 덴드로그램, 행렬도, 앤드류스 플롯 등 다변량 분석을 위한 고급 플롯을 이용하여 데이터를 시각적으로 탐색할 수 있습니다.

다차원 산점도 플롯을 이용한 변수 간의 관계 탐색.

기술 통계량

관련성이 높은 몇몇의 수치를 이용하여 잠재적인 대규모 데이터 세트를 빠르게 이해하고 설명할 수 있습니다.

그룹화한 평균과 분산을 이용한 데이터 탐색.

군집 분석

k-평균, k-중앙개체, DBSCAN, 계층적 및 스펙트럼 군집화, 가우스 혼합 모델, 은닉 마르코프 모델을 이용해 데이터를 그룹화하여 패턴을 발견할 수 있습니다.

두 동심 그룹에 DBSCAN 적용.

특징 추출 및 차원 축소

원시 데이터를 머신러닝에 가장 적합한 특징으로 변환할 수 있습니다. 새로운 특징을 반복적으로 탐색하고 만들며 성능을 최적화하는 특징을 선택할 수 있습니다.

특징 추출

희소 필터링 및 복원 ICA 등 비지도 학습 기법을 이용하여 데이터로부터 특징을 추출할 수 있습니다. 특수 기법을 이용하여 이미지, 신호, 텍스트, 숫자형 데이터에서 특징을 추출할 수도 있습니다.

모바일 기기에서 제공한 신호에서 특징 추출. 

특징 선택

데이터를 모델링할 때 최고의 예측 검정력을 제공하는 세부 특징을 자동으로 식별할 수 있습니다. 특징 선택 방법에는 단계적 회귀, 순차적 특징 선택, 정규화, 앙상블 방법 등이 있습니다.

NCA는 모델의 정확도를 가장 잘 보존하는 특징을 선택하게 해줍니다.

특징 변환 및 차원 축소

차원을 축소하여 기존의(비범주형) 특징들을 새로운 예측 변수로 변환하면 덜 기술적인 특징들을 버릴 수 있습니다. 특징 변환 방법에는 PCA, 요인 분석, 비음수 행렬 분해 등이 있습니다.

PCA는 대부분의 정보를 보존한 채로 고차원 벡터를 저차원 직교 좌표계에 투사합니다.

머신러닝

대화형 앱이나 자동 머신러닝(AutoML)을 이용하여 예측적 분류 및 회귀 모델을 구축할 수 있습니다. 자동으로 특징을 선택하고 최적 모델을 식별하며 하이퍼파라미터를 조정할 수 있습니다.

예측 모델의 학습, 검증 및 조정

다양한 머신러닝 알고리즘을 비교하고, 특징을 선택하며, 하이퍼파라미터를 조정하고, 널리 사용되는 다양한 분류 및 회귀 알고리즘의 성능을 평가할 수 있습니다. 대화형 앱으로 예측 모델을 구축하고 자동으로 최적화하며, 스트리밍 데이터를 이용하여 모델을 점진적으로 개선할 수 있습니다.

모델 해석력

부분 종속성 플롯, ICE(Individual Condition Expectations), LIME(Local Interpretable Model-agnostic Explanations) 등 기성 해석 가능성 모델을 적용하여 블랙박스 머신러닝 모델의 해석력을 개선할 수 있습니다.

LIME은 복잡한 모델의 간단한 근사 모델을 국지적으로 구축합니다.

자동 머신러닝 (AutoML)

자동으로 하이퍼파라미터를 조정하고 특징과 모델을 선택하며 비용 행렬로 데이터 세트 불균형을 해결함으로써 모델의 성능을 개선할 수 있습니다.

베이즈 최적화를 이용한 효율적인 하이퍼파라미터 최적화.

회귀 및 분산분석(ANOVA)

선형 및 비선형 회귀, 혼합효과 모델, 일반화 선형 모델, 비모수적 회귀를 이용하여 연속 응답 변수를 하나 또는 여러 예측 변수의 함수로 모델링할 수 있습니다. ANOVA를 이용하여 분산을 다양한 요인에 할당할 수 있습니다.

선형 및 비선형 회귀

많은 선형 및 비선형 회귀 알고리즘에서 선택한 복수의 예측 변수 또는 응답 변수를 사용하여 복잡한 시스템의 동작을 모델링할 수 있습니다. 다중 수준 또는 계층적, 선형, 비선형, 일반화 선형 혼합효과 모델과 중첩 및/또는 교차 임의효과를 피팅시켜, 종단 분석 또는 패널 분석, 반복 측정, 성장 모델링을 수행할 수 있습니다.

회귀 학습기 앱을 사용한 대화형 방식의 회귀 모델 피팅.

비모수적 회귀

SVM, 랜덤 포레스트, 가우스 과정, 가우스 커널을 이용하여, 예측 변수와 응답 변수의 관계를 기술하는 모델을 지정하지 않고 정확한 피팅을 생성할 수 있습니다.

 분위수 회귀를 이용한 이상값 식별.

ANOVA (분산분석)

표본 분산을 다양한 요인에 할당해 보고 변이가 다양한 인구 집단 내부에서 발생하는지 아니면 집단 간에 발생하는지 파악할 수 있습니다. 일원, 이원, 다원, 다변량, 비모수적 ANOVA와 공분산 분석(ANOCOVA), 반복 측정 분산분석(RANOVA)을 사용할 수 있습니다.

다원 ANOVA를 사용한 그룹 검정.

확률 분포 및 가설 검정

분포를 데이터에 피팅할 수 있습니다. 표본간 차이가 유의미한지 또는 임의 데이터 편차와 일치하는지 분석할 수 있습니다. 다양한 분포로부터 난수를 생성할 수 있습니다.

확률 분포

연속 분포와 이산 분포를 피팅하고 통계 플롯을 사용하여 적합도를 평가하며 40가지 이상의 분포에 대해 확률 밀도 함수와 누적 분포 함수를 계산할 수 있습니다.

분포 피팅기 앱을 사용한 대화형 방식의 분포 피팅하기.

난수 생성

피팅된 확률 분포 또는 구성된 확률 분포로부터 의사난수 및 준난수 스트림을 생성할 수 있습니다.

대화형 방식의 난수 생성.

가설 검정

하나의 표본, 표본 쌍 또는 독립 표본에 대해 t-검정, 분포 검정(카이제곱, Jarque-Bera, Lilliefors, 콜모고로프-스미르노프) 및 비모수적 검정을 수행할 수 있습니다. 자동교정 및 임의성을 검정하고 분포(2-표본 콜모고로프-스미르노프)를 비교할 수 있습니다.

단측 t-검정의 기각 영역.

산업 통계

효과와 데이터의 추세를 통계적으로 분석할 수 있습니다. 사용자 지정 실험계획법 및 통계적 공정 관리 등 산업 통계 기법을 적용할 수 있습니다.

DOE (실험계획법)

사용자 지정 DOE를 정의, 분석, 시각화할 수 있습니다. 데이터 입력값을 조작하고 동시에 데이터 출력값에 미치는 영향에 대한 정보를 생성할지에 관한 실제 계획을 만들고 테스트할 수 있습니다.

Box-Behnken 설계를 적용한 고차원 반응 표면 생성.

SPC (통계적 공정 관리)

공정 변동을 평가하여 제품이나 공정을 모니터링하고 개선할 수 있습니다. 관리도를 만들고 공정 능력을 추정하며, Gage 반복성 및 재현성 연구를 수행할 수 있습니다.

관리도를 이용한 제조 공정 모니터링.

신뢰도 및 생존 분석

콕스(Cox) 비례 위험 회귀를 수행하여 중도절단이 있는 경우와 없는 경우의 평균 고장 시간을 시각화하고 분석한 후 분포를 피팅할 수 있습니다. 경험적 위험 함수, 생존 함수, 누적 분포 함수, 커널 밀도 추정값을 계산할 수 있습니다.

'중도절단' 값의 예로서의 고장 데이터.

빅데이터, 병렬화, 클라우드 컴퓨팅

메모리에 담을 수 없는 데이터에 통계 및 머신러닝 기법을 적용할 수 있습니다. 클러스터 및 클라우드 인스턴스에서의 병렬화를 통해 통계적 연산과 머신러닝 모델의 훈련 속도를 향상시킬 수 있습니다.

Tall형 배열을 사용한 빅데이터 분석

다양한 분류, 회귀, 군집화 알고리즘에 tall형 배열과 테이블을 사용하여, 코드를 변경하지 않고 메모리에 담을 수 없는 데이터 세트에 대해 모델을 훈련시킬 수 있습니다.

Parallel Computing Toolbox 또는 MATLAB Parallel Server를 이용한 연산 속도 향상.

클라우드 및 분산 연산

클라우드 인스턴스를 사용하여 통계 및 머신러닝 연산 속도를 향상시킬 수 있습니다. MATLAB Online™에서 전체 머신러닝 워크플로를 수행할 수 있습니다.

Amazon 또는 Azure 클라우드 인스턴스에서의 연산 수행.

배포, 코드 생성, Simulink 통합

통계 및 머신러닝을 임베디드 시스템에 배포하고 C 코드를 이용하여 연산 집약적인 계산의 속도를 가속화하며, 엔터프라이즈 시스템 및 Simulink 모델과 통합할 수 있습니다.

코드 생성

분류 및 회귀 알고리즘, 기술 통계량, 확률 분포를 추론할 수 있는 이식성과 가독성이 좋은 C 또는 C++ 코드를 MATLAB Coder™를 사용하여 생성할 수 있습니다. Fixed Point Designer™를 이용하여 감소된 정밀도의 C/C++ 예측 코드를 생성하고, 예측 코드를 재생성하지 않고도 배포된 모델의 파라미터를 업데이트할 수 있습니다.

두 가지 배포 경로: C 코드 생성 또는 MATLAB 코드 컴파일.

Simulink와의 통합

머신러닝 모델을 Simulink 모델에 통합하여 임베디드 하드웨어에 배포하거나 시스템 시뮬레이션, 검증, 확인에 활용할 수 있습니다.

응용 프로그램 및 엔터프라이즈 시스템과 통합

MATLAB Compiler™를 사용하여 통계 및 머신러닝 모델을 단독 모델을 MapReduce 또는 Spark™ 응용 프로그램, 웹 앱 또는 Microsoft® Excel® 추가 기능으로 배포할 수 있습니다. MATLAB Compiler SDK™를 사용하여 C/C++ 공유 라이브러리, Microsoft .NET 어셈블리, Java® 클래스, Python® 패키지를 구축할 수 있습니다.

MATLAB Compiler를 사용한 대기 품질 분류 모델 통합.

Statistics and Machine Learning Toolbox 추가 리소스