Statistics and Machine Learning Toolbox

 

Statistics and Machine Learning Toolbox

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

시작하기:

탐색적 데이터 분석

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

시각화

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

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

기술 통계량

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

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

군집 분석

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

두 동심 그룹에 DBSCAN 적용.

특징 추출 및 차원 축소

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

특징 추출

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

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

특징 선택

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

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

특징 변환 및 차원 축소

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

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

머신러닝

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

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

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

모델 해석력

GAM(Generalized Additive Model)과 같이 태생적으로 해석 가능한 모델을 이용하거나 부분 의존성 플롯, ICE(개별 조건부 기대값), LIME(Local Interpretable Model-agnostic Explanations), 섀플리 값 등 기존의 해석력 방법들을 적용함으로써 블랙박스 머신러닝의 해석력을 향상시킬 수 있습니다.

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

자동 머신러닝 (AutoML)

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

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

회귀 및 분산분석(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를 사용한 대기 품질 분류 모델 통합.