2.1 확률과 통계
2.1.1 확률 기초
(1) 조건부 확률
(2) 결합확률
- 두 랜덤 변수가 서로 영향을 미치지 못하면 둘은 독립(independent)
- 독립인 두 랜덤 변수는 P(X,Y) = P(X)P(Y)
(3) 우도 함수 (likelyhood) :
(4) 사후 확률 : 사건 Y가 일어난 후 Y가 어디서 나왔을 지를 확률로 계산
(5) 베이스 정리
P(X,Y) = P(Y,X)
P(X)P(Y|X) = P(Y)P(X|Y)

2.1.2. 평균과 분산
표준편차 : 분산의 제곱근(루트)
공분산 : 랜덤 벡터를 구성하는 랜덤 변수간의 관계

2.1.3 확률 분포의 표현과 추정
정규분포, 세개의 모드를 가진 분포

2.2. 베이시언 분류기
우도는 부류가 주어진 조건하의 조건부 확률이므로 부류조건부 확률(class-conditional probability)이라고도 부른다.

최소 위험 베이시언 분류기(Minimum risk Bayesian classifier)
우도비(likelihood ratio) : p(x|w1)/o(x|w2)
M부류 최소 위험 베이시언 분류기

2.3 분별함수
최소 오류 베이시언 분류기, 최소 위험 베이시언 분류기

2.4 정규 분포에서 베이시언 분류기
(1) 사전 확률은 표현과 계산이 비교적 쉽다. 하지만 우도의 추정은 경우에 따라 쉬울 수도 있고 어려울 수도 있다.

*가우시언 분포(Gaussian distribution) : 정규분포

(2) 이 절의 목표

a. 2.30의 베이시언 분류기를 그대로 이용함

b. 우도 p(x | wi)가 정규 분포를 따르는 특수한 경우에 대해 분류기가 가지는 성질을 분석하는 것이 목적

c. 특히 두 부류의 영역을 나누는 결정 경계가 어떤 모양을 갖는지에 대한 분석


2.4.1 정규 분포와 분별 함수





2.5 베이시언 분류의 특성
실제 확률 분포를 안다고 가정하면 베이시언 분류기는 오류율 측면에서 최적
베이시언 분류기를 만들기 위해서는 사전 확률과 우도를 추정해야 한다.
- 나이브 베이시언 분류기 : 특징들이 모두 독립이라는 가정을 하고 차원의 저주를 피하는 방법
특징들이 독립이라는 가정은 매우 강한 가정이다. 실제 세계는 그렇지 않다.

2.6 기각 처리
판단하기 애매한 것은 기각 처리함

신고
Posted by 공놀이나하여보세

책 요약

(1) 스팸 필터링
A. 규칙 기반 분류기 : 메시지가 스팸이었는지 아니었는지를 가리키는 규칙들을 사람이 설계
- 문제 : 스패머가 규칙들을 모두 배워 필터 규칙을 피해가도록 명백한 행동을 그만 둠

처음이나 메시지를 받았을 때 사용자가 알려준 정보를 학습하는 프로그램

(2) 문서와 단어
- 문서 분류를 생각할 때 항목은 문서가 되고 특성은 문서 내 단어

(3) 분류기 훈련시키기
- 바르게 분류된 문서 예가 많을수록 분류기가 바르게 판단할 가능성이 높아진다.

(4) 확률 계산
- 각 분류별로 메일 메시지 출현 횟수를 알았으니 다음 단계에는 이 숫자들을 확률로 변환
- 어떤 단어가 특정 분류에 있을 확률은 해당 분류에 있는 문서에 그 단어가 나타난 횟수를 그 분류에 있는 전체 문서 개수로 나눈 값으로 계산

A. 조건부 확률 : Pr(A | B) 주어진 B에 대한 A의 확률
B. 가장 확률 : 0.5로 시작하여 학습 데이터에서 적게 학습 되는 데이터들의 오분류를 막음
C. 다른 사람이 이미 학습시킨 스팸 필터에서 얻은 확률을 가장 확률로 사용할 수 있다.

(5) 기본 분류기
- 특정 단어를 포함하고 있는 분류로부터 문서 확률을 얻었으므로 전체 문서가 주어진 분류에 속할 확률을 계산하기 위해 개별 단어 확률을 결합할 방법 필요

A. 나이브 베이지안 분류기
- 나이브 : 결합하는 확률이 서로 독립적이라는 가정
- 주어진 분류에 전체 문서가 속할 확률을 계산
- 베이스 정리에 대한 간략한 소개
Pr(A | B) = Pr(B | A) * Pr(A) | P(B)
- 분류 선택 : 새로운 항목이 어떤 분류에 속할지를 결정
스팸 필터의 경우 좋은 메일 메시지가 스팸으로 분류되지 않는 것이 모든 스팸 메시지를 잡아내는 것보다 더 중요
스팸 필터의 경우 Bad로 필터링 되는 경계값을 보통 3으로 설정해서 Good으로 분류될 확률에 비해 3배 더 높도록 정한다.

(6) 피셔 방식
- 주어진 문서 내의 각 특성이 특정 분류에 있을 확률을 계산
- 확률들을 결합하고 그 확률 집합이 무작위 집합에 비해 더 가망성이 높은지 검사
- 서로 비교할 수 있는 각 분류별 확률을 리턴
A. 특성별 분류 확률
한 문서에 특정 특성이 주어졌을 때 그 문서가 특정 분류에 속할 가능성을 먼저 계산
Pr(Category | Feature) - 이 분류 내 해당 특성을 가진 문서 수 / 이 특성을 가진 전체 문서 수


(11) 다른 기법들

4장의 신경망 사용 가능

9장의 SVM사용 가능


정리

* 베이지안 분류법

1. Bad문서들 중에 Casino라는 단어가 나타날 확률과 Bad문서들 중 Python이 나올 확률을 계산

2. Casino라는 단어가 나왔을 때 문서가 Bad일 확률을 계산하여 판단

장점 :

단점 :


* Fisher Method

1. Casino라는 단어가 나온 문서를 먼저 추출

2. 이 문서들 중 Bad분류로 된 확률을 계산

3. Casino라는 단어가 나왔을 때 2번의 확률로 판단

장점 :

단점 :


ETC.

메일을 문서로 생각하고 문서 중 스팸을 걸러냄
단어를 이용해 스팸을 걸러냄
Supervised Learning 임
서버에서 별도로 filtering할 수도 있고 처음부터 금지어가 있을 수 있다.
scikit library 찾아보기

신고
Posted by 공놀이나하여보세

(1) 통계적 최적화(Stochastic optimization)
여러 변수들이 있고 다양한 해법이 있는 문제나 이 변수들의 조합에 따라 크게 변하는 산출물을 가진 문제에 사용됨
(2) 해답 표현하기
가능한 해답 표현 방식을 먼저 결정해야함
(3) 비용 함수
최적화를 사용해서 문제를 푸는 핵심 열쇠이며 동시에 선택하기 가장 어려운 존재
한 해답이 얼마나 나쁜지를 표현하는 값을 리턴해야 한다.
예) 몇가지 지표
가격, 여행 시간, 대기 시간, 출발 시간, 자동차 렌탈 기간
(4) 무작위 검색
좋은 최적화 기법은 아니지만 모든 알고리즘이 하려는 점을 정확히 이해하는 데 좋으며, 다른 알고리즘이 잘 동작하는지 볼 수 있는 기분선으로 공헌한다.
(5) 언덕 등반
무작위 해답으로 시작해서 더 좋은 해답을 찾아 이웃 해답들을 살펴보는 기법
전역최소점 : 어느 곳에서나 최고인 해답
무작위 재시작 언덕 등반 (random-restart hill climbing) : 무작위로 시작점을 몇 개 선택한 후 무작위로 선택한 시작점 중 하나가 전역 최소점에 근접할 것이란 희망을 가지고 언덕등반 알고리즘을 수차례 수행시킨다.
(6) 시뮬레이티드 어닐링(Simulated Annealing)
어닐링 : 합금을 가열한 후 천천히 냉각하는 과정. 원자는 주변을 뛰어다니다 점차 낮은 에너지 준위로 정착하기 때문에, 원자들은 가장 낮은 에너지 배치를 찾을 수 있다.
(7) 유전자 알고리즘(genetic algorithm)
개체군 : population이란 무작위 해답들을 생성하면서 시작된다.
최적화 단계마다 전체 개체군별 비용 함수가 계산되어 해답의 순위 목록을 만든다.
현재의 개체군에 대한 최상위 해답을 새로운 개체군에 추가한다(엘리트 선발(elitism)). 이 새로운 개체군의 나머지는 최고 해법을 수정하여 만든 완전히 새로운 해법을 구성한다.
해답을 변경하는 두가지 방법
A. 돌연변이(mutation) : 소량의 간단하고 무작위적인 변화를 기존 해답에 적용시키는 방법
B. 교배(crossover), 번식(breeding) : 최적 해답 두 개를 골라 어떤 방식으로 그 둘을 결합하는 것
(8) 비행편 검색 실제
KAYAK 카약 사이트의 API 이용
minidom 패키지
(9) 선호도 최적화 - 첫번째로 선택한 기숙사가 겹쳤을 때 누구를 선택하는가?
제한된 자원을 그에 대해 선호를 표현한 사람들에게 분배하여 가능한 모두 행복하게 하는 방법
- 학생 기숙사 최적화 : 학생들을 그들의 첫 번째와 두 번째 선택을 반영해서 기숙사에 배치하는 문제
모든 학생들이 적합하도록 해답을 표현하는 방법을 찾는 것
(10) 네트워크 시각화 ( 페이스북 앱에서 한번 해보고 싶음)
SNS사이트 내 각 멤버들은 연결된 친구들을 가지며 이를 모으면 사람 네트워크가 만들어진다. 이런 네트워크를 시작화하여 구조를 결정해서 이 네트워크에서 연결자 역할을 하는 사람을 찾는다.
(11) 다른 가능성들
사람의 기술 조합을 고려하여 그룹 프로젝트 안에 작업을 할당하는 방법
키워드로 태깅된 웹 사이트 목록에서 사용자가 제공한 키워드들을 가진 최적의 웹 사이트 그룹을 찾는 것

신고
Posted by 공놀이나하여보세