Main Content

RegressionSVM Predict

서포트 벡터 머신(SVM) 회귀 모델을 사용하여 응답 변수 예측

  • 라이브러리:
  • Statistics and Machine Learning Toolbox / Regression

설명

RegressionSVM Predict 블록은 SVM 회귀 객체(RegressionSVM 또는 CompactRegressionSVM)를 사용하여 응답 변수를 예측합니다.

객체를 포함하는 작업 공간 변수의 이름을 지정하여, 훈련된 SVM 회귀 객체를 블록으로 가져옵니다. 입력 포트 x는 관측값(예측 변수 데이터)을 받고 출력 포트 yfit는 관측값에 대해 예측된 응답 변수를 반환합니다.

포트

입력

모두 확장

예측 변수 데이터로, 하나의 관측값으로 구성된 열 벡터 또는 행 벡터로 지정됩니다.

종속성

  • x의 변수는 Select trained machine learning model(으)로 지정된 SVM 모델을 훈련시킨 예측 변수와 순서가 동일해야 합니다.

  • SVM 모델을 훈련시킬 때 fitrsvm에서 'Standardize',true를 설정하는 경우, RegressionSVM Predict 블록은 SVM 모델의 MuSigma 속성에 있는 평균 및 표준편차를 사용하여 x의 값을 표준화합니다.

데이터형: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

출력

모두 확장

예측 응답으로, 스칼라로 반환됩니다.

데이터형: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

파라미터

모두 확장

기본

RegressionSVM 객체 또는 CompactRegressionSVM 객체를 포함하는 작업 공간 변수의 이름을 지정합니다.

fitrsvm을 사용하여 SVM 모델을 훈련시키는 경우 다음 제한 사항이 적용됩니다.

  • 예측 변수 데이터는 범주형 예측 변수(logical, categorical, char, string 또는 cell)를 포함할 수 없습니다. 테이블로 훈련 데이터를 제공하는 경우 예측 변수는 숫자형(double형 또는 single형)이어야 합니다 또한 CategoricalPredictors 이름-값 인수를 사용할 수 없습니다. 모델에 범주형 예측 변수를 포함하려면 모델을 피팅하기 전에 dummyvar을 사용하여 범주형 예측 변수를 전처리하십시오.

  • 'ResponseTransform' 이름-값 인수 값은 'none'(디폴트 값)이어야 합니다.

  • 'KernelFunction' 이름-값 인수의 값은 'gaussian', 'linear'(디폴트 값) 또는 'polynomial'이어야 합니다.

프로그래밍 방식으로 사용하기

블록 파라미터: TrainedLearner
유형: 작업 공간 변수
값: RegressionSVM 객체 | CompactRegressionSVM 객체
디폴트 값: 'svmMdl'

데이터형

고정소수점 연산 파라미터

고정소수점 연산을 위한 반올림 모드를 지정합니다. 자세한 내용은 Rounding (Fixed-Point Designer) 항목을 참조하십시오.

블록 파라미터는 표현 가능한 가장 가까운 값으로 항상 반올림됩니다. 블록 파라미터의 반올림을 제어하려면 MATLAB® 반올림 함수를 사용하여 마스크 필드에 표현식을 입력하십시오.

프로그래밍 방식으로 사용하기

블록 파라미터: RndMeth
유형: 문자형 벡터
값: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
디폴트 값: 'Floor'

오버플로가 포화되는지 또는 래핑되는지 지정합니다.

동작근거오버플로에 대한 영향

이 체크박스를 선택합니다(on).

모델에 오버플로 가능성이 있으며 생성된 코드에서 명시적으로 포화를 보호해야 합니다.

데이터형이 나타낼 수 있는 최솟값 또는 최댓값으로 오버플로가 포화됩니다.

int8(부호 있는 8비트 정수) 데이터형이 나타낼 수 있는 최댓값은 127입니다. 이 최댓값보다 큰 블록 연산 결과는 8비트 정수에 오버플로를 발생시킵니다. 이 체크박스를 선택하면, 블록 출력이 127에서 포화됩니다. 이와 마찬가지로, 블록 출력은 최소 출력값 –128에서 포화됩니다.

이 체크박스의 선택을 해제합니다(off).

생성된 코드의 효율성을 최적화해야 합니다.

블록이 범위를 벗어난 신호를 처리하는 방식을 과도하게 지정하지 않도록 해야 합니다. 자세한 내용은 Troubleshoot Signal Range Errors (Simulink) 항목을 참조하십시오.

데이터형이 나타낼 수 있는 적절한 값으로 오버플로가 래핑됩니다.

int8(부호 있는 8비트 정수) 데이터형이 나타낼 수 있는 최댓값은 127입니다. 이 최댓값보다 큰 블록 연산 결과는 8비트 정수에 오버플로를 발생시킵니다. 이 체크박스 선택을 해제하면 오버플로를 일으키는 값이 int8형으로 해석되어 의도하지 않은 결과가 생성될 수 있습니다. 예를 들어 블록 결과 130(2진수 1000 0010)을 int8형으로 표현하면 –126입니다.

프로그래밍 방식으로 사용하기

블록 파라미터: SaturateOnIntegerOverflow
유형: 문자형 벡터
값: 'off' | 'on'
디폴트 값: 'off'

Fixed-Point Tool이 블록에 대해 지정된 데이터형을 재정의하지 않도록 방지하려면 이 파라미터를 선택하십시오. 자세한 내용은 Use Lock Output Data Type Setting (Fixed-Point Designer) 항목을 참조하십시오.

프로그래밍 방식으로 사용하기

블록 파라미터: LockScale
유형: 문자형 벡터
값: 'off' | 'on'
디폴트 값: 'off'
데이터형

yfit 출력값의 데이터형을 지정합니다. 데이터형은 상속되거나 직접 지정되거나 Simulink.NumericType과 같은 데이터형 객체로 표현될 수 있습니다.

상속: 자동을 선택하는 경우 블록은 데이터형을 상속하는 규칙을 사용합니다.

데이터형에 대한 자세한 내용은 Control Data Types of Signals (Simulink) 항목을 참조하십시오.

데이터형 도우미를 표시합니다. 버튼 을 클릭하면 데이터형 특성을 설정하는 데 도움이 되는 데이터형 도우미가 표시됩니다. 자세한 내용은 Specify Data Types Using Data Type Assistant (Simulink) 항목을 참조하십시오.

프로그래밍 방식으로 사용하기

블록 파라미터: OutDataTypeStr
유형: 문자형 벡터
: 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
디폴트 값: 'Inherit: auto'

Simulink®가 검사하는 yfit 출력 범위의 하한 값을 지정합니다.

Simulink는 다음을 수행하는 데 최솟값을 사용합니다.

참고

출력 최솟값 파라미터는 실제 yfit 신호를 포화시키거나 자르지 않습니다. Saturation (Simulink) 블록을 대신 사용하십시오.

프로그래밍 방식으로 사용하기

블록 파라미터: OutMin
유형: 문자형 벡터
: '[]' | 스칼라
디폴트 값: '[]'

Simulink가 검사하는 yfit 출력 범위의 상한 값입니다.

Simulink는 다음을 수행하는 데 최댓값을 사용합니다.

참고

출력 최댓값 파라미터는 실제 yfit 신호를 포화시키거나 자르지 않습니다. Saturation (Simulink) 블록을 대신 사용하십시오.

프로그래밍 방식으로 사용하기

블록 파라미터: OutMax
유형: 문자형 벡터
: '[]' | 스칼라
디폴트 값: '[]'

커널 계산에 사용할 파라미터의 데이터형을 지정합니다. 데이터형은 직접 지정되거나 Simulink.NumericType과 같은 데이터형 객체로 표현될 수 있습니다.

커널 데이터형 파라미터는 지정된 SVM 모델의 커널 함수 유형에 따라 다양한 파라미터의 데이터형을 지정합니다. SVM 모델을 훈련시킬 때 'KernelFunction' 이름-값 인수를 지정합니다.

'KernelFunction'데이터형
'gaussian' 또는 'rbf'커널 데이터형은 가우스 커널 G(x,s)=exp(D2)에 대해 제곱 거리 D2=xs2의 데이터형을 지정합니다. 여기서 x는 관측값에 대한 예측 변수 데이터이고 s는 서포트 벡터입니다.
'linear'커널 데이터형은 선형 커널 함수 G(x,s)=xs'의 출력값에 대한 데이터형을 지정합니다. 여기서 x는 관측값에 대한 예측 변수 데이터이고 s는 서포트 벡터입니다.
'polynomial'커널 데이터형은 다항식 커널 함수 G(x,s)=(1+xs')p의 출력값에 대한 데이터형을 지정합니다. 여기서 x는 관측값에 대한 예측 변수 데이터이고 s는 서포트 벡터이며 p는 다항식 커널 함수 차수입니다.

데이터형에 대한 자세한 내용은 Control Data Types of Signals (Simulink) 항목을 참조하십시오.

데이터형 도우미를 표시합니다. 버튼 을 클릭하면 데이터형 특성을 설정하는 데 도움이 되는 데이터형 도우미가 표시됩니다. 자세한 내용은 Specify Data Types Using Data Type Assistant (Simulink) 항목을 참조하십시오.

프로그래밍 방식으로 사용하기

블록 파라미터: KernelDataTypeStr
유형: 문자형 벡터
: 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'uint64' | 'int64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
디폴트 값: 'double'

Simulink가 검사하는 커널 계산 내부 변수 범위의 하한 값입니다.

Simulink는 다음을 수행하는 데 최솟값을 사용합니다.

참고

커널 최솟값 파라미터는 실제 커널 계산 값 신호를 포화시키거나 자르지 않습니다.

프로그래밍 방식으로 사용하기

블록 파라미터: KernelOutMin
유형: 문자형 벡터
: '[]' | 스칼라
디폴트 값: '[]'

Simulink가 검사하는 커널 계산 내부 변수 범위의 상한 값입니다.

Simulink는 다음을 수행하는 데 최댓값을 사용합니다.

참고

커널 최댓값 파라미터는 실제 커널 계산 값 신호를 포화시키거나 자르지 않습니다.

프로그래밍 방식으로 사용하기

블록 파라미터: KernelOutMax
유형: 문자형 벡터
: '[]' | 스칼라
디폴트 값: '[]'

블록 특성

데이터형

Boolean | double | fixed point | half | integer | single

직접 피드스루

yes

다차원 신호

no

가변 크기 신호

no

영점교차 검출

no

  • 선형 SVM 모델을 사용하고 있고 모델에 다수의 서포트 벡터가 있다면 예측 속도가 느릴 수 있습니다. 선형 SVM 모델을 기반으로 응답 변수를 효율적으로 예측하려면 discardSupportVectors를 사용하여 RegressionSVM 또는 CompactRegressionSVM 객체에서 서포트 벡터를 제거하십시오.

대체 기능

MATLAB Function 블록에 SVM 회귀 객체(RegressionSVM 또는 CompactRegressionSVM)의 predict 객체 함수를 사용할 수 있습니다. 예제는 Predict Class Labels Using MATLAB Function Block 항목을 참조하십시오.

Statistics and Machine Learning Toolbox™ 라이브러리의 RegressionSVM Predict 블록을 사용하거나 MATLAB Function 블록에 predict 함수를 사용할지 결정할 때 다음 사항을 고려하십시오.

  • Statistics and Machine Learning Toolbox 라이브러리 블록을 사용하는 경우, Fixed-Point Tool (Fixed-Point Designer)을 사용하여 부동소수점 모델을 고정소수점 모델로 변환할 수 있습니다.

  • MATLAB Function 블록에 predict 함수를 사용하려면 이 블록에 대해 가변 크기 배열 지원이 활성화되어 있어야 합니다.

  • MATLAB Function 블록을 사용하는 경우, 이 MATLAB Function 블록에서 예측 전이나 후에 전처리 또는 후처리를 위해 MATLAB 함수를 사용할 수 있습니다.

확장 기능

C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

고정소수점 변환
Fixed-Point Designer™를 사용하여 고정소수점 시스템을 설계하고 시뮬레이션할 수 있습니다.

버전 내역

R2020b에 개발됨

모두 확장