Machine Learning

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(AB) = 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 (감정 분석): 기쁨/ 슬픔 등 등 

 

댓글목록

등록된 댓글이 없습니다.