2주차
페이지 정보
작성자 Ryangkyung 작성일15-08-16 17:21 조회1,500회 댓글0건본문
Bayes rule
conditional probability
X:random variable
P(Y = y | X = x) = P(Y = y, X = x)/P(X = x)
= P(Y = y)P(X = x| Y = y)/시그마y'P(Y = y')(X = x | Y = y')
x가 조건으로 주어졌을 떄 y의 확률
y가 조건으로 주어졌을 때 x의 확률로 바꿔서 말함
What can we do?
We can do Bayesian inference
Why is this so important?
Because we often do not know P(Y|X) but somehow know P(X|Y)
query variable
evidence variable
ex)
"Sensitivity of mammogram" is 80%(If you have cancer, the mammogram will show positive with probability 0.8)
P(X = positive | Y = yes) = 0.8, P(X = neg | Y = yes) = 0.2
"False positive of mammogram" is 0.1 (If you do not have cancer, the mammogram will still show positive with probability 0.1)
P(X = positive | Y = no) = 0.1, P(X = neg | Y = no) = 0.9
Prior probablilty of a 40-yr old woman having breast cancer is 0.004
P(Y = yes) = 0.004
P(y = 1 | x = 1) = P(y = 1)P(x = 1 | y = 1) / P(y = 1)P(x = 1|y = 1) + P(y = 0)P(x = 1|y = 0)
독립 사건 (independent events): 두 사건 A, B가 독립적일 경우 A, B의 결합 확률 (joint probability) 는 P(A∩B) = P(A)P(B)P(A∩B)=P(A)P(B)
상호 배타적 사건 (mutually exclusive events): 만약 두 사건 A, B 가 상호 배타적인 경우, 즉 A와 B가 동시에 일어날 수 없는 경우, P(A∩B)=0 이며, P(A∪B)=P(A)+P(B)
상호 배타적이지 않은 사건 (not mutually exclusive events): 만약 두 사건 A, B가 같이 일어날 수 있는 경우 P(A ∪ B) =P(A)+P(B)−P(A∩B) 입니다.
조건부확률 (conditional probability)
조건부확률은 B 사건이 일어나는 경우의 A 사건이 일어날 확률입니다.
P(A∣B)=P(A∩B) / P(B)
몬테 카를로 방법 (Monte Carlo method) 라고 부릅니다. 몬테 카를로 방법은 임의의 샘플링 (실험을 수행하는 것) 을 계속 반복하여 특정 함수의 값을 알아내는 방법을 의미합니다. 예를 들어, 우리가 동전의 앞면이 나올 정확한 확률은 모르고 있지만 동전을 계속해서 던지게 되면 동전의 앞면이 나올 정확한 확률에 점점 더 가깝게 알 수 있습니다.
먼저 기계학습은 데이터에서 의미있는 패턴을 찾아내는 알고리즘 을 의미하며, 이 알고리즘들은 정보 검색이나 데이터 마이닝에서 사용될 수도 있습니다.
정보 검색은 정보의 집합에서 원하는 정보를 뽑아내는 기술을 의미하며, 여러 정의가 있으나 데이터의 일부분 을 빠르게 찾아내는 기술을 의미합니다.
데이터 마이닝은 데이터 내부에 숨겨진 것을 찾아내는 기술을 의미합니다.
Bag-of-Words 모델은 텍스트를 단어의 집합으로 표현하는 것
순서와 문장 구조가 bag-of-words 표현에서 유지되지 않음을 확인할 수 있을 것입니다
python dictionary: Dictionary 는 key-value 형식을 가진 자료구조로, list나 tuple처럼 순차적인 구조를 가지는 것이 아니라 key 를 통해 value 를 저장하고 불러올 수 있습니다.
key 가져오기
for key in test_dict:
print(test_dict[key])
print(test_dict.keys())
특정 원소 있는지
print(1 in test_dict)
print('hello' in test_dict)
print('world' not in test_dict)
자연어 처리 규칙
1. 단어는 space로 나뉘어지며 모두 소문자로 치환되어야 합니다. Python의 .lower() 및 split() 함수를 사용할 수 있습니다.
2. 단어는 영어 알파벳 (a-z) 만 허용되며 나머지는 space로 치환되어야 합니다. 이 부분은 일반적으로 regular expression (정규식) 으로 작성됩니다. 작성이 어려울 수 있으므로, 이번에는 준비된 replace_non_alphabetic_chars_to_space 함수를 사용하면 됩니다.
3. 단어는 space 를 기준으로 잘라내어 만듭니다. Python의 split() 함수를 이용할 수 있습니다.
4. 단어는 한 글자 이상 (>=1)이어야 합니다. 단어의 길이를 체크하기 위해 len() 함수를 이용할 수 있습니다.
5. 단어 사전에 등록되는 단어의 순서는 관계 없지만, bag-of-words 내의 인덱스와 일치해야 합니다.
Naive Bays classifier
NB for Digits
conditional probability table
posterior probability: 사후 확률
likelihood: feature 값이 각각의 포인트에서 나올 확률이 무엇인가?
overfitting: 예를 들면 영이 나오는 경우
->smoothing: 실제로 봤던 것 보다 한 번씩 더 봤다고 하기( 둘 다 하나씩 더 더해준다)
sentiment analysis (정서 분석): 긍정 / 부정
emotion analysis (감정 분석): 기쁨/ 슬픔 등 등
댓글목록
등록된 댓글이 없습니다.