Download presentation
Presentation is loading. Please wait.
1
할 일의 우선순위를 매기기: 스팸(Spam) 분류 예
Machine learning system design 할 일의 우선순위를 매기기: 스팸(Spam) 분류 예 Machine Learning
2
스팸(spam) 분류기 구축하기 Deal of the week! Buy now! Hey Andrew,
From: To: Subject: Buy now! Deal of the week! Buy now! Rolex w4tchs - $100 Med1cine (any kind) - $50 Also low cost M0rgages available. From: Alfred Ng To: Subject: Christmas dates? Hey Andrew, Was talking to Mom about plans for Xmas. When do you get off work. Meet Dec 22? Alf
3
스팸(spam) 분류기 구축하기 감독(supervised) 학습 features of spam (1) or not spam (0). 특징 : 스팸/스팸아님을 나타내는 100 단어들을 선택한다. From: To: Subject: Buy now! Deal of the week! Buy now! 주의: 실제로는, 손으로 100 단어들을 선택하기 보다는, 훈련자료에서 가장 자주 나오는 단어들을 (10,000 ~ 50,000) 선택한다.
4
E.g. “honeypot” 프로젝트. 스팸(spam) 분류기 구축하기
낮은 오류를 갖게 하기 위해 당신의 시간을 어떻게 사용하는가? 많은 자료를 수집 E.g. “honeypot” 프로젝트. (이메일 해더로부터) 이메일 라우팅(routing) 정보에 기초한 정교한 특징을 개발. 메시지 내용에 대한 정교한 특징 개발, e.g. “discount” 와 “discounts” 를 같은 단어로 취급할 것인가? “deal” 과 “Dealer”는 어떻게 ? 구두점(punctuation)에 대한 특징은? 오타감지를 위한 정교한 특징을 개발 (e.g. m0rtgage, med1cine, w4tches.)
5
Machine learning system design
오류 분석 Machine Learning
6
추천 접근법 당신이 빨리 구현할 수 있는 간단한 알고리즘을 갖고 시작하시오. 그것을 구현하고, 상호-검증 자료에 대하여 시험하시오. 더 많은 자료 또는 더 많은 특징 등이 도움이 될 지를 알 수 있도록 학습커브를 그려보시오. 오류분석(Error analysis): 당신의 알고리즘이 오류를 생성한 (상호검증자료에서의) 예들을 수동으로 검토한다. 오류가 생성되는 어떤 유형의 예에서 어떤 체계적인 경향을 발견할 수 있는 지를 본다.
7
500 examples in cross validation set
오류분석(Error Analysis) 500 examples in cross validation set 알고리즘이 100 이메일을 오분류하였다. 수동으로 100 오류를 검토하고, 다음에 기초하여 분류한다: 어떤 유형의 이메일 인가? 당신은 어떤 단서(특징)가 분류기가 그들을 정확히 분류하는데 도움이 된다고 생각하는가? Pharma: Replica/fake: Steal passwords: Other: 의도적 철자 오기: (m0rgage, med1cine, etc.) 흔치 않은 이메일 라우팅(routing): 흔치 않은 (spamming) 구두점:
8
수치평가(numerical evaluation)의 중요성
discount/discounts/discounted/discounting 들을 같은 단어로 취급해야 하는가? “stemming” software (E.g. “Porter stemmer”)를 사용할 수 있다. universe/university. 오류 분석이 이들이 성능을 개선할 수 있다고 결정하는데 도움이 되지 않을 것이다. 유일한 해결법은 시도해보고 작동되는지 보는 것이다. 알고리즘의 stemming 사용과 무사용의 성능에 대한 수치검증 (e.g., cross validation error) 이 필요한다. Without stemming: With stemming: Distinguish upper vs. lower case (Mom/mom):
9
편향된(skewed) 클래스에 대한 오류 행렬
Machine learning system design 편향된(skewed) 클래스에 대한 오류 행렬 Machine Learning
10
Cancer classification example
로지스틱 회귀모델 을 훈련. ( if cancer, otherwise) 시험 자료에 대하여 당신은 1% 오류 (99% 정확한 진단)를 얻었다. 단지 환자의 0.50% 만 암을 갖고 있다. function y = predictCancer(x) y = 0; %ignore x! return
11
정확도(Precision)/재현율(Recall)
:우리가 감지하기를 원하는 흔치 않은 클래스가 존재 정확도 (우리가 이라고 예측한 모든 환자들 중에서, 어느 비율이 실제로 암을 갖고 있는가?) 재현율 (실제로 암을 갖고 있는 모든 환자들 중에서, 어느 비율로 암을 갖고 있다고 정확히 감지했는가?)
12
Trading off precision and recall
Machine learning system design Trading off precision and recall Machine Learning
13
no. of predicted positive
true positives 정확도와 재현율 상충관계 precision = no. of predicted positive Logistic regression: Predict 1 if Predict 0 if true positives recall = no. of actual positive 우리가 매우 확신할 경우에만 (cancer) 라고 예측하기를 원한다면. 1 0.5 Recall Precision 우리가 암의 경우를 놓치기를 피하고 싶다면 (avoid false negatives). More generally: Predict 1 if threshold.
14
precision/recall 값을 어떻게 비교하는가?
F1 Score (F score) precision/recall 값을 어떻게 비교하는가? Precision(P) Recall (R) Average F1 Score Algorithm 1 0.5 0.4 0.45 0.444 Algorithm 2 0.7 0.1 0.175 Algorithm 3 0.02 1.0 0.51 0.0392 Average: F1 Score:
15
Data for machine learning
Machine learning system design Data for machine learning Machine Learning
16
Designing a high accuracy learning system
Training set size (millions) Accuracy E.g. Classify between confusable words. {to, two, too}, {then, than} For breakfast I ate _____ eggs. Algorithms Perceptron (Logistic regression) Winnow Memory-based Naïve Bayes “It’s not who has the best algorithm that wins. It’s who has the most data.” [Banko and Brill, 2001]
17
예 : For breakfast I ate _____ eggs.
큰 자료 근거 특징 이 를 정확히 예측할 수 있을 만큼 충분한 정보를 가진다. 예 : For breakfast I ate _____ eggs. 반대 예: Predict housing price from only size (feet2) and no other features. 유용한 시험 : Given the input , can a human expert confidently predict ?
18
큰 자료 근거 Use a learning algorithm with many parameters (e.g. logistic regression/linear regression with many features; neural network with many hidden units). Use a very large training set (unlikely to overfit)
Similar presentations