Presentation is loading. Please wait.

Presentation is loading. Please wait.

분류 (Classification) 2014년 가을학기 강원대학교 컴퓨터과학전공 문양세.

Similar presentations


Presentation on theme: "분류 (Classification) 2014년 가을학기 강원대학교 컴퓨터과학전공 문양세."— Presentation transcript:

1 분류 (Classification) 2014년 가을학기 강원대학교 컴퓨터과학전공 문양세

2 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers)
강의 내용 Classification 분류 정의와 적용사례 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers) 인접 이웃 분류기 (Nearest Neighbor Classifiers) 베이지안 분류기 (Bayesian Classifiers) 인공 신경망 (Artificial Neural Networks) 지지도 벡터 머신 (Support Vector Machines)

3 분류 (Classification) 주어진 훈련 집합(training set, 레코드의 집합)에 대해서,
각 레코드는 속성들의 집합으로 구성되어 있으며, 이중 하나는 클래스이다. 속성들의 값을 입력으로, 클래스를 출력으로 하는 함수(모델)을 찾는 작업이 분류이다. 분류의 목표는 클래스가 결정되지 않은 레코드에 대해서, 가능한 정확하게 클래스를 부여하는 것이다. 시험 집합(test set)은 찾아낸 모델에 대한 정확도를 결정하는 역할을 한다.

4 척추동물 데이터 집합 Classification 클래스 속성 (타겟 속성) 입력 속성

5 분류 작업의 도식화 Classification

6 분류 모델의 평가 Classification 클래스 문제를 위한 혼동 행렬 (confusion matrix) 정확도와 오류율

7 분류 작업의 예제 (1/2) 종양 세포(tumor cells)가 양성인지 음성(악성)인지를 판별한다.
Classification 종양 세포(tumor cells)가 양성인지 음성(악성)인지를 판별한다. 신용카드 트랜잭션이 정상인지 사기인지 구분한다.

8 분류 작업의 예제 (2/2) Classification 단백질(protein)의 2차 구조가 alpha-helix인지, beta-sheet인지, random coil인지 분류한다. 신문 기사를 경제, 날씨, 연예, 스포츠 등으로 구분한다.

9 분류 기술의 종류 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-based Classifiers)
Classification 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-based Classifiers) 인접 이웃 분류기 (Nearest Neighbor Classifiers) 베이지안 분류기 (Bayesian Classifiers) 인공 신경망 (Artificial Neural Networks) 지지도 벡터 머신 (SVM: Support Vector Machines)

10 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers)
강의 내용 Classification 분류 정의와 적용사례 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers) 인접 이웃 분류기 (Nearest Neighbor Classifiers) 베이지안 분류기 (Bayesian Classifiers) 인공 신경망 (Artificial Neural Networks) 지지도 벡터 머신 (Support Vector Machines)

11 의사결정 트리의 예제 Classification

12 의사결정 트리의 다른 예제 Classification

13 의사결정 트리의 분류 작업 Classification

14 모델을 시험 데이터에 적용 (1/6) Classification

15 모델을 시험 데이터에 적용 (2/6) Classification

16 모델을 시험 데이터에 적용 (3/6) Classification

17 모델을 시험 데이터에 적용 (4/6) Classification

18 모델을 시험 데이터에 적용 (5/6) Classification

19 모델을 시험 데이터에 적용 (6/6) Classification

20 의사결정 트리의 분류 작업 Classification

21 의사결정 트리 구축 방법 헌트 알고리즘 (Hunt Algorithm)  현존하는 대부분 알고리즘의 기초 CART
Classification 헌트 알고리즘 (Hunt Algorithm)  현존하는 대부분 알고리즘의 기초 CART ID3, C4.5 SLIQ, SPRINT ...

22 헌트 알고리즘의 일반적 구조 Dt를 노드 t와 연관된 훈련 레코드 집합이라 하자. 일반적 프로시져
Classification Dt를 노드 t와 연관된 훈련 레코드 집합이라 하자. 일반적 프로시져 Dt의 모든 레코드가 동일한 클래스 yt에 속한다면 노드 t는 yt로 레이블된 단말 노드가 된다. Dt가 공집합이라면, 노드 t는 디폴트 클래스(= yd)로 레이블 된다. Dt가 두 개 이상의 클래스를 포함한다면, Dt를 부분집합들로 분할하기 위하여 속성 시험(attribute test)을 사용한다. 분할된 부분집합들에 대해서 상기 과정을 재귀적(recursively)으로 적용한다.

23 헌트 알고리즘 Classification

24 트리 구축(귀납) – Tree Induction
Classification 탐욕적 접근법 (Greedy Strategy) 특정 기준(certain criterion)에 최적인 속성 시험(attribute test)에 기반하여 훈련 레코드들을 분할한다. 쉽게 말해, 특정 기준에 가장 부하는 속성을 분할 기준으로 선택하는 것이다. [주요 이슈] 레코드들을 어떻게 분할할 것인가? 속성 시험 조건(attribute test condition)을 어떻게 지정할 것인가? 최선의 분할(best split)은 어떻게 결정할 것인가? 분할을 언제 멈출 것인가?

25 속성 시험 조건을 어떻게 표현하나? 속성의 종류에 따라 다름 분할 개수에 따라 다름 명목형 (Nominal)
Classification 속성의 종류에 따라 다름 명목형 (Nominal) 서열형 (Ordinal) 연속형 (Continuous) 분할 개수에 따라 다름 이진 분할 (Binary split) 다중 분할 (Multi-way split)

26 명목형 속성에 기반한 분할 다중 분할: 각기 다른 속성 값을 사용하여 가능한 많은 파티션으로 분할한다.
Classification 다중 분할: 각기 다른 속성 값을 사용하여 가능한 많은 파티션으로 분할한다. 이진 분할: 속성 값을 두 개의 부분집합으로 분할한다. (최적 파티셔닝이 필요함)

27 서열형 속성에 기반한 분할 다중 분할: 각기 다른 속성 값을 사용하여 가능한 많은 파티션으로 분할한다.
Classification 다중 분할: 각기 다른 속성 값을 사용하여 가능한 많은 파티션으로 분할한다. 이진 분할: 속성 값을 두 개의 부분집합으로 분할한다. (최적 파티셔닝이 필요함) 그런데… 오른쪽 분할은 어떤가?

28 연속형 속성에 기반한 분할 (1/2) 연속형 속성을 처리하는 두 가지 방법
Classification 연속형 속성을 처리하는 두 가지 방법 서열형 속성이 되도록 이산화(discretization)를 적용함 정적 방법: 시작 시점에 이산화를 한번만 적용한다. 동적 방법: 분할이 필요할 때 마다, 동일 너비, 동일 빈도, 클러스터링 등으로 이산화를 적용한다. 이진 결정(binary decision): (A < v) or (A  v) 모든 가능한 분할을 고려하고, 이중 최선의 분할을 찾는다. 아주 많은 계산을 필요로 한다.

29 연속형 속성에 기반한 분할 (2/2) Classification

30 트리 구축(귀납) – Tree Induction
Classification 탐욕적 접근법 (Greedy Strategy) 특정 기준(certain criterion)에 최적인 속성 시험(attribute test)에 기반하여 훈련 레코드들을 분할한다. 쉽게 말해, 특정 기준에 가장 부하는 속성을 분할 기준으로 선택하는 것이다. [주요 이슈] 레코드들을 어떻게 분할할 것인가? 속성 시험 조건(attribute test condition)을 어떻게 지정할 것인가? 최선의 분할(best split)은 어떻게 결정할 것인가? 분할을 언제 멈출 것인가?

31 최선의 분할을 어떻게 할 것인가? (1/3) Classification 첫 번째의 “Own Car”를 사용하는 경우보다 두 번째의 “Car Type”을 사용하는 경우가 보다 순도(purity)가 높은 분할이다! 분할을 위해서 불순도(impurity) 혹은 불순 척도(impurity measure) 개념을 도입하고, 이 불순도를 낮추는 방향으로 분할을 시도한다.

32 최선의 분할을 어떻게 할 것인가? (2/3) 탐욕적 접근법
Classification 탐욕적 접근법 각 노드는 동종 클래스(homogeneous class) 분포가 되도록 분할한다. 노드의 불순도를 측정할 필요가 있다.

33 최선의 분할을 어떻게 할 것인가? (3/3) 노드에서 클래스 비율을 나타내는 척도 p(i|t) 오른 예에서,
Classification 노드에서 클래스 비율을 나타내는 척도 p(i|t) 노드 t에서 클래스 i를 갖는 레코드들의 비율(분수)을 나타낸다. 두 클래스 0, 1로 구성된 경우라면, p(1|t) = 1 – p(0|t)가 성립한다. 간략히 pi로 나타내기도 한다. 오른 예에서, 분할 전 클래스 분포는 (0.5,0.5)이고 Own Car로 분할 시 (0.6,0.4)와 (0.4,0.6)이며, Car Type으로 분할 시 (0.25,0.75), (1,0), (1/8,7/8)이다.  결국, 각 노드에서 클래스 분포가 편중(skewed)이 되도록 분할하는 것이 좋은 분할방법이다.

34 불순 척도(Impurity Measure)의 종류 (1/2)
Classification 앗! 이게 뭐지? 결국, 클래스 분류가 잘 된 경우(특정 클래스에 편중된 경우)에는 불순도가 작아지고, 잘되지 않은 경우(클래스가 고르게 분포된 경우)에는 불순도가 커진다.  다음 장의 그래프 참조

35 불순 척도(Impurity Measure)의 종류 (2/2)
Classification 특정 클래스의 비율(p)이 아주 작거나 높을 경우엔 불순도가 낮아지나, (이진 분류에서) 0.5에 가까운 경우에는 불순도가 높아진다.

36 정보 이득 (Information Gain) (1/2)
Classification 시험 조건이 얼마나 잘 수행되었는가?  정보 이득 “분할 전 부모 노드의 불순도”와 “분할 후 자식노드들의 불순도”의 차이 정보 이득을 최대화 하는 방향으로 노드를 분할한다.

37 정보 이득 (Information Gain) (2/2)
Classification

38 트리 구축(귀납) – Tree Induction
Classification 탐욕적 접근법 (Greedy Strategy) 특정 기준(certain criterion)에 최적인 속성 시험(attribute test)에 기반하여 훈련 레코드들을 분할한다. 쉽게 말해, 특정 기준에 가장 부하는 속성을 분할 기준으로 선택하는 것이다. [주요 이슈] 레코드들을 어떻게 분할할 것인가? 속성 시험 조건(attribute test condition)을 어떻게 지정할 것인가? 최선의 분할(best split)은 어떻게 결정할 것인가?  GINI 분할을 언제 멈출 것인가?

39 Gini Index 정의 Classification

40 Gini 계산 예제 Classification

41 Gini 기반의 분할 Classification

42 Gini – 이진 속성의 분할 Classification

43 Gini – 명목형 속성의 분할 Classification

44 Gini – 연속형 속성의 분할 (1/2) Classification

45 Gini – 연속형 속성의 분할 (2/2) Classification

46 트리 구축(귀납) – Tree Induction
Classification 탐욕적 접근법 (Greedy Strategy) 특정 기준(certain criterion)에 최적인 속성 시험(attribute test)에 기반하여 훈련 레코드들을 분할한다. 쉽게 말해, 특정 기준에 가장 부하는 속성을 분할 기준으로 선택하는 것이다. [주요 이슈] 레코드들을 어떻게 분할할 것인가? 속성 시험 조건(attribute test condition)을 어떻게 지정할 것인가? 최선의 분할(best split)은 어떻게 결정할 것인가?  Entropy 분할을 언제 멈출 것인가?

47 Entropy 정의 Classification

48 Entropy 계산의 예제 Classification

49 Entropy 기반 분할 Classification

50 트리 구축(귀납) – Tree Induction
Classification 탐욕적 접근법 (Greedy Strategy) 특정 기준(certain criterion)에 최적인 속성 시험(attribute test)에 기반하여 훈련 레코드들을 분할한다. 쉽게 말해, 특정 기준에 가장 부하는 속성을 분할 기준으로 선택하는 것이다. [주요 이슈] 레코드들을 어떻게 분할할 것인가? 속성 시험 조건(attribute test condition)을 어떻게 지정할 것인가? 최선의 분할(best split)은 어떻게 결정할 것인가?  분류 오류 (Misclassification Error) 분할을 언제 멈출 것인가?

51 분류 에러(Classification Error) 정의

52 분류 에러의 예제 Classification

53 트리 구축(귀납) – Tree Induction
Classification 탐욕적 접근법 (Greedy Strategy) 특정 기준(certain criterion)에 최적인 속성 시험(attribute test)에 기반하여 훈련 레코드들을 분할한다. 쉽게 말해, 특정 기준에 가장 부하는 속성을 분할 기준으로 선택하는 것이다. [주요 이슈] 레코드들을 어떻게 분할할 것인가? 속성 시험 조건(attribute test condition)을 어떻게 지정할 것인가? 최선의 분할(best split)은 어떻게 결정할 것인가? 분할을 언제 멈출 것인가?

54 트리 구축의 중단 시점? 노드에 속하는 모든 레코드들이 동일한 클래스를 갖는다면, 더 이상 분할하지 않고 멈춘다.
Classification 노드에 속하는 모든 레코드들이 동일한 클래스를 갖는다면, 더 이상 분할하지 않고 멈춘다. 노드에 속하는 모든 레코드들이 동일한(유사한) 속성 값을 갖는다면, 더 이상 분할하지 않고 멈춘다. 노드의 레코드 수가 임계치 이하로 떨어지면 분할을 멈춘다. 미리 멈춤(early termination)?

55 의사결정 트리 기반 분류의 장점 Classification

56 의사기반 트리 분류의 예제: C4.5 Classification

57 의사결정 트리의 주요 이슈들 Overfitting (과잉적합) Missing Values (누락 값)
Classification Overfitting (과잉적합) (일반적으로) 트리가 너무 크고 자세하게 형성되어, 오히려 정확도가 떨어지는 문제 훈련집합에 과잉적합하게 생성되다 보니, 테스트 집합이나 실제 분류되지 않은 데이터에 대해서는 큰 에러가 발생하는 문제 Missing Values (누락 값) 누락 값이 있는 경우, 부정확한 트리가 구축됨 Costs of Classification (분류 비용) 대용량 데이터 집합, 고차원 데이터, 복잡한 데이터의 경우, 분류에 많은 시간이 걸림 정확도 높은 의사결정 트리를 생성하기 위해서 많은 비용이 요구됨

58 Overfitting의 예제 Classification 가우시안 분포(o)와 균일 분포(+)로 생성된 데이터 집합에서 일부는 훈련집합으로 선택하고, 일부는 시험 집합으로 선택하였다.

59 Overfitting의 예제 공간(속성 값)을 계속 분할할 수록 훈련집합에 대한 분류 에러는 줄어든다.
Classification 공간(속성 값)을 계속 분할할 수록 훈련집합에 대한 분류 에러는 줄어든다. 반면에, 트리가 너무 세분화 되어 분할되었기 때문에, 시험 집합을 적용했을 경우는 특정 시점부터는 오히려 분류 에러가 증가한다.

60 노이즈에 의한 Overfitting 예제 Classification

61 Overfitting의 고찰 Overfitting 은 의사결정 트리가 불필요하게 복잡하게 하는 결과를 낳는다.
Classification Overfitting 은 의사결정 트리가 불필요하게 복잡하게 하는 결과를 낳는다. 훈련 오류(training error)의 최소화가 가장 좋은 의사결정 트리를 생성하지는 않는다.  어떻게 하면 Overfitting을 해결할 것인가?

62 Overfitting 문제의 해결 (1/2) Classification Pre-Pruning (Early Stopping Rule): 트리를 생성하는 중간 과정에서 가지치기 수행

63 Overfitting 문제의 해결 (2/2) Classification Post-Pruning (Early Stopping Rule): 완전한 트리를 생성한 후에 가지치기 수행 Overfitting 등의 추가적 기술적 이슈에 대한 내용은 생략

64 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers)
강의 내용 Classification 분류 정의와 적용사례 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers) 인접 이웃 분류기 (Nearest Neighbor Classifiers) 베이지안 분류기 (Bayesian Classifiers) 인공 신경망 (Artificial Neural Networks) 지지도 벡터 머신 (Support Vector Machines)

65 규칙기반 분류기 (Rule-Based Classifier)
Classification

66 규칙기반 분류기 예제 Classification

67 규칙기반 분류기의 적용 Classification

68 규칙 적용범위(Coverage)와 정확도(Accuracy)
Classification

69 규칙기반 분류기의 동작 방법 Classification

70 규칙기반 분류기의 (바람직한) 특징 Classification 상호 배타적 규칙 (Mutually exclusive rules): 각 레코드는 하나의 규칙에만 지배를 받아야 한다. 포괄적 규칙 (Exhaustive rules): 분류기의 규칙은 모든 가능한 레코드에 적용될 수 있어야 한다.

71 의사결정 트리  규칙 생성 Classification

72 (생성된) 규칙의 단순화 Classification

73 규칙 단순화에 의한 효과 Classification

74 순서화된 규칙 집합 (Ordered Rule Set)
Classification

75 분류 규칙의 생성 방법 Classification

76 직접 방법: 순차적 커버링(Sequential Covering)
Classification

77 순차적 커버링 예제 Classification

78 간접 방법: 의사결정 트리 등 사용 Classification

79 규칙기반 분류기의 장점 Classification

80 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers)
강의 내용 Classification 분류 정의와 적용사례 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers) 인접 이웃 분류기 (Nearest Neighbor Classifiers) 베이지안 분류기 (Bayesian Classifiers) 인공 신경망 (Artificial Neural Networks) 지지도 벡터 머신 (Support Vector Machines)

81 인스턴스 기반 분류기 (1/2) Classification

82 인스턴스 기반 분류기 (2/2) Classification

83 인접 이웃 분류기 (Nearest Neighbor Classifiers)
Classification

84 인접 이웃 분류기 개념 Classification

85 인접 이웃 분류기 정의 Classification

86 1 인접 이웃 (1-Nearest Neighbor)
Classification

87 인접 이웃 분류기 이슈 (1/4) Classification

88 인접 이웃 분류기 이슈 (2/4) Classification

89 인접 이웃 분류기 이슈 (3/4) Classification

90 인접 이웃 분류기 이슈 (4/4) Classification

91 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers)
강의 내용 Classification 분류 정의와 적용사례 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers) 인접 이웃 분류기 (Nearest Neighbor Classifiers) 베이지안 분류기 (Bayesian Classifiers) 인공 신경망 (Artificial Neural Networks) 지지도 벡터 머신 (Support Vector Machines)

92 베이지안 분류기 (Bayesian Classifiers)
Classification

93 베이스 정리의 예제 Classification

94 베이지안 분류기 개념 (1/2) Classification

95 베이지안 분류기 개념 (2/2) Classification

96 순수 베이지안 분류기 (Naïve Bayes Classifier)
Classification

97 훈련 집합에서 확률 구하기 (1/3) Classification

98 훈련 집합에서 확률 구하기 (2/3) Classification

99 훈련 집합에서 확률 구하기 (3/3) Classification

100 순수 베이지안 분류기 예제 (1/2) Classification

101 순수 베이지안 분류기 예제 (2/2) Classification

102 베이지안 분류기 요약 Classification

103 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers)
강의 내용 Classification 분류 정의와 적용사례 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers) 인접 이웃 분류기 (Nearest Neighbor Classifiers) 베이지안 분류기 (Bayesian Classifiers) 인공 신경망 (Artificial Neural Networks) 지지도 벡터 머신 (Support Vector Machines)

104 인공 신경망 개념 (1/3) Classification

105 인공 신경망 개념 (2/3) Classification

106 인공 신경망 개념 (3/3) Classification

107 인공 신경망의 일반적 구조 Classification

108 인공 신경망의 학습 알고리즘 Classification

109 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers)
강의 내용 Classification 분류 정의와 적용사례 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers) 인접 이웃 분류기 (Nearest Neighbor Classifiers) 베이지안 분류기 (Bayesian Classifiers) 인공 신경망 (Artificial Neural Networks) 지지도 벡터 머신 (Support Vector Machines)

110 SVM (Support Vector Machines) (1/7)
Classification

111 SVM (Support Vector Machines) (2/7)
Classification

112 SVM (Support Vector Machines) (3/7)
Classification

113 SVM (Support Vector Machines) (4/7)
Classification

114 SVM (Support Vector Machines) (5/7)
Classification

115 SVM (Support Vector Machines) (6/7)
Classification

116 SVM (Support Vector Machines) (7/7)
Classification

117 비선형 SVM (Nonlinear SVM) (1/2)
Classification

118 비선형 SVM (Nonlinear SVM) (2/2)
Classification

119 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers)
강의 내용 Classification 분류 정의와 적용사례 의사결정 트리 (Decision Trees) 규칙기반 분류기 (Rule-Based Classifiers) 인접 이웃 분류기 (Nearest Neighbor Classifiers) 베이지안 분류기 (Bayesian Classifiers) 인공 신경망 (Artificial Neural Networks) 지지도 벡터 머신 (Support Vector Machines)


Download ppt "분류 (Classification) 2014년 가을학기 강원대학교 컴퓨터과학전공 문양세."

Similar presentations


Ads by Google