주요 콘텐츠

드리프트 감지

드리프트 감지기 상태와 드리프트 상태를 새 데이터로 업데이트하기

R2024b 이후

  • Detect Drift Block Icon

라이브러리:
Statistics and Machine Learning Toolbox / Incremental Learning / Drift Detection

설명

Detect Drift 블록은 새로운 데이터가 제공되면 드리프트 감지기의 내부 통계량과 드리프트 상태를 업데이트합니다.

초기화된 증분 개념 드리프트 감지기 객체(incrementalConceptDriftDetector)가 포함된 작업 공간 변수의 이름을 지정하여 해당 객체를 블록으로 가져옵니다. 입력 포트 x는 드리프트를 평가할 데이터 스트림을 수신합니다. 입력 포트 reset은 드리프트 감지기의 내부 상태를 초기화하는 신호를 수신합니다. 출력 포트 IsWarm은 드리프트 감지기가 워밍업 상태인지 나타내는 값을 반환하며, 이는 드리프트 상태를 추적한다는 의미입니다. 출력 포트 status는 현재 드리프트 상태를 반환합니다. 선택적 입력 포트 w는 관측값 가중치를 수신합니다.

예제

포트

입력

모두 확장

입력 데이터로, n×1 숫자형 벡터로 또는 논리형 벡터로 지정됩니다. 여기서 n은 관측값 개수입니다. 모델 초기화 시 다음과 같은 사항이 적용됩니다.

  • incrementalConceptDriftDetector 호출에서 InputType 값이 "continuous"인 경우 x는 숫자형 벡터여야 합니다.

  • incrementalConceptDriftDetector 호출에서 InputType 값이 "binary"인 경우 x는 논리형 벡터일 수 있습니다.

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

초기화 신호로, 0(false)이나 1(true) 또는 숫자형 스칼라로 지정됩니다. reset 신호가 양의 스칼라(0보다 큼)이면, 드리프트 감지기는 PreviousDriftStatusDriftStatus를 포함하여 incrementalConceptDriftDetector의 내부 상태를 초기화합니다. 데이터에서 드리프트가 감지되면, 블록은 사용자 정의된 초기화 논리 서브시스템을 사용하여 감지기를 초기화합니다.

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

관측값 가중치로, 숫자형 벡터로 지정됩니다. 드리프트 감지 블록은 x의 관측값에 w의 대응값으로 가중치를 적용합니다. w의 크기는 x의 관측값 개수와 같아야 합니다.

지수 가중 이동평균을 사용하는 호프딩의 경계 기반 드리프트 감지 방법(HDDMW)의 경우에는 관측값 가중치를 제공할 수 없습니다. 관측값 가중치를 사용하려면 incrementalConceptDriftDetector 호출에서 DetectionMethod"ddm" 또는 "hddma"로 지정하십시오.

종속 관계

이 포트를 활성화하려면 블록 파라미터 대화 상자의 기본 탭에서 관측값 가중치에 대한 입력 포트 추가 체크박스를 선택하십시오.

데이터형: single | double

출력

모두 확장

Detect Drift 블록이 드리프트 상태를 추적하는지 여부를 나타내는 플래그로, 논리형 0(false) 또는 1(true)로 반환됩니다.

설명
1 (true)incrementalConceptDriftDetector 객체가 워밍업 상태입니다. 따라서 블록이 신호 출력에서 드리프트 상태를 추적합니다.
0 (false)incrementalConceptDriftDetector 객체가 워밍업 상태가 아닙니다. 따라서 블록이 내부 통계량만 업데이트하고 드리프트 상태를 추적하지 않습니다.

데이터형: Boolean

현재 드리프트 상태로, 0(안정적 또는 드리프트 없음), 1(드리프트 경고) 또는 2(드리프트 감지됨)로 지정됩니다.

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

파라미터

모두 확장

블록 파라미터를 대화형 방식으로 편집하려면 속성 인스펙터를 사용하십시오. Simulink® 툴스트립에서 시뮬레이션 탭의 준비 갤러리에 있는 속성 인스펙터를 선택합니다.

기본

구성된 incrementalConceptDriftDetector 객체를 포함하는 작업 공간 변수의 이름을 지정합니다.

프로그래밍 방식 사용

블록 파라미터: DriftDetector
유형: 문자형 벡터 또는 string형
값: incrementalConceptDriftDetector 객체 이름
디폴트 값: "IncCDDetector"

드리프트 감지 블록에 관측값 가중치에 대한 입력 포트 w를 포함하려면 체크박스를 선택합니다.

프로그래밍 방식 사용

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

샘플 시간 적중 사이의 이산 간격을 지정하거나, 연속(0) 또는 상속됨(–1)과 같은 다른 샘플 시간 유형을 지정합니다. 자세한 옵션은 샘플 시간의 유형 (Simulink) 항목을 참조하십시오.

기본적으로, 드리프트 감지 블록은 모델 내 블록의 컨텍스트에 따라 샘플 시간을 상속받습니다.

프로그래밍 방식 사용

블록 파라미터: SystemSampleTime
유형: string형 스칼라 또는 문자형 벡터
값: 스칼라
디폴트 값: "–1"

데이터형

고정소수점 연산 파라미터

고정소수점 연산을 위한 반올림 모드를 지정합니다. 자세한 내용은 반올림 모드 (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"

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

프로그래밍 방식 사용

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

데이터형

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

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

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

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

프로그래밍 방식 사용

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

Simulink가 검사하는 드리프트 상태 범위의 하한 값을 지정합니다.

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

프로그래밍 방식 사용

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

Simulink가 검사하는 드리프트 상태 범위의 상한 값을 지정합니다.

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

프로그래밍 방식 사용

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

평균(입력 관측값들의 이동평균)의 데이터형을 지정합니다. 데이터형은 상속되거나 직접 지정되거나 Simulink.NumericType과 같은 데이터형 객체로 표현될 수 있습니다.

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

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

프로그래밍 방식 사용

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

Simulink가 검사하는 평균 범위의 하한 값을 지정합니다.

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

프로그래밍 방식 사용

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

Simulink가 검사하는 평균 범위의 상한 값을 지정합니다.

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

프로그래밍 방식 사용

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

분산(입력 관측값들의 이동 분산)의 데이터형을 지정합니다. 데이터형은 상속되거나 직접 지정되거나 Simulink.NumericType과 같은 데이터형 객체로 표현될 수 있습니다.

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

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

프로그래밍 방식 사용

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

Simulink가 검사하는 분산 범위의 하한 값을 지정합니다.

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

프로그래밍 방식 사용

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

Simulink가 검사하는 분산 범위의 상한 값을 지정합니다.

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

프로그래밍 방식 사용

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

가중치 합계(가중 입력 관측값들의 이동 합계)의 데이터형을 지정합니다. 데이터형은 상속되거나 직접 지정되거나 Simulink.NumericType과 같은 데이터형 객체로 표현될 수 있습니다.

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

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

프로그래밍 방식 사용

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

Simulink가 검사하는 가중치 합계 범위의 하한 값을 지정합니다.

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

프로그래밍 방식 사용

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

Simulink가 검사하는 가중치 합계 범위의 상한 값을 지정합니다.

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

프로그래밍 방식 사용

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

블록 특성

데이터형

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

직접 피드스루

yes

다차원 신호

no

가변 크기 신호

no

영점교차 검출

no

확장 기능

모두 확장

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

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

버전 내역

R2024b에 개발됨