2020 년 8 월 31 일 최종 업데이트
다중 라벨 분류에는 0 개 이상의 클래스 레이블을 예측하는 것이 포함됩니다.
클래스 레이블이 상호 배타적인 일반 분류 작업과는 달리,다중 레이블 분류에는 상호 배타적이지 않은 여러 클래스 또는”레이블”을 예측하는 것을 지원하는 특수 기계 학습 알고리즘이 필요합니다.”
딥 러닝 신경망은 기본적으로 다중 레이블 분류 문제를 지원하는 알고리즘의 예입니다. 다중 레이블 분류 작업을 위한 신경망 모델은 케라스 딥러닝 라이브러리를 사용하여 쉽게 정의하고 평가할 수 있습니다.
이 자습서에서는 다중 레이블 분류를 위한 딥 러닝 모델을 개발하는 방법을 알아봅니다.
이 자습서를 완료하면 알 수 있습니다:
- 다중 레이블 분류는 0 개 이상의 상호 배타적이지 않은 클래스 레이블을 예측하는 예측 모델링 작업입니다.
- 다중 레이블 분류 작업을 위해 신경망 모델을 구성할 수 있습니다.
- 다중 레이블 분류에 대한 신경망을 평가하고 새로운 데이터에 대한 예측을 만드는 방법.
시작하자.
딥 러닝을 이용한 다중 라벨 분류
트레버 마론 사진,일부 권리 보유.
자습서 개요
이 자습서는 세 부분으로 나뉩니다.:
- 다중 레이블 분류
- 다중 레이블 분류
- 다중 레이블 분류
다중 레이블 분류
분류는 일부 입력이 주어진 클래스 레이블을 출력하는 예측 모델링 문제입니다.
숫자 값 예측 포함.
일반적으로 분류 작업에는 단일 레이블을 예측하는 작업이 포함됩니다. 또는 둘 이상의 클래스 레이블에서 가능성을 예측하는 작업이 포함될 수 있습니다. 즉,분류 태스크에서는 입력이 하나의 클래스에만 속한다고 가정합니다.
일부 분류 작업에서는 둘 이상의 클래스 레이블을 예측해야 합니다. 즉,클래스 레이블 또는 클래스 멤버 자격은 상호 배타적이지 않습니다. 이러한 작업을 여러 레이블 분류 또는 짧게 여러 레이블 분류라고 합니다.
다중 레이블 분류에서는 각 입력 샘플에 대해 0 개 이상의 레이블이 출력으로 필요하며 출력은 동시에 필요합니다. 출력 레이블은 입력의 함수라고 가정합니다.이 기능을 사용하면 다중 레이블 분류 데이터 집합을 만들 수 있습니다.
우리의 데이터 세트에는 10 개의 입력 기능을 가진 1,000 개의 샘플이 있습니다. 데이터 세트는 각 샘플에 대해 세 개의 클래스 레이블 출력을 가지며 각 클래스는 하나 또는 두 개의 값(0 또는 1,예:현재 또는 존재하지 않음)을 갖습니다.
합성 다중 레이블 분류 데이터 집합을 만들고 요약하는 전체 예가 아래에 나열되어 있습니다.
1
2
3
4
5
6
7
8
9
|
# 다중 레이블 분류 작업
의 예입니다.데이터 집합의 데이터 집합은 데이터 집합의 모든 데이터 집합에 대한 데이터 집합의 모든 데이터 집합에 대한 데이터 집합의 모든 데이터 집합에 대한 데이터 집합의 모든 데이터 집합에 대한 데이터 집합의 모든 데이터 집합에 대한 데이터 집합의 모든 데이터 집합에 대한 데이터 집합의 모든 데이터 집합에 대한 데이터 집합의 모든 데이터 집합에 대한 데이터 집합의 모든 데이터 집합에 대한 데이터 집합의 모든 데이터 집합에 대한 데이터 집합의 모든 데이터 집합에 대한 데이터 집합의 모든 데이터 집합에 대한 데이터 집합의 모든 데이터 집합에 대한 데이터 집합=1)
# 데이터 집합 모양 요약
인쇄(엑스.모양)
#범위에 대한 처음 몇 가지 예
요약(10):
인쇄(엑스,와이)
|
이 예제를 실행하면 데이터 집합이 만들어지고 입력 및 출력 요소의 모양이 요약됩니다.
예상대로 각각 10 개의 입력 기능과 3 개의 출력 기능을 갖춘 1,000 개의 샘플이 있음을 알 수 있습니다.
처음 10 개의 입력 및 출력 행이 요약되어 있으며이 데이터 집합의 모든 입력은 숫자이며 출력 클래스 레이블에는 세 개의 클래스 레이블 각각에 대해 0 또는 1 개의 값이 있음을 알 수 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
|
(1000, 10) (1000, 3)
|
다음으로 다중 레이블 분류 작업을위한 신경망 모델을 개발하는 방법을 살펴 보겠습니다.
다중 라벨에 대한 신경망
일부 기계 학습 알고리즘은 기본적으로 다중 라벨 분류를 지원합니다.
신경망 모델은 다중 레이블 분류를 지원하도록 구성할 수 있으며 분류 작업의 특성에 따라 잘 수행할 수 있습니다.
다중 레이블 분류는 문제점에 존재하는 대상 레이블의 수를 출력 계층의 노드 수로 지정함으로써 신경망에 의해 직접 지원될 수 있다. 예를 들어,세 개의 출력 레이블(클래스)이 있는 작업에는 출력 레이어에 세 개의 노드가 있는 신경망 출력 레이어가 필요합니다.
출력 계층의 각 노드는 시그 모이 드 활성화를 사용해야합니다. 그러면 레이블에 대한 클래스 멤버십 확률(0 과 1 사이의 값)이 예측됩니다. 마지막으로 모델은 이진 교차 엔트로피 손실 함수에 적합해야합니다.
요약하면,다중 레이블 분류에 대한 신경망 모델을 구성하기 위해 구체적인 내용은 다음과 같습니다:
- 출력 레이어의 노드 수는 레이블 수와 일치합니다.
- 출력 계층의 각 노드에 대한 시그 모이 드 활성화.
- 이진 교차 엔트로피 손실 함수.
우리는 케라스 딥러닝 라이브러리를 사용하여 이를 입증할 수 있다.
우리는 이전 섹션에서 정의 된 다중 라벨 분류 작업에 대한 다층 퍼셉트론 모델을 정의 할 것입니다.
각 샘플에는 10 개의 입력과 3 개의 출력이 있습니다.
숨겨진 레이어에서 인기있는 렐루 활성화 기능을 사용할 것입니다. 숨겨진 레이어에는 시행 착오 후에 선택된 20 개의 노드가 있습니다. 우리는 이진 교차 엔트로피 손실과 확률 적 그라디언트 디센트의 아담 버전을 사용하여 모델을 맞출 것입니다.
다중 레이블 분류 작업에 대한 네트워크 정의는 다음과 같습니다.
1
2
3
4
5
|
# 모델
모델=순차()
모델을 정의합니다.이 문제를 해결하려면 다음 단계를 따르세요.
|
따라서 입력 및 출력 변수의 수가 인수로 제공되는 모델을 정의하고 반환하는 함수를 만들 수 있습니다.
1
2
3
4
5
6
7
|
# 이 문제를 해결하려면 다음 단계를 수행하십시오.이 문제를 해결하려면 다음 단계를 수행하십시오.이 문제를 해결하려면 다음 단계를 따르세요.
|
이제 다중 레이블 분류에 대한 다중 레이블 분류를 정의하는 방법에 대해 잘 알고 있으므로 이 모델을 평가하는 방법을 살펴보겠습니다.
다중 레이블 분류를 위한 신경망
데이터 집합이 작은 경우 동일한 데이터 집합에서 신경망 모델을 반복적으로 평가하고 반복에서 평균 성능을 보고하는 것이 좋습니다.
이것은 학습 알고리즘의 확률 적 특성 때문입니다.
또한 데이터 집합의 학습/테스트 분할 대신 케이 폴드 교차 검증을 사용하여 새 데이터에 대한 예측을 할 때 모델 성능에 대한 편견없는 추정치를 얻는 것이 좋습니다. 다시 말하지만,프로세스가 합리적인 시간에 완료 될 수있는 너무 많은 데이터가없는 경우에만.
이를 고려하여 10 번의 접기와 3 번의 반복으로 반복된 케이 폴드 교차 검증을 사용하여 다중 출력 회귀 태스크에 대한 메이저리그 분석 모델을 평가할 것이다.
메이저 리그 모델은 기본적으로 각 클래스 레이블에 대한 확률을 예측합니다. 즉,각 샘플에 대해 세 가지 확률을 예측합니다. 값을 0 또는 1 로 반올림하여 선명한 클래스 레이블로 변환 할 수 있습니다. 그런 다음 선명한 클래스 레이블에 대한 분류 정확도를 계산할 수 있습니다.
1
2
3
4
5
6
7
|
…
#테스트 세트
모델을 예측합니다.예를 들어,클래스 레이블에 대한 확률을 반올림하는 데 사용할 수 있습니다.이 문제를 해결하는 데 도움이되는 몇 가지 방법이 있습니다.)
|
점수는 수집되며 모든 반복 및 교차 유효성 검사 폴드에서 평균 및 표준 편차를 보고하여 요약할 수 있습니다.아래 함수는 데이터 집합을 가져와 모델을 평가한 다음 평가 점수 목록(이 경우 정확도 점수)을 반환합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# 반복된 케이 폴드 교차 검증을 사용하여 모델 평가
: 2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년=1)
# 폴드 열거
이 경우 데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 모델
모델.이 경우 두 가지 방법이 있습니다.=100)
# 테스트 집합
모델을 예측합니다.예를 들어,클래스 레이블에 대한 확률을 반올림하는 데 사용할 수 있습니다.이 응용 프로그램을 사용하면 사용자가 원하는 결과를 얻을 수 있으므로 사용자가 원하는 결과를 얻을 수 있습니다.3 층’%아크)
결과.결과 반환
|
그런 다음 데이터 집합을 로드하고 모델을 평가하고 평균 성능을 보고할 수 있습니다.
이것을 함께 묶으면 전체 예가 아래에 나열됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# 이 예제에서는 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한 각 레이블의 각 레이블에 대한데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합입니다.이 문제를 해결하려면 다음 단계를 수행하십시오.모델은 순차적
을 케라스에서 가져옵니다.레이어는 밀도가 높은
을 가져옵니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합입니다.데이터 집합의 데이터 집합은 이 문제를 해결하는 데 도움이되는 몇 가지 방법이 있습니다.이 문제를 해결하는 데 도움이되는 몇 가지 방법이 있습니다.이 문제를 해결하려면 다음 단계를 따르세요.
# 폴드 열거
이 경우 데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 데이터 집합에 대한 모델
모델.이 경우 두 가지 방법이 있습니다.=100)
# 테스트 집합
모델을 예측합니다.예를 들어,클래스 레이블에 대한 확률을 반올림하는 데 사용할 수 있습니다.이 응용 프로그램을 사용하면 사용자가 원하는 결과를 얻을 수 있으므로 사용자가 원하는 결과를 얻을 수 있습니다.3 층’%아크)
결과.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합(‘정확도:%.3 층(%.3 층)’%(평균(결과),표준(결과)))
|
이 예제를 실행하면 각 접기 및 각 반복에 대한 분류 정확도가 보고되어 평가 진행 상황을 파악할 수 있습니다.
참고:알고리즘 또는 평가 절차의 확률 적 특성 또는 수치 정밀도의 차이로 인해 결과가 다를 수 있습니다. 예를 몇 번 실행하는 것을 고려하고 평균 결과를 비교하십시오.
마지막에 평균 및 표준 편차 정확도가 보고됩니다. 이 경우 모델은 약 81.2%의 정확도를 달성하는 것으로 나타났습니다.
이 코드를 여러 레이블 분류 태스크에 대한 다중 레이블 모델을 평가하기 위한 템플릿으로 사용할 수 있습니다. 모델의 노드 및 레이어 수를 데이터 집합의 복잡성에 맞게 쉽게 조정할 수 있습니다.
1
2
3
4
5
6
7
|
…
>0.780
>0.820
>0.790
>0.810
>0.840
정확도:0.812 (0.032)
|
모델 구성이 선택되면 사용 가능한 모든 데이터에 최종 모델을 맞추고 새 데이터에 대한 예측을 수행하는 데 사용할 수 있습니다.이 예제에서는 여러 레이블 분류 데이터 집합에 대해 예측()함수를 호출하여 새 데이터 행에 대한 예측을 수행합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# 예측에 메이저 리그 사용 이 문제를 해결하려면 다음 단계를 수행하십시오.데이터 집합의 데이터 집합은 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합에 대한 데이터 집합의 데이터 집합입니다.모델은 순차적
을 케라스에서 가져옵니다.데이터 집합은 데이터 집합의 데이터 집합을 가져 오는 데 사용되는 데이터 집합입니다.이 데이터 집합은 데이터 집합의 데이터 집합을 가져 오는 데 사용되는 데이터 집합입니다.데이터 집합은 데이터 집합의 데이터 집합을 가져 오는 데 사용되는 데이터 집합입니다.데이터 집합은 데이터 집합의 데이터 집합을 가져 오는 데 사용되는 데이터 집합입니다.데이터 집합은 데이터 집합의 데이터 집합을 가져 오는 데 사용되는 데이터 집합입니다.데이터 집합은 데이터 집합의 데이터 집합을 가져 오는 데 사용되는 데이터 집합입니다.데이터 집합은 데이터 집합의 데이터 집합을 가져 오는 데 사용되는 데이터 집합입니다.데이터 집합은 이 문제를 해결하는 데 도움이되는 몇 가지 방법이 있습니다.이 문제를 해결하는 데 도움이되는 몇 가지 방법이 있습니다.이 문제를 해결하려면 다음 단계를 따르세요.
모델에 모델을 맞춥니다.맞춤(엑스,와이,자세한 정보=0,에포크=100)
# 새 데이터
행=
새 데이터
에 대한 예측을 만듭니다.예를 들면 다음과 같습니다.)
|
이 예제를 실행하면 모델에 적합하고 새 행에 대한 예측이 수행됩니다. 예상대로 예측에는 다중 레이블 분류 작업에 필요한 세 가지 출력 변수(각 클래스 레이블의 확률)가 포함됩니다.
1
|
예측:
|
추가 읽기
이 섹션에서는 더 깊이 들어가고자 하는 경우 주제에 대한 더 많은 리소스를 제공합니다.
- 다중 라벨 분류,위키 백과.
- 데이터 세트.이 작업을 수행하는 방법은 다음과 같습니다.
- 케라스 홈페이지.
- 모델 선택.반복된 반복된 반복된 반복된 반복된 반복된 반복된 반복된 반복된 반복된 반복된 반복된 반복
요약
이 자습서에서는 다중 레이블 분류를 위한 딥 러닝 모델을 개발하는 방법을 발견했습니다.
구체적으로,당신은 배웠습니다:
- 다중 레이블 분류는 0 개 이상의 상호 배타적이지 않은 클래스 레이블을 예측하는 예측 모델링 작업입니다.
- 다중 레이블 분류 작업을 위해 신경망 모델을 구성할 수 있습니다.
- 다중 레이블 분류에 대한 신경망을 평가하고 새로운 데이터에 대한 예측을 만드는 방법.
질문이 있으십니까?
아래의 의견에 귀하의 질문을하고 나는 대답하기 위해 최선을 다할 것입니다.
파이썬으로 딥 러닝 프로젝트를 개발하세요!
분 안에 네트워크를 개발할 수 있다면 어떨까요?..파이썬
의 몇 줄 발견 어떻게 내 새로운 전자 책에서:
파이썬
와 깊은 학습은 같은 주제에 대한 엔드-투-엔드 프로젝트를 커버:
다층 퍼셉트론,컨볼 루션 그물과 재발 신경망,그리고 더…
마지막으로
에 깊은 학습을 가지고 자신의 프로젝트
학계를 건너 뜁니다. 그냥 결과.
내부 내용 보기