主要内容

이번역페이지는최신내용을담고있지않습니다。최신내용을문으로보려면여기를클릭하십시오。

지도학습워크플로와알고리즘

지도학습이란?

머신러닝지도학습의목적은불확실성이존재하는상태에서증거를기반으로예측하는모델을만드는것입니다。적응형알고리즘으로데이터의패턴을식별하기때문에,컴퓨터는관측값을통해”학습”하게됩니다。컴퓨터에더많은관측값을제공하면예측성능이향상됩니다。

특히,지도학습알고리즘은알려진입력데이터세트와이데이터에대해알려진응답변수(출력값)를받아들인후,새데이터에대한응답변수에대해타당한예측값을생성하도록모델을훈련시킵니다。

예를들어1년이내에누군가에게심장마비가일어날지여부를예측한다고가정하겠습니다。연령,체중,키,혈압등을포함한이전환자들의데이터세트가준비되어있습니다。또한1년의측정기간동안이전환자들에게심장마비가일어났는지여부도알고있습니다。따라서,기존의모든데이터를새환자가1년이내에심장마비를일으킬지여부를예측할수있는모델로결합하는것이문제입니다。

입력데이터의전체세트를이종행렬로간주할수있습니다。행렬의행을관측값사례또는스턴스라고하며,각행은개체(이예제의경우환자)에대한측정값세트를포함합니다。행렬의열을예측 변수특성(属性)또는특징이라고하며,각열은각개체에대해얻은측정값(이예제의경우연령,체중,키등)을나타내는변수입니다。응답변수데이터를하나의열벡터로간주할수있는데,이열벡터의각행은대응하는입력데이터의관측값에대한출력값(환자에게심장마비가일어났는지여부)을포함합니다。지도학습모델을피팅하거나훈련시키려면적합한알고리즘을선택한후입력데이터와응답변수데이터를이알고리즘에전달하십시오。

지도학습은크게두가지범주,즉분류와회귀로나뉩니다。

  • 분류의목는유한한클래스세트에서하나의특정클래스(또는레이블를하나의관측값에할당하는것입니다。즉,응답변수가범주형변수입니다。응용사례로는스팸필터,광고추천시스템,이미지/음성식등이있습니다。환자에게1년이내에심장마비가일어날지여부를예측하는것은분류문제이며,가능한클래스는真正的입니다。분류알고리즘은대개명목형응답변수값에적용됩니다。그러나,일부알고리즘은순서형클래스를수용할수있습니다(fitcecoc참조)。

  • 회귀의목표는관측값에대한연속적인(连续)측정값을예측하는것입니다。즉,응답변수가실수입니다。응용사례로는주가,에너지소비량또는발병률전망등이있습니다。

统计和机器学习工具箱™지도학습기능은간소화된객체프레임워크로구성됩니다。다양한알고리즘을효율적으로훈련시키고,여러모델을하나의앙상블로결합하고,모델성능을평가하고,교차검증을수행하며,새데이터에대한응답변수를예측할수있습니다。

지도학습의단계

지도학습을위한많은统计和机器学习工具箱알고리즘이있지만대부분예측변수모델을얻는데동일한기본워크플로를사용합니다。앙상블학습단계에대한자세한지침은集成学习框架에나와있습니다。지도학습의단계는다음과같습니다。

데이터준비하기

모든지도학습방법은입력데이터행렬(여기서는일반적으로.X라고함)로시작합니다。X의각행은하나의관측값을나타냅니다。X의각열은하나의변수,즉예측변수를나타냅니다。누락누락X에서값으로나타냅니다。统计和机器学习工具箱지도학습알고리즘은값을무시하거나값을갖는모든행을무시하는방법으로이값을처리할수있습니다。

응답변수데이터Y에다양한데이터형을사용할수있습니다。Y의각의각X의행에대한응답변수를나타냅니다。누락된Y데이터를갖는관측값은무시됩니다。

  • 회귀를수행하는경우,YX의행개수와같은개수의의행개수와같은개수의。

  • 분류를수행하는경우,Y는다음데이터형중하나일수있습니다。다음明文에는또한누락明文소를포함하는방법이나와있습니다。

    데이터형 누락소
    숫자형벡터
    分类형벡터 <定义>
    문자형배열 공백 행
    字符串형배열 < >失踪또는""
    문자형벡터로구성된셀형배열
    논리형벡터 (나타낼수없음)

알고리즘선택하기

다음과같이여러알고리즘특성간에는상충하는장단점이있습니다。

  • 훈련 속도

  • 메모리사용량

  • 새데이터에대한예측정확도

  • 투명도또는해석가능성(알고리즘이그렇게예측하는이유를인간이얼마나쉽게파악할수있는지를의미함)

알고리즘에대한세부정보는분류알고리즘의특성에나와있습니다。앙상블알고리즘에대한자세한내용은选择一种适用的集成聚合方法항목을참조하십시오。

모델피팅하기

사용하는피팅함수는선택하는알고리즘에따라결정됩니다。

알고리즘 피팅 함수
분류 트리 fitctree
회귀 트리 fitrtree
판별분석(분류) fitcdiscr
k-최근접이웃(분류) fitcknn
나이브베이즈(분류) fitcnb
분류용서포트벡터머신(svm) fitcsvm
회귀용SVM fitrsvm
SVM또는기타분류기용다중클래스모델 fitcecoc
분류앙상블 fitcensemble
회귀앙상블 fitrensemble
분류또는회귀트리앙상블(예:랜덤포레스트[1] TreeBagger

이러한알고리즘에대한비교는분류알고리즘의특성항목을참조하십시오。

검방법선택하기

결과로생성되는피팅된모델의정확도를검토하는세가지기본방법은다음과같습니다。

만족할때까지피팅을검토하고업데이트하기

모델을검증한후에도정확도또는속도를높이거나메모리를덜사용하기위해모델을변경해야할수있습니다。

특정유형의모델에만족한경우적합한紧凑的함수(분류트리용.紧凑的,회귀트리용紧凑的,판별분석용紧凑的,나이브베이즈용紧凑的, svm용紧凑的, ecoc모델용紧凑的,분류앙상블용紧凑的,회귀앙상블용紧凑的를사용하여이모델을자를수있습니다。紧凑的는예측에필는예측에필。예를들면,모델에서결정트리에대한정보를가지치기하여메모리사용량을줄입니다。kNN분류모델은레이블을예측하기위해모든훈련데이터를필로하므로ClassificationKNN모델의크기는줄일수없습니다。

예측을위해피팅된모델사용하기

预测메서드를사용하여대부분의피팅된모델에대한분류응답변수또는회귀응답변수를예측할수있습니다。

ypredict = predict(obj,Xnew)
  • obj는피팅된모델또는피팅된간소모델입니다。

  • Xnew는새입력데이터입니다。

  • Ypredicted는예측된응답변수로,분류응답변수또는회귀응답변수입니다。

분류알고리즘의특성

다음明文에는다양한지도학습알고리즘의일반적明文특성이나와있습니다。특정사례의경우,실제특성이여기나열된특성과다를수있습니다。알고리즘을처음선택할때의지침으로이를사용하십시오。속도,메모리사용량,유연성,해석가능성사이에서원하는절충을결정하십시오。

먼저,빠르고해석하기쉬운분류기,결정트리또는판별분석을사용해보십시오。모델이응답변수를예측하기에충분히정확하지않을경우유연성이더높은다른분류기를사용해보십시오。

유연성을제어하려면각분류기유형에대한세부정보를참조하십시오。과적합을방지하려면충분한수준의정확도를제공하는유연성이더낮은모델을고려하십시오。

분류기 다중클래스지원 分类형예측변수지원 예측 속도 메모리사용량 해석가능성
결정 트리- - - - - -fitctree 빠름 적음 쉬움
판별분석- - - - - -fitcdiscr 아니 빠름 선형의경우적음,2차의경우큼 쉬움
支持向量机- - - - - -fitcsvm 아니。
fitcecoc를사용하여여러이진支持向量机분류기를결합할수있습니다。
선형의경우중간。
다른유형의경우느림。
선형의경우중간。
다른모든유형:다중클래스의경우중간,이진의경우큼。
선형svm의경우쉬움。
다른모든커널유형의경우어려움。
나이브베이즈- - - - - -fitcnb 단순분포의경우중간。
커널분포또는고차원데이터의경우느림
단순분포의경우적음。
커널분포또는고차원데이터의경우중간
쉬움
최근접이웃- - - - - -fitcknn 3차의경우느림。
다른유형의경우중간。
중간 어려움
앙상블- - - - - -fitcensemblefitrensemble 선택하는알고리즘에따라빠름~중간 선택하는알고리즘에따라낮음~높음。 어려움

이에나와있는결과는수많은데이터세트에대한분석을기반으로합니다。이연구의데이터세트는최대7000개관측값,80개예측변수,50개클래스를가집니다。다음목록에는에사용된용어에대한정의가나와있습니다。

속도:

  • 빠름- 0.01초

  • 중간- 1초

  • 느림- 100초

메모리

  • 적음- 1mb

  • 중간- 4mb

  • 큼- 100mb

참고

다음明文는일반적明文지침을제공합니다。실제결과는데이터와컴퓨터의속도에따라달라질수있습니다。

分类형예측변수지원

다음에는각분류기의예측변수에대한데이터형지원이설명되어있습니다。

분류기 모든예측변수가숫자형임 모든예측변수가分类형임 일부는分类형이고,일부는숫자형임
결정 트리
판별분석 아니 아니
支持向量机
나이브베이즈(朴素贝叶斯)
최근접이웃 유클리드거리(欧氏距离)만해당 해밍거리(汉明距离)만해당 아니
앙상블 예,판별분석분류기의부분공간앙상블은예외 예,부분공간앙상블은예외

참고 문헌

[1]布莱曼,路易斯安那州。“随机森林。”机器学习45,2001,第5-32页。