지도 학습 알고리즘의 여러 레이블


10

해당 주제의 텍스트 모음이 있습니다. 예를 들어 "A rapper Tupac was shot in LA"로 레이블이 지정되었습니다 ["celebrity", "murder"]. 따라서 기본적으로 각 피처의 벡터에는 많은 레이블이있을 수 있습니다 (같은 양이 아님. 첫 번째 피처 벡터에는 세 개의 레이블, 두 번째 1, 세 번째 5).

각 텍스트에 해당하는 레이블이 하나만 있으면 Naive Bayes 분류기를 시도 하지만 레이블이 많은 경우 어떻게 진행해야하는지 잘 모릅니다.

Naive Bayes를 다중 레이블 분류 문제로 변환 할 수있는 방법이 있습니까 (더 나은 방법이있는 경우 알려주세요)?

추신 : 내가 가진 데이터에 대한 몇 가지 사항.

  • 데이터 세트에서 약 10.000 개의 요소
  • 텍스트는 약 2-3 문장입니다
  • 텍스트 당 최대 7 개의 레이블

@fordprefect 다항식 Naive Bayes는 다음과 같이 클래스가 지정된 일부 기능의 확률에 다항식 분포를 사용합니다. . OP는 TheGrimmScientist가 설명한대로 분류 기가 여러 출력을 관리하기를 원합니다. (에프나는|)
Robert Smith

답변:


6

우선 Naive Bayes가 적합하지 않을 것입니다. 그것은 입력들 사이의 독립성 (따라서 "순진")과 문장의 단어들이 매우 의존적이라고 가정합니다.

그러나 실험을 시작하기 위해 알고리즘으로 NB를 사용한다고 가정하면 두 가지 옵션이 있습니다.

부끄럽지 않은 : 많은 NB 분류기

이것은 대안적인 접근법 일 것입니다. 입력 벡터로 관찰 된 모든 단어의 코 루푸스를 만드십시오. 출력 벡터로 관찰되는 모든 태그에서 코퍼스를 만듭니다. 여러 개의 출력을 가진 NB 분류기는 각각 하나의 출력을 가진 여러 개의 NB 분류기를 사용하는 것과 같습니다 (사용중인 소프트웨어 프레임 워크에서 구현하기 쉬운 방법). 주어진 입력 (단어)이 1해당 단어가 존재하고 해당 단어가 존재 0하지 않는 경우 각 요소를 학습 샘플로 취급하십시오 . 출력에 동일한 이진 체계를 사용하십시오.

이 무차별 공격은 NB 분류기를 데이터에 적용하고 여전히 남은 거대한 분류자를 채굴하기 위해 의미를 찾을 수있게합니다.

더 우아한 : 데이터 처리

하나의 다중 클래스 NB 분류기로 실행하려는 경우이 방법을 사용하는 것이 좋습니다.

여기서 목표는 각 태그 세트를 단일 클래스에 맵핑하는 방법을 알아내는 것입니다. 나는 일종의 클러스터링 체계 나 네트워크 분석 (아마도 ""살인 "]에 연결된 ["연예인 "]이 태그를 하나의 단일 클러스터에 현명하게 매핑 할 수있는 세그먼트 ["분화 장소 "가 될 수 있음)가있을 것이라고 확신한다. 태그를 노드로 취급하고 지정된 태그 두 개를 링크로 취급하는 경우 커뮤니티 감지 알고리즘 (여기서 시작한 곳)을 살펴보고 싶을 것입니다. 그러나 무언가 작동하고 싶다면 태그 목록을 데이터 세트에서 가장 일반적으로 볼 수있는 태그로만 변환하는 태그를 해킹하는 것으로 충분합니다.

이 방법은 데이터 정리 작업을 프론트로드하고 NB 분류기의 출력을 이해하기 쉽게 만듭니다.


의견을 보내 주셔서 감사합니다. NB보다 나은 점이 있다면 알려 주시기 바랍니다.
살바도르 달리

1
이 슬라이드 데크 의 "기존 솔루션"섹션에는 내가 대답 할 내용과 그 밖의 내용이 담겨 있습니다 (분류기를 특별히 필요로하지 않고 태그를 사용하는 방법을 원한다고 가정). 도움이 되길 바랍니다.
TheGrimmScientist

@TheGrimmScientist 첫 번째 방법을 사용하는 것이 합리적이지 않습니까? 기능 f1, f2, f3의 벡터가 있고이 벡터에 대해 3 개의 레이블이 있다고 가정하면 출력과 다른 레이블을 가진 3 개의 벡터 (모두 동일한 기능 f1, f2, f3을 포함하는)로 벡터를 분할 할 수 있습니다. 그런 다음 평소처럼 Naive Bayes를 사용할 수 있습니다. 그것이 당신이 생각한 것인지 확실하지 않습니다.
Robert Smith
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.