대상 정의

게시 됨: 2015-08-21

기계 학습 방법은 지도 및 비지도의 두 가지 범주로 분류할 수 있습니다. 지도 학습은 레이블이 지정된 관찰 집합에서 학습합니다. 여기서 관찰은 특정 클래스(분류 문제의 경우)에 속하거나 특정 값(회귀 문제)이 있는 것으로 알려져 있습니다. 비지도 학습은 레이블이 지정되지 않은 일련의 관찰에서 학습합니다. 여기서 관찰 자체 외에는 알려진 것이 없습니다.

지도 학습 방법의 경우 우리는 본질적으로 "이 '진정한' 데이터를 보고 보이지 않는 데이터의 '진실'을 알도록 알려주세요"라고 말합니다. 비지도 학습 방법의 경우 이것은 "이 데이터를 보고 내가 모르는 흥미로운 것을 말해줘"와 동일합니다. 명확한 이분법이 유용하지만 이 게시물에서는 대상을 정의하는 것 자체가 매우 흥미로운 작업이 될 수 있는 흥미로운 변형에 대해 이야기할 것입니다!

반 감독

이것은 감독된 데이터와 감독되지 않은 데이터 사이의 중간 지점입니다. 여기서 'true' 레이블은 일부 관찰에만 존재하지만 전부는 아닙니다. 손에 있는 정보를 무시하는 것은 분석 모델의 품질에 부당하지만 이 정보를 사용하면 문제가 비정상적으로 될 수 있습니다. 인터넷을 생각하면 데이터 생성이 쉽고 레이블링은 비용이 많이 드는 세상에서 많은 문제가 semi-supervised 영역에 속합니다.

한 가지 접근 방식은 모델링을 위한 레이블 정보를 포함하지 않고 모델 검증 및 성능 비교용으로만 포함하는 것일 수 있습니다. 예를 들어, 비지도 클러스터링을 사용하여 데이터를 k 개의 클러스터로 분할한 다음 예측된 클러스터를 실제 클러스터와 비교하여 모델의 능력을 검증할 수 있습니다. 이는 여러 클러스터링 솔루션 중에서 더 나은 결정을 내리는 데 도움이 될 수 있습니다.

또 다른 접근 방식은 이 정보를 모델링에 사용하는 것입니다. 이전 블로그 게시물에서 반 지도 클러스터링에 대해 논의했습니다.

불연속 대 연속

많은 상황이 분명히 분류 또는 회귀 범주('true' 값이 이산 클래스 또는 연속 값인 경우)에 속하지만 대상 변환 이 의미가 있는 경우가 있습니다.

고객의 인구 통계 및 과거 거래 행동의 기능으로 고객 수준 수익을 고려하십시오. 이것은 소매, 은행, 보험 및 통신 산업에서 충분히 일반적인 문제입니다. 종종 지난 N 개월의 수익은 분명히 연속 숫자입니다. (선형, 아마도) 회귀가 여기에 적합할 수 있습니다. 그러나 잠재적으로 더 나은 작업을 수행할 수 있지만 연속 대상에는 적용되지 않는 신경망과 같이 분류 문제에 사용할 수 있는 더 복잡하고 정교한 방법이 있습니다. 비즈니스 상황에 따라 실제 수익을 예측할 필요는 없지만 수익이 높거나, 중간 또는 낮을 경우에만 예측할 수 있습니다. 그렇다면 모든 고객에 대한 수익 분포를 검토하고 높음-중간 및 중간-낮음에 대한 경계를 정의할 수 있습니다. 짜잔! 연속 목표 문제를 3등급 이산 분류 문제로 변환했습니다.

연속 목표가 백분율(예: 학교별 시험 통과 학생 비율)이고 새/보이지 않는 학교의 백분율도 예측하려는 경우 회귀 모델 외에 다른 옵션이 있습니다. 데이터를 소포할 수 있습니다! Parceling은 관측치를 복제하여 연속 분수를 이진 클래스로 변환합니다. 목표 값이 40%인 관찰에 대해 관찰을 100번 복제하고 그 중 40에 대해 1의 클래스를 할당하고 나머지 60에 대해 60의 클래스를 할당합니다. 주어진 관찰이 동일하고 기능 세트가 동일하면 모델은 1을 미분하려고 시도합니다. 0에서 시작하여 이러한 종류의 관찰이 1일 가능성이 40%이고 0일 가능성이 60%라는 결론을 내립니다. 모든 관찰에 대해 동일한 작업을 수행할 수 있습니다. (예, 이것은 훈련 데이터 매니폴드의 크기를 증가시킬 것입니다.) 어쨌든 대부분의 일반적인 분류 모델은 결과로 클래스=1의 확률을 생성하며, 어쨌든 원하는 결과입니다!

이산 클래스를 연속 값으로 변환하는 경우가 있습니까? 대부분은 아니지만 예가 있습니다. 본질적으로 0-100(또는 그 정도) 사이의 이산 정수인 년 단위로 누군가의 나이를 예측하려고 할 때 나이를 연속 대상으로 처리할 수 있습니다. 마찬가지로 0-50k, 50k-100k, 100k-150k 등과 같이 충분히 세분화된 소득 범주가 있는 경우 20개 클래스 문제를 푸는 것보다 소득을 연속 변수로 처리하는 것이 도움이 될 수 있습니다.

클래스가 없는 경우

모든 데이터에는 레이블이 지정되거나 레이블이 지정되지 않습니다. 데이터에 레이블이 지정되면(가정, 이진) 한 클래스 또는 다른 클래스에 속합니다. 그러나 실제로 데이터는 어떤 클래스에도 속하지 않을 수 있습니다.

예를 들어, 많은 보험 청구 중에서 어떤 청구는 사기이고 다른 청구는 사기가 아님을 확실히 알 수 있지만 조사되지 않은 많은 청구에 대해서는 모를 수 있습니다. 은행에서 신청 점수 모델의 일부로 승인되거나 거부된 신용 카드 신청자를 고려하십시오. 하지만 아예 신청을 하지 않은 고객들도 많아 접수가 되었는지 안 되었는지 알 수 없습니다. 종종 레이블이 없는 데이터는 처리할 수 없으며 개발 인구에서 제외해야 합니다. 그러나 이것이 모델링에 편향을 유발하는지 염두에 두어야 합니다. 위의 보험 예에서 조사된 클레임은 처음에는 의심스러웠거나(심지어 사기가 아닌 것으로 판명된 경우에도) 은행의 예에서는 신청하지 않은 고객이 인구 통계학적 범주를 완전히 배제한 영업 사원의 권유를 받지 않았습니다.

이전 섹션에서 설명한 대로 대상 변환을 수행하면 클래스가 없는 데이터를 직접 생성할 수 있습니다. 연속 목표를 이진 목표로 변환하기 위해 연간 수익이 5000 이상이고 연간 5000 미만이라고 정의한다고 가정합니다. 그러나 이것은 5000에 임의의 컷오프가 있기 때문에 나쁜 디자인이 될 것입니다. 4999/-의 수익을 가진 고객은 5001/- 수익을 가진 고객과 크게 다르지 않지만, 당신은 그들을 세계적으로 구분합니다. 귀하의 정의는 5001/-의 수익이 4999/-보다 10000/-의 수익과 더 유사함을 의미합니다. 문제가 보이나요? 기술적으로 그렇게 할 수 있지만 결과 모델은 유사한 고객과의 차이점을 배우도록 요청하기 때문에 훌륭하고 강력하지 않습니다.

일반적으로 좋은 방법은 버퍼/클래스 없음 영역을 포함하는 것입니다. 따라서 6000/- 이상을 높음으로 4000/- 이하의 수익을 낮은 것으로 정의하고 4000/- 및 6000/- 사이의 수익을 가진 관찰을 무시할 수 있습니다. 일부 데이터가 손실되는 동안 모델은 사용자가 정의하는 것이 실제로 다르기 때문에 훨씬 더 나은 작업을 수행합니다.

데이터 준비, 기능 생성 및 기계 학습 방법에 많은 초점을 맞추는 것이 당연하지만 올바른 대상을 정의하는 것은 전반적인 분석 결과의 품질에도 유용할 수 있습니다.