SlideShare une entreprise Scribd logo
1  sur  63
Télécharger pour lire hors ligne
Kevin Murphy의
Machine Learning.
Intro. + Chapter 01
조 용진
dydwls121200@gmail.com
Intro. 책에서 원하는 접근 방법
1. 데이터를 확률론적 접근을 중요시하고 이 책의 전부이다.
2. 데이터를 정보시스템에 활용하기 위해 어떻게 정리할 것인가?
3. 확률론적 모델링(설계)을 먼저 고려한다.
4. 데이터를 어떻게 모은다거나, 데이터를 어떻게 출력한다거나, 어떤
라이브러리를 사용한다거나, 코드에 ㅋ 자도 안들어간다. 정말 순수한 수학이다.
5. 매트랩과 수학공식 그리고 책의 설명, 그리고 책에서 언급한 참고문헌 4개를
같이 보기를 권장한다. (그래도 정신건강이 피폐해지는건 여전하다. (몰라서
피폐..))
Intro. 책을 읽기 위한 독자의 스펙
선형대수학, 벡터, 확률과 통계 그리고 각 공식과 기호의 영문 표기를 알아야한다.
통계학적 지식은 정말 … 뭔 기호 좀 적당히 썻으면 좋겠다.
하 .. 그냥 하소연이다. 공부해야지… 머피상은 잘못이 없어...
주옥 같은 베이비 … ㅡ ㅡ …
ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
Summary about this book
Kevin Murphy’s Machin Learning
1. 확률 모형의 다양성을 설명하며,
2. 다양한 범위의 데이터와 여러 종류의 임무수행을 위해 적절하게 적용
3. 1, 2 와 같은 확률 모형을 배우고 사용하는 다양한 알고리즘을 설명한다.
4. 이 책의 목표는 확률론적 모델링과 추정의 렌즈를 통한 통일된 관점을
표현해내는 것
1. 통계학과 머신러닝의 용어
같은 의미이지만 단어가 다릅니다.
이처럼 통계학과 머신러닝은
상당히 닮은 점이 많습니다.
(아무래도 이 책은 머신러닝의 접근을
통계학적, 확률적 접근 경향이 강하므로
통계학과의 비교를 하는것임)
1.1 머신러닝
정의 : 머신러닝은 데이터 분석의 자동화된 방식을 말하며, 데이터의 패턴을
자동으로 인지할 수 있는 방식, 입력된 데이터를 이용하여 최적로의 답변을
출력하는 시스템이다.
*머신러닝과 데이터마이닝에 있어 데이터의 양(Volume)에 대한 이야기:
머신러닝이나 데이터마이닝에 있어 꼭! 커다란 볼륨의 데이터가 필요한 것은 아니다. 작은 데이터에서
도출된 결과는 커다란 데이터에서 도출될 결과에는 오차가 있지만, 목적으로 하는 정보에 대한 도출은
변하지 않는다. 그러므로 일반화를 도출하는 핵심적인 통계학적 이슈는 빅 데이터 시대라 하더라도 작은
데이터로써 도출된 결과는 앞으로의 빅 데이터 시대의 도출될 의미와 상당한 관계가 있다.(즉, 굳이 큰
데이터로만 실험해야 하는건 아니다.)
1.1.1 머신러닝(접근법)의 종류
1. 예측(Predictive) 과 지시 학습/감독 학습(Supervised Learning)
2. 기술/서술(Descriptive)과 비지시 학습/무감독 학습(Unsupervised Learning)
3. 강화 학습(Reinforcement Learning)
명확한 Input과 Output이 존재하며 분류(Classification)와 예측(Regression)이 있다. 훈련용 데이터에 알고리즘을 적용하여
함수를 추론하고 그 추론된 함수를 통해 컴퓨터가 알아서 답을 찾도록 만드는 것. 출력 값은 한정된(제시된) 집합에서
찾는다.
여기서도 물론 분류를 하지만 컴퓨터에게 답을 알려줄 수 없다.(답이 있는게 아니라, 이 출력을 내보내면 최적이겠지? 와
같은 흥미 있는 결과(Interesting Patterns)를 찾는것. 입력값이 어떤 군집(Cluster)에 속하는지 분류를 한다. 전문가에 의한
사전 데이터 분류 작업이 필요하지 않다.
보편적으로 사용되지 않지만 이것은 임시의 보상 또는 벌 신호(Signal)가 주어질 때 동작이나 행동을 배우는데 유용하다.
이 책에서는 강화학습에 대한 내용은 다루지 않는다.
1.1.1. Supervised Learning VS Unsupervised Learning
D : 학습 데이터,
xi : 입력 데이터
yi : 출력 데이터
N : 데이터의 개 수
i : 번째
예측(Predictive)과 지도 학습(Supervised Learning) 기술/서술(Descriptive)과 비지도 학습(Unsupervised Learning)
목표 : 주어진 입출력 쌍, 학습 데이터에서 입력 X로 부터 출력
Y의 매핑을 배우는것
목표 : 주어진 입력 쌍, 학습 데이터에서 '흥미 있는 결과
(Interesting Patterns)'를 찾는 것. 이를 간혹 지식 발견(Knowledge
Discovery) 이라 한다.
D : 학습 데이터,
xi : 입력 데이터
N : 데이터의 개 수
i : 번째
- xi는 숫자의 D차원 벡터라 한다. xi를 특징(Features), 속성
(Attribut e), 공변량(Covariates)이라 한다.
- xi는 이미지, 메시지, 시계열, 분자, 형상 복잡한 구조를 갖는
객체일 수 도 있다.
- yi는 한정된 집합에서 범주(Categorical)형 변수나 명목
(Nominal) 변수
- yi가 범주형일 때 문제는 분류(Classification) 또는 패턴 인식
(Pattern Recognifition)
- yi가 실수 값일 때 문제는 회귀(Regression)라고 하며, 이 때
자연적 순서를 갖는 레이블 공간은 회귀 분석(Ordinal Regress -
ion)이라 한다.
- xi가 어떤 군집(Cluster)에 속하는지 분류함
- 전문가에 의한 사전 데이터 분류(정제) 작업이 필요하지 않음
- 지식발견, 흥미있는 결과 찾기는 패턴의 종류를 말하는 것이
아니기 때문에 완벽하게 정리가 된 문제는 아니며, 사용에
대한 에러 측정이 없다.
1.2 지도 학습 Supervised Learning
1. 분류(Classification)
2. 회귀(Regression)
실제로 머신 러닝에서 가장 넓게 사용되는 지도 학습. 먼저 가르친 다음에야 시스템을 이용한다는 모델.
지도 학습 종류
1.2.1 분류 Classfication
목적 :
클래스*의 숫자인 C**를 가진 y∊{1,2,3,4, …….. , C} 인 곳에서 입력 x 로 부터 출력 y를 매핑하는 것을 배운다.
구분 :
(C = 2) 이항 분류(Binary Classification) 또는 이항 레이블 분류
조건: yi ∊ {0,1} | {N,Y} | {F,T}
(C > 2) 다중클래스 분류(Multiclass Classification) 또는 다중 클래스 레이블 분류(Multi-label Classification)
조건: yi ∊ {1,2,3,4, …….. , C}
필요 작업 :
근사화(Function Approximation) : 정확한 매핑을 알 수 없기 때문에 실시함
y = f(x) -> ㅇ ^ 표시는 가장 목표에 가까운 값(최대값)
다중 레이블 분류는 이항클래스 레이블와 연관해서 다중 레이블을 예상하는 것으로는 최적의 관점이다.( 흔히 Multiple Output Model
이라 부름). '분류'라는 용어를 사용할 때 그 외에 별다른 언급이 없다면 단일 출력을 가진 다중 클래스 분류(Multiclass Classfication)를
의미함. '분류'는 정확한 매핑을 할 수 없을 때가 빈번한대 정확한 매핑을 할 수 없기 때문에 근사화를 한다.
*클래스와 **C: 치역y 집합인 Y 원소의 개수를 C라 한다. 그리고 Y원소를 클래스라고 한다.
***레이블 : 치역의 값 0 ,1,2,3,4 N,Y F,T 등등..
1.2.1 분류 Classfication
-왼쪽의 그림은 0(No)과 1(Yes)0로 구분된 학습 데이터들이 있다.
-오른쪽의 표는 학습 데이터들을 테이블의 형태로 나타낸 것이다.
N(학습된 Case 행), D(학습데이터의 속성들) N * D 형태의 테이블이 있고
입력 속성 x 는 이산,연속 또는 두 개의 조합이다. 이를 입력에 추가해서 훈련 레이블 y의 벡터를 갖는다.
입력 x는 파란 초승달, 노란 도넛, 파란 화살표 이다.
-파란색 초승달, 노란 도넛, 파란색 화살표는 테스트 데이터에도 없었고 학습되지도 않았을 경우에는
일반화(근사화)가 요구된다.
해당 항목(attribute에 쌓인 데이터들
한 행에 쌓인 Case들
해당 Case의 출력 값은 1
1.2.1 분류 Classfication
테스트 데이터 {파란 초승달, 노란 도넛, 파란 화살표}
- 파란 초승달은 레이블이 1이 된 케이스항목에는 파란색, 사각형, 10cm 항목 중 파란색이 일치하기
때문에 1 이 출력 될 것이다.
-
- 노란 도넛은 D*N의 테이블에는 데이터가 없다. 그러므로 추측을 해야만 하는데 이런 경우 일반화가
필요하다.(확률적 추론 필요)
-
- 파란 화살표는 레이블이 1이 된 케이스 중 가장 가까운 색상이 파란색 쪽 케이스를 보면 테스트
데이터와 일치하는 파란색상이 1을 출력시킬 것이다.
해당 항목(attribute에 쌓인 데이터들
한 행에 쌓인 Case들
해당 Case의 출력 값은 1
1.2.1 분류 Classfication
일반화(근사화):
입력 벡터 x (테스트 데이터, 그림)와 훈련 집합 D에서 가능한 레이블에 대한 확률 분포 추정 p(y|x,D,M)
에서
해당 예제에 맞는 공식은 다음과 같다.
해당 항목(attribute에 쌓인 데이터들
한 행에 쌓인 Case들
해당 Case의 출력 값은 1
-입력된 x에 대하여 결과 값 레이블 중 가장 높은 확률을 가지는 p(y=c|x,d)를 출력한다.
-argmax 는 c 처음부터 끝까지 대입 했을 경우 가장 높은 확률을 값으로 취한다.
-가장 높은 가능성이 높은 클래스가 입력된 값의 출력값 된다.
-출력된 값은 분포 p(y|x,D)의 모드(Mode), 최대 사후 확률(MAP:Maximum A Posteriori)가 된다.
영문 표기로는 Conditional Probability of y
on x, D and M 라 한다. 세가지의 입력
데이터가 모두 모형에서 알게 되는
정보들이고 그 결과로 y 분포를 설명한다.
*나중에 집합이나 관계식으로 풀어서
설명하도록 한다. 우선 이정도로만..
1.2.1 분류 Classfication
1.2.2 회귀 Regression
회귀는 응답 변수(출력값:y)가 계속 이어지는 것(연속적)을 제외하고 분류(Classification)와 같다.
yi는 한정된 집합에서 범주형(Categorical) 변수,명목(Nominal) 변수, 실수값을 갖는 스칼라(소속 등급)일
때는 분류 및 패턴 인식 모델
yi가 실수값 이라면 회귀 모델, 회귀 모델의 변형 형태는 회귀 분석이 있으며 A to F 등급과 같은 자연적
순서를 갖는 레이블 공간 Y에서 회귀 모델이 발생한다.
단일 실수의 입력 x ∊ R, 단일 실수의 응답 y ∊ R 이다.
데이터에 대한 적합한 일차와 이차 함수 모형을 고려할 것이다. 고차원 입력, 특이값, 평활하지 않은
응답을 갖고 다양한 확장이 발생할 수 있다. (다음 챕터에서는 고차원 입력, 특이값, 평활하지 않은 응답일
때 어떻게 처리해야하며 어떤 모델을 적용시켜야 하는지 소개한다)
1.2.2 회귀 Regression
실 생활에서 사용되는 회귀 문제.
- 현재 주어진 시장 상태와 가능한 부수적 정보로 미래의 주식을 예측한다.
- 유튜브에 특정 비디오를 보는 사용자의 나이를 예측한다.
- 로보트 팔의 엔트 이펙터가 3D 공간에서 위치를 예측, 주어진 제어 신호(토크)를 다양한 모터로
보낸다.
- 다양한 의학적 측정 용도로 몸속의 전립선 특이항원 (PSA: Prostate Specific Antigen)의 양을 예측
한다.
- 날씨 데이터와 시간, 문의 센서 등을 사용해서 건물 안의 온도를 예측한다.
1.3 비지도 학습 Unsupervised Learning
목표 : 데이터에서 흥미 있는 구조(Interesting Knowledge,Knowledge Discovery)를
발견하는 것.
특징 : 지도학습과 다르게 예상되는 출력이 각 입력에 대한 것이라고 말하지
않으며, 대신 밀도 추정(Density Estimation)의 하나로서 수행을 공식화하고, p(xi|θ)
의 모형을 설계하는 것이 목표이다.
라벨링, 정형화된 학습 데이터를 이용하지 않는다.
1.3 비지도 학습 vs지도학습 Unsupervised Learning
첫 째, p(yi|xi,θ)를 대신해 p(xi|θ)로 쓰며, 즉 지도 학습은 조건 적인 밀도 추정이고,
반면 자율 학습은 비조건적인 밀도 추정이다.
둘 째, xi는 벡터의 성질을 갖고, 다양한 확률 모형을 만드는 것이 필요함.
대조적으로 지도학습에서는 yi는 일반적으로 예측을 시도하는 단일 변수이다. 이것이 대부분의
지도학습이며, 다변량의 확률 모형을 사용(입력에 의존하는 변수), 상당히 문제를 단순화 한다.
비지도 학습은 거의 틀림없이 인간과 동물의 전형적인 모습으로, 지도 학습보다는 더 폭 넓게 적용된다.
전문가가 수작업으로 데이터를 분류하는 것을 요구하지 않기 때문이며, 비 정형화 된 데이터를 습득하고,
비교적 적은 정보를 포함하며, 복잡한 모형의 변수를 신뢰할 수 있도록 예측하는 것은 뛰어나지 않다.
1.3 비지도 학습 Unsupervised Learning
1. 군집 발견
2. 잠재 요인의 발견
3. 그래프 구조 발견
4. 매트릭스 완성
1.3.1 군집 발견 Clustering, Cluster Discovery
목표 :
1. K는 특정 집단의 숫자 및 무리의 숫자를 나타 낼 때, p(K|D)인 집단의 숫자에 대한 분포를 예측하는 것.
이것은 데아터 내부에 소집단이 있는 지를 알려준다. 단순화한 모드*에 의해 p(K|D)의 분포를 자주
예측하며, p(K|D)인 분포의 공식은 다음과 같다. 자율 학습은 군집의 크기에 상관 없이 무리를 자유롭게
선택한다.
2. 입력값을 통하여 군집(특정 무리)이 어느 포인트에 속하는지 예측하는 것.
i가 할당된 데이터를 가리키는 군집을 zi ∊ {1, 2, 3, …… K }라 표현 할 때(훈련 집합에서 결코 관찰 되지
않으므로 숨겨져 있거나 잠재된 변수가 된다.) 다음과 같은 공식을 계산에 이용하여 입력 데이터의
군집을 추정할 수 있다.
Superscript 로 애스터리스크를 쓰는게 자주 나오는 표기법인데, K 자체는 변수의
이름이고, K*는 p 특정 K를 말한다. 이 공식은 " *p(K|D)를 최대로 하는 K값을 K*라고
한다" 라고 해석한다. 종종 Analytical 하게 풀지 않고, 가능한 K값들을 하나하나
대입하는 방식으로 p(K|D)가 최대가 되는 경우를 찾는 관점으로 저 식을 바라봐서,
현재 대입중인 K*를 Saple Test Case 라고 부르기도 한다.
1.3.1 군집 발견 Clustering, Cluster Discovery
- 해당 그래프는 사람의 키와 몸무게를 주제로 한 그래프 이다.
- 왼쪽 그래프는 요구하는 군집 없이 그래프를 그렸을 경우
- 군집 2를 불렀을 경우 사용하는 클러스터링. 빨간 원이 k=2 에 속한 데이터 이다.
선택 군집 없음
K = 2
HeightHeight
Weight
1.3.1 군집 발견 Clustering, Cluster Discovery
군집화의 실 생활의 응용:
- 천문학에서, 클러스터링 천체 물리학 측정에 기초한 오토클래스 시스템이 새로운 타입의 별을
발견했다. (군집이 적은 집단을 발견하다보니..)
- 전자상거래에서, 구입이나 웹 서핑 동작에 기초해 쉽게 사용자들을 그룹으로 군집화 하고, 각
그룹의 대상에 맞는 광고를 내보내 도록 한다.
- 생물학에서, 유동 세포 분석 데이터를 쉽게 그룹으로 클러스터링 하고, 세포의 다른 하위 집단을
발견한다.
1.3.2 잠재 요인 발견 Latent Factor Discovery
차원축소(Dimensionality Reduction): 고차원 데이터 -> 저차원
데이터로
고차원 데이터를 처리할 때 낮은 차원의 부분 공간으로 데이터를 투영함으로
써 차원을 줄이는 것이 고차원 데이터의 '본질'을 파악하는데 유용하다.
예를 들어 설명하면 차원축소는 3차원의 데이터를 2차원의 평면으로
투영한다. 대부분의 점이 부분 공간에 놓이기 때문에 2 차원의 근사값은
분석하기 좋다 (우선 2차원 평면상으로 밀집지역을 확인 할 수 있기
때문에.).
1차원으로 축소하는 것은 투영한 점이 빨간색 라인과 연관되며, 이것은 다소
좋은 근사값은 아니다. (알아보기 힘든게, 학습 데이터가 후지네여)
고차원중 일부 잠재요인이 데이터 성격 규명
-데이터가 고차원의 형태일 수 있지만, 잠재 요인(Latent Factor)으로 작은
수의 가변도 일 수 있다. ->사실 고차원 데이터에서 얻을 수 있는건 작은
사실인대, 고차원이므로 그 사실을 찾기까지가 고될 수 있다.
1.3.2 잠재 요인 발견 Latent Factor Discovery
다차원 데이터 (3차원 이상 방정식의 데이터)영상화가
어려움
다른 통계모형을 입력으로 사용할 때 예측 가능한 정확성을 산출하기 위해
물체의 '본질'에 초점을 맞추고 불 필요한 특징을 거르기 위해 낮은 차원의
표현을 사용한다. 낮은 차원의 표현은 '최근접 이웃 객체' 검색을 활성화 하면
빠르게 검색가능하며, 2차원 투영은 고차원 데이터의 영상화(Visualizing)를 위해
매우 유용하다.
주요인(주성분) 분석 (PCA: Principa Component Analysis)
차원 축소를 위한 보편적인 접근인 주요인(주성분) 분석은 PCA라 부르며
이것은 (다중출력)직선 회귀Linear Regression의 자율화 버전으로 간주하며,
고차원 반응 y를 관찰하지만 저차원 '원인' z는 아니다. 따라서 모형은 z->y
형태를 갖고, '화살표를 뒤집어서' 관찰된 고차원 y로 부터 잠재된 낮은 차원의
z를 추정한다.
1.3.2 잠재 요인 발견 Latent Factor Discovery
다른 분야에서 PCA의 활용
- 생물학에서 유전자 미세 배열을 해석하기 위해 보편적으로 PCA를 사용하며, 각 측정이 일반적으로 다른 유전자
경로에 속하는 연관 동작을 가진 많은 유전자의 결과라는 사실을 설명하기위해 PCA를 사용한다.
- 자연 언어 처리에서, 문서 추출을 위해 잠재된 구문 분석이라고 부르는 다른 종류의 PCA 를 사용한다.
- 신호 처리에서(음향,아날로그,신경계), 신호를 다른 소스로 분리하기 위해 ICA(PCA의 변형)를 보편적으로 사용한다.
- 컴퓨터 그래픽에서, 움직이는 동작 데이터를 낮은 차원의 공간으로 투영하고, 그것을 애니메이션으로 만들기 위해
사용한다.
1.3.3 그래프 구조 발견 Graph Structure Discovery
상관 관계가 있는 변수의 집합을 측정하고 서로 가장 관련이 있는 것을 발견한다.
이것은 그래프 G에 의해 표현될 수 있으며, 노드(Node)는 변수를 말하고, 라인(Line)은 변수 사이에서
직접적인 의존 관계(Relation Dependency)를 표현한다. 데이터로 그래프 구조를 배울 수 있으며 다음과
같은 공식으로 표현한다.
일반적으로 자율 학습은 '학습 희박 그래프(Sparse Graph)'에 대한 두 개의 주요 응용이 있으며, 이 학습
희박 그래프는 새로운 지식을 발견하기 위해서, 그리고 더 좋은 결합 확률 밀도 함수를 예측하기 위해
사용한다.
^ 표시는 가장 목표에
가까운 값(최대값)
1.3.3 그래프 구조 발견 Graph Structure Discovery
학습 희박 그래프 모형에 대한 두 개의 주요 응용
사례
1, 시스템 생물학 분야: 오른쪽 그림은 세포에서 단백질의 인산화
상태를 특정하는 것을 가정할 때 그려진 그래프이다. 이것은
데이터로 학습된 그래프의 구조이다. 또는 새의 신경계 '배선도'를
복구할 수도 있다. -> 노드간의 연결을 구하거나 발견할 때
2. 그래프를 해석하는 데 관심을 두지 않고, 모형의 상관 관계를
예측하기 위해 사용하기도 한다. (ex: 재무 포트폴리오 관리 업무,
다량의 주식 사이에서 공분산의 정확한 모형, 교통 체증을 예측)
학습에 의한 희박한 그래프와 거래 전략을 기초로 사용함.(희박
그래프를 활용하지 않는 방식보다 더 나은 결과를 얻을 수 있도록)
1.3.4 매트릭스 완성 Matrix Completion
대치법(Imputation) 의 목표
손실된 엔트리(entry)*에 대한 타당한 값을 추정하는 것이며, 이것을 매트릭스 완성(Matrix Completion)
이라고 한다.
실생활에서 손실된 엔트리의 값을 완성하는 사례
-영상 인페인팅(Imputation-like task:대치법 수행 이라고 부른다.)
-협력적 필터링(Collaborative Filtering)
-마켓 바스켓 분석(Market Basket Analysis)
엔트리(Entry)* : 수 많은 입력 값.
1.3.4.1 영상 인페인팅(Video Inpainting)
-영상 인페인팅(Video Inpainting)
영상 인페인팅은 대치법 수행을 사용한다.
이미지의 노이즈를 제거할 뿐만 아니라, 가림으로
숨겨져 있는 픽셀을 대치시킨다.
픽셀의 결합 확률 모형을 설계해서 서로 견줘보고,
주어진 픽셀 값으로 알려지지 않은 픽셀의 값을
추정한다. (위와 같은 과정을 마켓 바스켓
분석MBA:Market Basket Analysis)이라 하고,
데이터가 실수치의 값과 공간적으로 구조화된 것을
제외한다.)
1.3.4.2 협력적 필터링(Collaborative Filtering)
- 협력적 필터링(Collaborative Filtering)
협력적 필터링은 대치법 수행을 사용한다.
협력적 필터링의 보편적인 예는 이미 시청한 영화의 비율에
기초하여 그들이 보고 싶어 하는 영화를 예측하는 것이다.
핵심적인 아이디어는 예측을 영화나 사용자의 특징에
기초하지 않고 단지 등급 행렬(Rating Matrix)에 의해
시행된다는 점이다.
X(m,u)인 행렬 X가 영화 m의 사용자 u 에 의해 등급을
갖는다.(1~5의 선호 등급을 갖는다.)
이 때 X에서의 엔트리(행렬 값) 들은 대부분 없거나 알려지지
않은 데이터가 있다는 것이다. 따라서 X의 행렬 아주 작은
부분집합을 관찰하고, 다른 부분집합을 관찰해야 한다.
활용 가능성에 대한 예로써 이 경우에는 미처 사람들이 보지
못했던 영화에 등급에 등급이 매겨져 추천되기를 원할 지도
모른다.
훈련 데이터는 빨간색, 테스트 데이터는 '?'
빈칸은 알려져 있지 않다.
1.3.4.3 마켓 바스켓 분석(Market Basket Analysis)
정의 :
만약 소비자가 어떤 그룹에 포함된 물건들을 산다면, 그 소비자는 다른 그룹의 물건들도 산다.
이것은 소비자의 구매 행동, 판매에 증가, 물류 창고의 유지를 분석할 때 사용된다. 마켓 바스켓
분석은 Apriori Algorithm Train, Identifies Product Baskets, Association Rules 들이 데이터 셋으로
구성된다.
Theory :
데이터는 이항 행렬로 구성되고, 각 열은 아이템이나 상품을 표현하며, 각 행은 거래로 표현됨.
아이템 j가 i번째 거래에서 구매된다면 xji =1 로 설정한다. 많은 아이템이 서로 함께 구매되며,
따라서 비트 사이에서 서로 연관성이 있을 것이다. 새롭게 부분적으로 관찰된 비트 벡터가 주어질
때 소비자가 구입한 아이템의 부분집합을 표현하며, 목표는 소비자가 사고 싶을 수 있는 다른
아이템을 표현하도록 다른 비트들이 쉽게 연결되도록 예측하는 것이다. (협력적 필터링과는 달리
각 고객의 과거 쇼핑 동작을 알기 때문에 훈련 데이터에서 손실 데이터가 없다는 것을 가정한다.)
1.4 머신 러닝의 기초 개념 (이걸 알아야 '그 이후'가 가능)
1. 모수적 모형과 비 모수적 모형
2. 단순한 비 모수적 분류기 : K 근접 이웃
3. 차원의 저주
4. 분류와 회귀에 대한 모수적 모형
5. 선형 회귀
6. 로지스틱 회귀 분석
7. 과대 적합
8. 모형 선택
9. 공짜 점심은 없다는 이론
1.4.1 모수적 모형과 비 모수적 모형
모집단
알고 있는 집단. 적당한 집단의 수를 정해서 통계학적 계산을 진행한다. 결국 정확한 값을 도출하기에는 무리가
있다. 제한적인 집단의 수가 특징이다. 통계학의 분석 방법들은모수(Parameter)를 필요로 하는가, ‘필요로 하지
않는가’에 따라 모수 통계학과 비 모수 통계학으로 나뉜다.
모수적 분석(Parametric Analysis) vs 비모수적 분석(Nonparametric Analysis)
입력데이터의 특정한 특성(정규분포 등)을 가정함 vs 입력데이터의 특성을 가정하지 않음
빠르게 사용할 수 있는 장점이 있다. vs 유동적이다.
데이터 분포의 본질에 대한 강한 가정을 만드는 단점 vs 큰 데이터 집합에 대해 계산적으로 아주 다루기 힘들다.
당연하지만 차이
p(y|X)의 형태냐 p(x)의 형태의 확률이냐. 고정된 변수의 개수를 갖느냐(모수적 모형), 훈련 데이터의 양에 따라
변수의 개수가 변하는가(비 모수적 모형)
1.4.2 단순한 비 모수적 분류기 : K 근접 이웃(좀 중요)
K 근접 이웃 분류기(KNN, K Nearest Neighbor)
이것은 단순히 테스트 입력 x 가 있는 훈련 집합에서 K 포인트를
'검토'하는 것이며, 각 클래스에 얼마나 많은 멤버가 이 집합에
있는지 개수를 계산하고 예상하는 값으로 경험률을 반환한다.
: D 안에서 x에 대한 K 근접 포인트
: 표시 함수(Indicator Function)
이런 경험률 반환 하는 분류기는 메모리 기반 학습(Memory-based
Learning) 또는 인스턴스 기반 학습(Instance-based Learning)
이라 한다. 거리 척도를 위해 사용하는것은 보편적으로 유클리드
거리를 사용한다.
그림 A
그림 B
읽어 보고 오기
http://1004jonghee.tistory.com/entry/kNN-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98
1.4.2 단순한 비 모수적 분류기 : K 근접 이웃(좀 중요)
그림 A:
k=3 에 대한 2d의 kNN을 설명, 테스트 포인트 x1 의 3 근접 이웃은
{1,1,0}의 레이블을 갖고 p(y=1| x1, D, K=3) = 2/3을 예측함.
테스트 포인트 x2 의 3 근접 이웃은 {0,0,0} 레이블을 갖고
p(y=1 | x2 , D, K=3) = 0/3 을 예측한다.
그림 B:
1-NN에 의해 유도된 보로노이 테셀레이션의 예이다.
K=1을 가진 kNN 분류기는 포인트의 보로노이 테셀레이션을
유도한다. (Voronoi Tesselation) 이것은 각 포인트 xi를 가진 영역
V(xi)와 연관된 공간의 분할이며, 그런 식으로 V(xi)에서 모든
포인트는 어떤 다른 포인트 보다 xi에 인접한다. 각 칸(셀)안에서
예측된 레이블은 모두 훈련 포인트에 대응하는 레이블이다.
그림 A
그림 B
1.4.2 단순한 비 모수적 분류기 : K 근접 이웃(좀 중요)
그림 a
2d 에서 합성의 3 클래스 훈련 데이터
그림 b
k=10 을 가진 kNN에 대한 클래스 1의 확률
p(y=1|x,D) 이고, 여기서 x는 포인트 그리드에서 평가된다.
그림 c
k=10 을 가진 kNN에 대한 클래스 10의 확률
p(y=2|x,D) 이고 확률의 합은 1이 되기 때문에
p(y=3|x,D) 를 그릴 필요는 없다.
그림 d
클래스 레이블의 MAP 예측
MAP 예측 을 그린다.
Train p(y=1 | data, K=10)
그림 a 그림 b
p(y=2|data, k=10) predicted label, k=10
그림 c 그림 d
1.4.3 차원의 저주(Curse of Dimensionality)
차원의 저주를 설명하기 앞서 우리는 문제를 풀 때
왜? 차원의 확장과 축소를 왜 해서 문제를 해결 하는지 고민을 해야 한다.
기하학적 관점외에도 시스템의 독립 변수의 개수로 차원을 정의할 수도 있다. 헬리콥터의 움직임이 프로펠러 축의
회전속도, 4개의 프로펠러 날개 각각의 경사각도, 꼬리 날개의 회전속도 이 6가지 요인에 의해 결정된다고 가정하면
헬리콥터의 움직임을 결정하는 파라미터 공간은 6차원 공간으로 볼 수 있다.
차원을 축소하고 확대하는 이유
좋은 Feature를 찾아서 식별력을 높이고, 데이터의 분포를 단순한 모델로 근사시켜 분석하기 위함이다. 차원의 문제에 대한
축소의 접근은 인간의 머리로 이해하거나 흐름,규칙등을 발견하기 어려운 고차원의 문제를 우리가 다룰 수 있는 저 차원의
문제로 단순화 시켜서 처리하고자 하는 것이다. 차원의 확장은 복잡한 문제를 오히려 새로운 차원을 추가함으로써 단순화
시키고자 하는 것이다.
복잡하게 보임요 ㅠ.
1.4.3 차원의 저주(Curse of Dimensionality)
1.4.3 차원의 저주(Curse of Dimensionality)
1.4.3 차원의 저주(Curse of Dimensionality)
1.4.3 차원의 저주(Curse of Dimensionality)
1.4.3 차원의 저주(Curse of Dimensionality)
1.4.3 차원의 저주(Curse of Dimensionality)
차원의 축소(차원의 저주) (축소만 차원의 저주가 아님.)
데이터의 차원이 증가할 수록 해당 공간의 크기(부피)가 기하급수적으로 증가하기 때문에 동일한 개수의 데이터의 밀도는
차원이 증가할 수록 급속도로 희박(sparse)해진다. 즉, 따라서, 차원이 증가할 수록 데이터의 분포 분석 또는 모델 추정에
필요한 샘플 데이터의 개수가 기하급수적으로 증가하게 되는데, 이러한 어려움을 표현한 용어가 '차원의 저주'이다. 따라서,
분석 등의 차원에 관계된 문제에 있어서 어떻게든 핵심이 되는 파라미터만 선별하여 문제의 차원을 낮추고자 함이
일반적이다. 데이터의 차원을 낮추는 기계적인 방법으로는 주성분분석(Principal Component Analysis,PCA)등이 있다.
2차 방정식 3차 방정식 2차 방정식 + Oppacity Color
1.4.3 차원의 저주(Curse of Dimensionality)
차원의 확대(차원의 저주)
차원의 문제에 대한 정 반대의 접근은 복잡한 문제를 오히려 새로운 차원을 추가함으로써 단순화시키고자하는
것이다.실제로 기계학습(machine learning) 기법 중에도 데이터의 차원을 증가시켜서 문제를 단순화시키는 방법이
존재한다. SVM(support vector machine)에서 비선형 분류(classification) 문제를 처리할 때 사용하는 기법이 여기에
해당한다. SVM에서는 현재 차원에서 데이터를 선형적으로 분류(classification)하기 힘든 경우에 데이터의 차원을 고차원
(무한차원)으로 확장한 후 경계평면(thresholding hyperplane)을 찾는 원리가 사용된다. 데이터의 차원을 확장하는 것은
손쉬운 예로 (x,y)를 (xy, x^2y, xy^2, ... ) 등과 같이 확장하는 것을 생각하면 된다.
1.4.3 차원의 저주(Curse of Dimensionality)
kNN분류기
장점 : 단순하고 상당히 잘 작동하며, 좋은 거리 척도법을
제공하고 충분히 레이블된 훈련 데이터를 갖고 있다. 사실
kNN의 분류기는 N -> 라면 최대 가능한 성능의 2배에
버금가게 나타날 수 있다.(kNN 짱짱걸)
단점 : kNN식별자의 주요 문제는 고차원 입력에 대해 잘
작동하지 않는 다는 점이다. 고차원적 설정에서 저 성능은
차원의 저주에 원인을 둔다.
고차원에 있는 데이터를 저 차원으로 내려서 그래프를 보게 될
경우 3차원 그래프에서 2차원으로 변하게 되면 z 축은 묵인 되게
되는데 이 때 kNN분류기는 x,y 축에 대해 근접한 포인트를 가질
수는 있지만 z를 고려하면서 근접한 포인트를 갖기에 어려움이
있다.
kNN 분류기는 데이터에 적용하는 것을 고려하며, 여기서 입력은
D차원 단위 정육면체에 균등하게 분포된다. 데이터 포인트의 f를
포함할 때 까지 x주위의 입방체가 커짐으로 써
테스트 포인트 x 주의의 클래스 레이블의 밀도를 예측한다고
S
1.4.3 차원의 저주(Curse of Dimensionality)
차원의 저주에 관련된 그림이다. ppt 43, 44번 하고 연관이
있다.
왼쪽 그림은 정육면체 안쪽에 있는 s 면의 작은 정육면체를
삽입한다. 이 정육면체의 예상되는 모서리의 길이는
이다.
만약 차원이 10. 즉 D=10 이면 데이터의 10%에서 기본
예측을 원한다. 의 값을 가지며, x의 주위에서 각
차원에 따라 정 육면체 80%를 확장할 필요가 있다. 데이터의
1%를 사용 한다 해도 을 찾는다.
데이터의 전체 범위가 각 차원을 따라 단지 1이기 때문에
이름이 '근접한 이웃'임에도 불구하고, 방법은 더 이상 근접
지역에 한정되지 않는다. '멀리 떨어진 이웃 변수 관찰'의
문제점은 주어진 포인트에서 입출력 함수의 동작에 대한 좋은
예측 변수가 아닐 수 있다.
S
1.4.4 분류와 회귀에 대한 모수적 모형
차원의 저주를 극복하는 방법
분포의 성질에 관한 가정을 만드는 것이다. 귀납적 편향성(Inductive Bias) 이라고 알려진 가정은 모수적
모형 (Parametric Model)의 형태로 자주 상징되며, 모수적 모형은 매개변수의 지정된 수를 가진 통계
모형이다.
분류와 회귀에 대한 모수적 모형에서 가장 폭 넓게 사용되는 선형 회귀 분석, 로지스틱 회귀 분석에 대해
알아본다.
(책에서는 분류와 회귀에 대한 모수적 모형을 알아보자 했지만
회귀에 대한 모수적 모형인 선형 회귀 분석과 로지스틱 회귀 분석만 서술 했으니
어? 분류는 어디감요? 하면 안됩니다. 흑. 모수적 모형인 분류는 시작하는 저도 몰라욬 ㅋ
시간나면 공부 할게여)
1.4.5 선형 회귀 (Linear Regression)
정의
종속 변수 y와 한 개 이상의 독립 변수(설명 변수)x와의 선형 상관 관계 모델링 하는 회귀분석 기법이다. 선형 회귀는
선형 예측 함수를 사용해 회귀식을 모델링 하며, 알려지지 않은 파라미터는 데이터로 부터 추정한다. 이렇게 만들어진
회귀식을 선형 모델이라 한다. 한 개의 설명 변수(x)에 기반한 경우에는 단순 선형 회귀, 둘 이상의 설명 변수에
기반한 경우에는 다중 선형 회귀 라고 한다.
사용 분류
-값을 예측하는 것이 목적일 경우 : 개발한 선형 회귀식을 이용해 y가 없는 x값에 대해 y를 예측하기 위해 사용.
-종속변수 y와 이것과 연관된 독립변수 x1,x2, … xp 가 존재하는 경우에, 선형 회귀 분석을 사용해 xj와 y의 관계를
정량화할 수 있다. xj는 y와 전혀 연관 없을 수 있고, 추가적인 정보를 제공하는 변수 일 수도 있다.
원리
일반적으로는 최소제곱법(Least Square Method)을 사용해 선형 회귀 모델을 세운다.
손실 함수를 최소화 하는 방식으로 선형 회귀 모델을 세울 수 있다.
최소제곱법과 선형 회귀는 가깝게 연관되지만 동의어는 아니다.
최소제곱법은 선형 회귀 모델 뿐 아니라, 비선형 회귀 모델에도 적용할 수 있다.
1.4.5 선형 회귀 (Linear Regression)
회귀에서 가장 넓게 사용되는 선형 회귀는 응답이 입력에 대한 일차 함수라는 것을 주장하는 것이다. 이것은 다음과 같이
써진다.
여기서 는 입력 벡터 x와 모형의 가중치 벡터 w사이에서 내부 또는 스칼라 곱(Scalar Product)* 으로 표현하였다.
는 선형 예측(Linear Prediction)과 실제 값 사이에서 잔차 에러(Residual Error)(오차)이다.
는 가우시안(Gaussian)** 또는 정규 분포(Normal Distribution)을 갖는 것으로 가정한다. 이는 으로 표현한다.
u 는 평균이고 는 분산이다. 이 분포를 그릴 때, 종형 곡선(Bell Curve)을 갖는다.
오른쪽 그림은 평균이 1이며, 분산 1을 가지는 가우시안 그래프 이다.
*스칼라 곱 = {1,2,3} * {a,b,c} = {1a,2b,3c} 이런 거.
**가우시안 : 가우시안은 독일의 수학자이자 물리학자의 이름인대, 보통 정규분포를 가우시안 분포라 사용함
모수 벡터
e는 N에 따라
분포됨
스칼라 분포
평균
gaussian distribution
1.4.5 선형 회귀 (Linear Regression)
선형회귀와 가우시안 사이에서 더 명시적인 연결을 만들기 위해 다음의 형태로 모형을 다시 작성 할 수 있다.
모형이 조건 확률 밀도라는 것을 정확하게 만든다. 가장 단순한 경우에는 u는 x의 일차 함수라고 가정하며, 그래서 u=
이고,
노이즈(오차)는 수정되며, 는 이다. 이 경우 는 모형의 변수이다.
예를 들면 입력이 1차원 이라고 가정하며, 다음과 같이 예상되는 결과를 표현할 수 있다.
w0은 절편 또는 편향(bias)항 이고, w1은 기울기 이며, 해당 지점에서 백터 x=(1,x)를 정의,
(입력 벡터에 상수항 1을 붙이는 것은 모형에서 다른 항을 가진 절편 항을 통합하게 허용하는
일반적인 표현 요령) w1이 양수면 입력이 증가함으로써 출력이 증가하는 것을 의미한다.
입력값이 증가하면서 출력이 증가하는 것은 오른쪽 위의 이미지에서 보여주고
평균 반응과 x의 종래 도표는 오른쪽 아래의 이미지에서 보여준다.
선형 회귀 x를 입력 값 Ø(x)의 비 선형 함수로 대체해서 비선형적 관계를 모형화 할 수 있다.
1.4.5 선형 회귀 (Linear Regression)
선형 회귀 x를 입력 값 Ø(x)의 비 선형 함수로 대체해서 비선형적 관계를 모형화 할 수 있다. 다음과 같이 표시된다.
이것은 기저 함수 확장(Basis Function Expansion)으로 알려져 있다. 예를 들어 오른쪽 그림은 d=14 이고, d=20에 대해,
= 인 곳의 경우를 설명하며, 다항식 회귀(Polynomial Regression)으로 알려져 있다.
degrees 14와 20의 다항식은 21개의 데이터 포인트의 최소 제곱에 의해 맞게 된다.
1.4.6 로지스틱 회귀 분석(Regression)
로지스틱 회귀는 선형 회귀 분석과는 다르게 종속 변수가 범주형 데이터를 대상으로 하며 입력 데이터가 주어졌을 때 해당
데이터의 결과가 특정 분류로 나눠지기 때문에 일종의 분류 (classification) 기법으로도 볼 수 있다. 로지스틱 회귀는 두 개의
변경을 만듦으로써 선형 회귀를 이항 분류 설정으로 일반화 할 수 있다.
로지스틱 회귀 분석의 작동
y에 대한 가우시안 분포(정규 분포)를 베르누이 분포(이항 분포)로 바꾸고, 대응이 이진수 일 때 y ∈ {0,1} 경우에 적절하며,
다음을 사용한다.
여기서 이다. 두 번째 입력의 일차 조합을 계산하지만 다음을 정의해서 을
보장하는 함수를 통해 다음의 식을 통과한다.
여기서 은 logistic 또는 logic 함수로서 알려져 있는 시그모이드 Sigmoid 함수를 참조하며, 다음식으로 정의 된다.
전치행렬 또는 전치 벡터
1.4.6 로지스틱 회귀 분석(Regression)
여기서 은 logistic 또는 logic 함수로서 알려져 있는 시그모이드 Sigmoid 함수를 참조하며, 다음 식으로 정의 된다.
시그모이드(Sigmoid)용어는 S모양을 의미하며, 왼쪽 그림을 참조 한다. 시그모이드 함수는 전체 라인이 [0,1]로 매핑이 되기
때문에 스쿼싱(Squashing)함수로 또한 알려져 있으며, 확률로 해석되는 출력이 필요하다.
위 식은 시그모이드 함수의 결과를 확률로 출력하는 식이며, 선형 회귀와 유사하기 때문에 로지스틱 회귀 분석이라고
부른다.
(형태는 분류지만 회귀는 아님) 로지스틱 회귀의 단순한 예는 오른쪽 그림이며 다음과 같다.
왼쪽 그림은 시그모이드(sigmoid)또는 로지스틱 함수 Sigm(-∞)=0 sigm(0)=0.5,
그리고 sigm(∞)=1 오른 쪽 이미지는 SAT점수에 대한 로지스틱스 회귀분석.
검정색으로 칠해져 있는 점은 훈련 데이터이다. 빨간색 원은 예상되는 데이터
이다. 따라서 w^는 훈련 데이터로 부터 예측된 변수이다. 초록색
x는 두 학생이 525(그리고 이런 이유로 동일한 입력 표현 x) 의 동일한 SAT점수를
가진 SAT점수를 표현하지만, 다른 훈련 레이블을 갖고 있다. (한 학생은 통과되고
y=t, 다른 학생은 실패 y=0, 이런 이유로 이 데이터는 SAT의 특성을 사용해서
정확하게 분리하지 않는다.
~으로 정의한다
1.4.6 로지스틱 회귀 분석(Regression)
아래 이미지.
i : 특정 학생
xi : 특정 학생의 SAT 점수
yi : 시험 통과 및 실패 여부
검정색 원 : 훈련 데이터
빨간색 원 :
: 훈련 데이터로 부터 예측된 변수
오른 쪽 이미지에서 0.5 에서 출력 확률을 제한하면 수식의 결정 규칙(Decision Rule)을 유도할 수 있다.
오른 쪽 이미지를 관찰하면 x≈ 545 = x*에 대해 이다. x=x*에서 수직라인을 그리는 것을 상상 할 수
있으며, 이것은 결정 경계(Decision Boundary)라고 알려져 있다. 라인의 왼쪽 모든 것은 0으로 분류되고, 라인의 오른쪽
모든 것은 1로 분류된다. 결정 경계 규칙은 훈련집합에서 에러율이 제로가 아니다. 이것은 데이터가 선형 구분(Linearly
Seperable)이 아니기 때문이며, 예를 들어 1s부터 0s로 분류하기 위해 그릴 수 있는 일직선이 없다. 이럴 경우 기저 함수
확장*을 이용하여 비선형 결정 경계를 가진 모형을 창조할 수 있으며, 비 선형 회귀를 갖고 수행된다.
기저함수확장* : 자연계에서 발생하는 모든 신호는 특정함수들의조합으로 표현가능하다는데에서 시작된 이론, 선형 다항식 함수, 위상,삼각함수의
조합이 되는 함수를 기저함수라 한다. 백터공간 내에서 선형 독립, 전체 백터공간을 생성할 수 있는 원소로 이루어진 집합이다.
1.4.7 과대적합(Overfit)
머신러닝의 데이터의 고도의 유동적인 모형에 맞추어야 할 때 데이터가 과대적합 하지 않도록 세심하게 신경써야만 한다.
과대적합은 Curse of Dimetion차원의 저주일 때, 또는 학습데이터 모델링 과정에 발생한다.
데이터의 과대적합은 결과의 오차를 불러일으키는 커다란 요인이기 때문이다.
높은 단계의 다항식 결과는 매우 진동이 심한 곡선의 결과를 보이며
그의 결과는 오른쪽 그림에서 보인다.
KNN분류기를 예로 들면 K 값은 이 모형의 동작에 큰 영향을 가져 올 수 있다. K가 1이라면 훈련 집합에 에러를 발생하지
않지만(원래 훈련포인트의 레이블을 반환하기 때문에..) K값이 높으면 높을 수록 미래 데이터는 예측하기 힘들다.
평균 이상의 더 큰 근접 값들이 있기 때문에 k=5를 사용해서
좀 더 평활한 예측 표면의 결과를 가져온다. K가 증가하면서
예측은 K=N이 되는 한계까지 좀 더 평활하게 나타난다.
1.4.7 과대적합(Overfit)
머신러닝의 데이터의 고도의 유동적인 모형에 맞추어야 할 때 데이터가 과대적합 하지 않도록 세심하게 신경써야만 한다.
과대적합은 Curse of Dimetion차원의 저주일 때, 또는 학습데이터 모델링 과정에 발생한다.
데이터의 과대적합은 결과의 오차를 불러일으키는 커다란 요인이기 때문이다.
높은 단계의 다항식 결과는 매우 진동이 심한 곡선의 결과를 보이며
그의 결과는 오른쪽 그림에서 보인다.
KNN분류기를 예로 들면 K 값은 이 모형의 동작에 큰 영향을 가져 올 수 있다. K가 1이라면 훈련 집합에 에러를 발생하지
않지만(원래 훈련포인트의 레이블을 반환하기 때문에..) K값이 높으면 높을 수록 미래 데이터는 예측하기 힘들다.
평균 이상의 더 큰 근접 값들이 있기 때문에 k=5를 사용해서
좀 더 평활한 예측 표면의 결과를 가져온다. K가 증가하면서
예측은 K=N이 되는 한계까지 좀 더 평활하게 나타난다.
1.4.8 모형의 선택
좀 별 내용이긴 하지만
지금 아무리 눈뜨고 뒹굴 뒹굴 쳐다봐도
공감 안되고 이해 안되서 그냥 재껴버림.
1.4.9 공짜 점심은 없다
모든 상황에 적합한 알고리즘이나 방정식은 없다.
각각의 알고리즘과 정리 그리고 방정식은 각각의 상황에 어울리는 분야가 존재한다.
아무리 잘 만들어져있는 알고리즘이라 하더라도 다른 분야에서는 분명
다른 관점 때문에 오차가 발생하게 될 것이다.
또한,
아무리 오차가 많이 발생하는 알고리즘이라 하더라도 그 부분은 분명 쓸모 있다.
즉, 캐빈머피님의 말을 의역해보자면.
"다 공부해 병X아, 다 맞는 말이야!
쳐.맞.는.말
이 쟈아아시가아아"
소감
과제
1. 한 번 더 읽기
2. 엄마품에 안기기
3. 엄마 품에서 공부 열심히 하겠다. 다짐하기
4. 한 번 더 읽기
5. 아빠 품에서 열심히 돈 벌어 오겠다 다짐하기
6. 마지막으로 한 번 더 읽기
References
Kevin Murphy 의 머신 러닝
https://www.cs.ubc.ca/~murphyk/MLbook/pml-intro-22may12.pdf
다크프로그래머의 차원의 저주
http://darkpgmr.tistory.com/145
S.Rulez 님의 ppt
http://www.slideshare.net/SRulez/machine-learning-ch1?ref=http://srulez.com/wp/?p=71
여러가지 수학 기호
http://www.rapidtables.com/math/symbols/Statistical_Symbols.htm
http://blog.bagesoft.com/965
http://blog.daum.net/hangil2020/13248389
http://www.rapidtables.com/math/symbols/Statistical_Symbols.htm
부족함이 많은 ppt에 대한 코멘트.
치킨 단톡방's 머신러닝 스터디방의 @이장욱멘토님
기본적으로 모형을 이용한 예측을 하는대 기본이 되는 중요한 점들이 있습니다. 그런데, 그런 기본이 되는 중요한 점들은
일반적으로 간과 되는 부분이 있기 마련입니다. 그것은 바로 '데이터의 특성'과 '사용되는 분야' , 그리고 '환경' 입니다. 이러한
요인들은 많지만 우선 기본적으로 '데이터의 특성'을 고려하며 모형을 사용해야 합니다.
데이터의 특성을 엮어서 같이 공부하지 않으면 궁극적으로 모형을 왜곡되게 사용 할 수 있습니다. 흔히 말하는 Bias
(Threshold)의 오차가 심각해지는 것이죠. 그러니 모형을 이용한 예측을 설명함에 있어서 '데이터의 특성'에 대한 고려의
필요성에 대한 문장이 있었으면 합니다. 사람들이 해당 모형(모델)은 어디에나 사용될 수 있는 것이라 간과 하지 않게 끔
말이지요.
2차 배포 및 수정 및 등등.
다 필요없으니 막 가져다 쓰세여.
대신 제거가 아닌것도 많아영. 그러니 References 는
살려두세여.
그리구 2차 배포는 안알려줘도 되는데, 수정하거나 더 좋게
변경했다면 저도 좀 보내주세여 ㅠㅠ dydwls121200@gmail.com <= 여기로..
아니면 제 구글 docs 공유해 드릴게여 제걸로 좀
수정해주세영. 헤헤.

Contenu connexe

Tendances

ομάδα δημητριακών και ψωμιού
ομάδα δημητριακών και ψωμιούομάδα δημητριακών και ψωμιού
ομάδα δημητριακών και ψωμιούxrysa123
 
ΠΑΙΔΙΚΗ ΠΑΧΥΣΑΡΚΙΑ
ΠΑΙΔΙΚΗ ΠΑΧΥΣΑΡΚΙΑ ΠΑΙΔΙΚΗ ΠΑΧΥΣΑΡΚΙΑ
ΠΑΙΔΙΚΗ ΠΑΧΥΣΑΡΚΙΑ Sofia Babou
 
კროსვორდი ცხოველები
კროსვორდი ცხოველებიკროსვორდი ცხოველები
კროსვორდი ცხოველებიmakaafriamashvili
 
Folije osnove računovodstva
Folije osnove računovodstvaFolije osnove računovodstva
Folije osnove računovodstvaromina2709
 
მელია და მამალი
მელია და მამალიმელია და მამალი
მელია და მამალიMaiaKukhianidze
 
ეზოპე .იგავები
ეზოპე .იგავებიეზოპე .იგავები
ეზოპე .იგავებიIrina Zaqareishvili
 
რიცხვში მონაცვლე ზმნები Copy
რიცხვში მონაცვლე ზმნები   Copyრიცხვში მონაცვლე ზმნები   Copy
რიცხვში მონაცვლე ზმნები CopyN2 public school
 
გრ.ორბელიანი
გრ.ორბელიანიგრ.ორბელიანი
გრ.ორბელიანიmarina 77
 
ინტერნეტ მარკეტინგი (პრეზენტაცია)
ინტერნეტ მარკეტინგი (პრეზენტაცია)ინტერნეტ მარკეტინგი (პრეზენტაცია)
ინტერნეტ მარკეტინგი (პრეზენტაცია)davit grdzelidze
 
გვრიტი და მტრედი
გვრიტი და მტრედიგვრიტი და მტრედი
გვრიტი და მტრედიnatalia kochua
 
Challenger 4655 SPRA - COUPE (auto trans) parts catalog
Challenger 4655 SPRA - COUPE (auto trans) parts catalogChallenger 4655 SPRA - COUPE (auto trans) parts catalog
Challenger 4655 SPRA - COUPE (auto trans) parts catalogPartCatalogs Net
 
3.4 ομάδα 2η φρούτα και χορταρικά οικιακη οικονομια
3.4 ομάδα 2η φρούτα και χορταρικά οικιακη οικονομια 3.4 ομάδα 2η φρούτα και χορταρικά οικιακη οικονομια
3.4 ομάδα 2η φρούτα και χορταρικά οικιακη οικονομια chrispaokj
 
Akutpediatrik 211020 utan patientfall
Akutpediatrik 211020 utan patientfallAkutpediatrik 211020 utan patientfall
Akutpediatrik 211020 utan patientfallJonas Ludvigsson
 

Tendances (18)

ομάδα δημητριακών και ψωμιού
ομάδα δημητριακών και ψωμιούομάδα δημητριακών και ψωμιού
ομάδα δημητριακών και ψωμιού
 
Διατροφή Προβάτων
Διατροφή ΠροβάτωνΔιατροφή Προβάτων
Διατροφή Προβάτων
 
ΠΑΙΔΙΚΗ ΠΑΧΥΣΑΡΚΙΑ
ΠΑΙΔΙΚΗ ΠΑΧΥΣΑΡΚΙΑ ΠΑΙΔΙΚΗ ΠΑΧΥΣΑΡΚΙΑ
ΠΑΙΔΙΚΗ ΠΑΧΥΣΑΡΚΙΑ
 
კროსვორდი ცხოველები
კროსვორდი ცხოველებიკროსვორდი ცხოველები
კროსვორდი ცხოველები
 
Folije osnove računovodstva
Folije osnove računovodstvaFolije osnove računovodstva
Folije osnove računovodstva
 
მელია და მამალი
მელია და მამალიმელია და მამალი
მელია და მამალი
 
ეზოპე .იგავები
ეზოპე .იგავებიეზოპე .იგავები
ეზოპე .იგავები
 
რიცხვში მონაცვლე ზმნები Copy
რიცხვში მონაცვლე ზმნები   Copyრიცხვში მონაცვლე ზმნები   Copy
რიცხვში მონაცვლე ზმნები Copy
 
გრ.ორბელიანი
გრ.ორბელიანიგრ.ორბელიანი
გრ.ორბელიანი
 
Disjuntor siemens
Disjuntor siemensDisjuntor siemens
Disjuntor siemens
 
ინტერნეტ მარკეტინგი (პრეზენტაცია)
ინტერნეტ მარკეტინგი (პრეზენტაცია)ინტერნეტ მარკეტინგი (პრეზენტაცია)
ინტერნეტ მარკეტინგი (პრეზენტაცია)
 
El camell de molins
El camell de molinsEl camell de molins
El camell de molins
 
გვრიტი და მტრედი
გვრიტი და მტრედიგვრიტი და მტრედი
გვრიტი და მტრედი
 
Challenger 4655 SPRA - COUPE (auto trans) parts catalog
Challenger 4655 SPRA - COUPE (auto trans) parts catalogChallenger 4655 SPRA - COUPE (auto trans) parts catalog
Challenger 4655 SPRA - COUPE (auto trans) parts catalog
 
ზღაპარი
ზღაპარიზღაპარი
ზღაპარი
 
3.4 ομάδα 2η φρούτα και χορταρικά οικιακη οικονομια
3.4 ομάδα 2η φρούτα και χορταρικά οικιακη οικονομια 3.4 ομάδα 2η φρούτα και χορταρικά οικιακη οικονομια
3.4 ομάδα 2η φρούτα και χορταρικά οικιακη οικονομια
 
Akutpediatrik 211020 utan patientfall
Akutpediatrik 211020 utan patientfallAkutpediatrik 211020 utan patientfall
Akutpediatrik 211020 utan patientfall
 
βασικές αρχές ελένχου φωτισμού
βασικές αρχές ελένχου φωτισμούβασικές αρχές ελένχου φωτισμού
βασικές αρχές ελένχου φωτισμού
 

Similaire à 캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic

파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) 파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) Yunho Maeng
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)MYEONGGYU LEE
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regressionHaesun Park
 
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석Kwang Woo NAM
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해Hee Won Park
 
05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)Jeonghun Yoon
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks ISang Jun Lee
 
Machine learning bysogood
Machine learning bysogoodMachine learning bysogood
Machine learning bysogoodS.Good Kim
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)Lee Seungeun
 
2.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-12.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-1Haesun Park
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거도형 임
 
머신 러닝을 해보자 1장 (2022년 스터디)
머신 러닝을 해보자 1장 (2022년 스터디)머신 러닝을 해보자 1장 (2022년 스터디)
머신 러닝을 해보자 1장 (2022년 스터디)ssusercdf17c
 
2.supervised learning
2.supervised learning2.supervised learning
2.supervised learningHaesun Park
 
3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learingHaesun Park
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)SK(주) C&C - 강병호
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01Kwang Woo NAM
 

Similaire à 캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic (20)

파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) 파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regression
 
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
 
05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
01. introduction
01. introduction01. introduction
01. introduction
 
Machine learning bysogood
Machine learning bysogoodMachine learning bysogood
Machine learning bysogood
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
 
2.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-12.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-1
 
Decision tree
Decision treeDecision tree
Decision tree
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거
 
머신 러닝을 해보자 1장 (2022년 스터디)
머신 러닝을 해보자 1장 (2022년 스터디)머신 러닝을 해보자 1장 (2022년 스터디)
머신 러닝을 해보자 1장 (2022년 스터디)
 
2.supervised learning
2.supervised learning2.supervised learning
2.supervised learning
 
3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learing
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)
 
Naive ML Overview
Naive ML OverviewNaive ML Overview
Naive ML Overview
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01
 

Plus de 용진 조

Elasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txt
Elasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txtElasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txt
Elasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txt용진 조
 
당근마켓에서 IaC경험
당근마켓에서 IaC경험당근마켓에서 IaC경험
당근마켓에서 IaC경험용진 조
 
신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰
신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰
신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰용진 조
 
서버리스에 람다 대해 알아보자 [이론편] - 1
서버리스에 람다 대해 알아보자 [이론편] - 1서버리스에 람다 대해 알아보자 [이론편] - 1
서버리스에 람다 대해 알아보자 [이론편] - 1용진 조
 
how to use fiddler (Ver eng)
how to use fiddler (Ver eng)how to use fiddler (Ver eng)
how to use fiddler (Ver eng)용진 조
 
Fiddler 피들러에 대해 알아보자
Fiddler 피들러에 대해 알아보자Fiddler 피들러에 대해 알아보자
Fiddler 피들러에 대해 알아보자용진 조
 
XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]용진 조
 
유비쿼터스의 클라우드
유비쿼터스의 클라우드유비쿼터스의 클라우드
유비쿼터스의 클라우드용진 조
 
201133271 조용진 io t 발표
201133271 조용진 io t 발표201133271 조용진 io t 발표
201133271 조용진 io t 발표용진 조
 
개발자는 원래 말을 잘 못해요?
개발자는 원래 말을 잘 못해요?개발자는 원래 말을 잘 못해요?
개발자는 원래 말을 잘 못해요?용진 조
 

Plus de 용진 조 (10)

Elasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txt
Elasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txtElasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txt
Elasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txt
 
당근마켓에서 IaC경험
당근마켓에서 IaC경험당근마켓에서 IaC경험
당근마켓에서 IaC경험
 
신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰
신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰
신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰
 
서버리스에 람다 대해 알아보자 [이론편] - 1
서버리스에 람다 대해 알아보자 [이론편] - 1서버리스에 람다 대해 알아보자 [이론편] - 1
서버리스에 람다 대해 알아보자 [이론편] - 1
 
how to use fiddler (Ver eng)
how to use fiddler (Ver eng)how to use fiddler (Ver eng)
how to use fiddler (Ver eng)
 
Fiddler 피들러에 대해 알아보자
Fiddler 피들러에 대해 알아보자Fiddler 피들러에 대해 알아보자
Fiddler 피들러에 대해 알아보자
 
XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]
 
유비쿼터스의 클라우드
유비쿼터스의 클라우드유비쿼터스의 클라우드
유비쿼터스의 클라우드
 
201133271 조용진 io t 발표
201133271 조용진 io t 발표201133271 조용진 io t 발표
201133271 조용진 io t 발표
 
개발자는 원래 말을 잘 못해요?
개발자는 원래 말을 잘 못해요?개발자는 원래 말을 잘 못해요?
개발자는 원래 말을 잘 못해요?
 

캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic

  • 1. Kevin Murphy의 Machine Learning. Intro. + Chapter 01 조 용진 dydwls121200@gmail.com
  • 2. Intro. 책에서 원하는 접근 방법 1. 데이터를 확률론적 접근을 중요시하고 이 책의 전부이다. 2. 데이터를 정보시스템에 활용하기 위해 어떻게 정리할 것인가? 3. 확률론적 모델링(설계)을 먼저 고려한다. 4. 데이터를 어떻게 모은다거나, 데이터를 어떻게 출력한다거나, 어떤 라이브러리를 사용한다거나, 코드에 ㅋ 자도 안들어간다. 정말 순수한 수학이다. 5. 매트랩과 수학공식 그리고 책의 설명, 그리고 책에서 언급한 참고문헌 4개를 같이 보기를 권장한다. (그래도 정신건강이 피폐해지는건 여전하다. (몰라서 피폐..))
  • 3. Intro. 책을 읽기 위한 독자의 스펙 선형대수학, 벡터, 확률과 통계 그리고 각 공식과 기호의 영문 표기를 알아야한다. 통계학적 지식은 정말 … 뭔 기호 좀 적당히 썻으면 좋겠다. 하 .. 그냥 하소연이다. 공부해야지… 머피상은 잘못이 없어... 주옥 같은 베이비 … ㅡ ㅡ … ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
  • 4. Summary about this book Kevin Murphy’s Machin Learning 1. 확률 모형의 다양성을 설명하며, 2. 다양한 범위의 데이터와 여러 종류의 임무수행을 위해 적절하게 적용 3. 1, 2 와 같은 확률 모형을 배우고 사용하는 다양한 알고리즘을 설명한다. 4. 이 책의 목표는 확률론적 모델링과 추정의 렌즈를 통한 통일된 관점을 표현해내는 것
  • 5. 1. 통계학과 머신러닝의 용어 같은 의미이지만 단어가 다릅니다. 이처럼 통계학과 머신러닝은 상당히 닮은 점이 많습니다. (아무래도 이 책은 머신러닝의 접근을 통계학적, 확률적 접근 경향이 강하므로 통계학과의 비교를 하는것임)
  • 6. 1.1 머신러닝 정의 : 머신러닝은 데이터 분석의 자동화된 방식을 말하며, 데이터의 패턴을 자동으로 인지할 수 있는 방식, 입력된 데이터를 이용하여 최적로의 답변을 출력하는 시스템이다. *머신러닝과 데이터마이닝에 있어 데이터의 양(Volume)에 대한 이야기: 머신러닝이나 데이터마이닝에 있어 꼭! 커다란 볼륨의 데이터가 필요한 것은 아니다. 작은 데이터에서 도출된 결과는 커다란 데이터에서 도출될 결과에는 오차가 있지만, 목적으로 하는 정보에 대한 도출은 변하지 않는다. 그러므로 일반화를 도출하는 핵심적인 통계학적 이슈는 빅 데이터 시대라 하더라도 작은 데이터로써 도출된 결과는 앞으로의 빅 데이터 시대의 도출될 의미와 상당한 관계가 있다.(즉, 굳이 큰 데이터로만 실험해야 하는건 아니다.)
  • 7. 1.1.1 머신러닝(접근법)의 종류 1. 예측(Predictive) 과 지시 학습/감독 학습(Supervised Learning) 2. 기술/서술(Descriptive)과 비지시 학습/무감독 학습(Unsupervised Learning) 3. 강화 학습(Reinforcement Learning) 명확한 Input과 Output이 존재하며 분류(Classification)와 예측(Regression)이 있다. 훈련용 데이터에 알고리즘을 적용하여 함수를 추론하고 그 추론된 함수를 통해 컴퓨터가 알아서 답을 찾도록 만드는 것. 출력 값은 한정된(제시된) 집합에서 찾는다. 여기서도 물론 분류를 하지만 컴퓨터에게 답을 알려줄 수 없다.(답이 있는게 아니라, 이 출력을 내보내면 최적이겠지? 와 같은 흥미 있는 결과(Interesting Patterns)를 찾는것. 입력값이 어떤 군집(Cluster)에 속하는지 분류를 한다. 전문가에 의한 사전 데이터 분류 작업이 필요하지 않다. 보편적으로 사용되지 않지만 이것은 임시의 보상 또는 벌 신호(Signal)가 주어질 때 동작이나 행동을 배우는데 유용하다. 이 책에서는 강화학습에 대한 내용은 다루지 않는다.
  • 8. 1.1.1. Supervised Learning VS Unsupervised Learning D : 학습 데이터, xi : 입력 데이터 yi : 출력 데이터 N : 데이터의 개 수 i : 번째 예측(Predictive)과 지도 학습(Supervised Learning) 기술/서술(Descriptive)과 비지도 학습(Unsupervised Learning) 목표 : 주어진 입출력 쌍, 학습 데이터에서 입력 X로 부터 출력 Y의 매핑을 배우는것 목표 : 주어진 입력 쌍, 학습 데이터에서 '흥미 있는 결과 (Interesting Patterns)'를 찾는 것. 이를 간혹 지식 발견(Knowledge Discovery) 이라 한다. D : 학습 데이터, xi : 입력 데이터 N : 데이터의 개 수 i : 번째 - xi는 숫자의 D차원 벡터라 한다. xi를 특징(Features), 속성 (Attribut e), 공변량(Covariates)이라 한다. - xi는 이미지, 메시지, 시계열, 분자, 형상 복잡한 구조를 갖는 객체일 수 도 있다. - yi는 한정된 집합에서 범주(Categorical)형 변수나 명목 (Nominal) 변수 - yi가 범주형일 때 문제는 분류(Classification) 또는 패턴 인식 (Pattern Recognifition) - yi가 실수 값일 때 문제는 회귀(Regression)라고 하며, 이 때 자연적 순서를 갖는 레이블 공간은 회귀 분석(Ordinal Regress - ion)이라 한다. - xi가 어떤 군집(Cluster)에 속하는지 분류함 - 전문가에 의한 사전 데이터 분류(정제) 작업이 필요하지 않음 - 지식발견, 흥미있는 결과 찾기는 패턴의 종류를 말하는 것이 아니기 때문에 완벽하게 정리가 된 문제는 아니며, 사용에 대한 에러 측정이 없다.
  • 9. 1.2 지도 학습 Supervised Learning 1. 분류(Classification) 2. 회귀(Regression) 실제로 머신 러닝에서 가장 넓게 사용되는 지도 학습. 먼저 가르친 다음에야 시스템을 이용한다는 모델. 지도 학습 종류
  • 10. 1.2.1 분류 Classfication 목적 : 클래스*의 숫자인 C**를 가진 y∊{1,2,3,4, …….. , C} 인 곳에서 입력 x 로 부터 출력 y를 매핑하는 것을 배운다. 구분 : (C = 2) 이항 분류(Binary Classification) 또는 이항 레이블 분류 조건: yi ∊ {0,1} | {N,Y} | {F,T} (C > 2) 다중클래스 분류(Multiclass Classification) 또는 다중 클래스 레이블 분류(Multi-label Classification) 조건: yi ∊ {1,2,3,4, …….. , C} 필요 작업 : 근사화(Function Approximation) : 정확한 매핑을 알 수 없기 때문에 실시함 y = f(x) -> ㅇ ^ 표시는 가장 목표에 가까운 값(최대값) 다중 레이블 분류는 이항클래스 레이블와 연관해서 다중 레이블을 예상하는 것으로는 최적의 관점이다.( 흔히 Multiple Output Model 이라 부름). '분류'라는 용어를 사용할 때 그 외에 별다른 언급이 없다면 단일 출력을 가진 다중 클래스 분류(Multiclass Classfication)를 의미함. '분류'는 정확한 매핑을 할 수 없을 때가 빈번한대 정확한 매핑을 할 수 없기 때문에 근사화를 한다. *클래스와 **C: 치역y 집합인 Y 원소의 개수를 C라 한다. 그리고 Y원소를 클래스라고 한다. ***레이블 : 치역의 값 0 ,1,2,3,4 N,Y F,T 등등..
  • 11. 1.2.1 분류 Classfication -왼쪽의 그림은 0(No)과 1(Yes)0로 구분된 학습 데이터들이 있다. -오른쪽의 표는 학습 데이터들을 테이블의 형태로 나타낸 것이다. N(학습된 Case 행), D(학습데이터의 속성들) N * D 형태의 테이블이 있고 입력 속성 x 는 이산,연속 또는 두 개의 조합이다. 이를 입력에 추가해서 훈련 레이블 y의 벡터를 갖는다. 입력 x는 파란 초승달, 노란 도넛, 파란 화살표 이다. -파란색 초승달, 노란 도넛, 파란색 화살표는 테스트 데이터에도 없었고 학습되지도 않았을 경우에는 일반화(근사화)가 요구된다. 해당 항목(attribute에 쌓인 데이터들 한 행에 쌓인 Case들 해당 Case의 출력 값은 1
  • 12. 1.2.1 분류 Classfication 테스트 데이터 {파란 초승달, 노란 도넛, 파란 화살표} - 파란 초승달은 레이블이 1이 된 케이스항목에는 파란색, 사각형, 10cm 항목 중 파란색이 일치하기 때문에 1 이 출력 될 것이다. - - 노란 도넛은 D*N의 테이블에는 데이터가 없다. 그러므로 추측을 해야만 하는데 이런 경우 일반화가 필요하다.(확률적 추론 필요) - - 파란 화살표는 레이블이 1이 된 케이스 중 가장 가까운 색상이 파란색 쪽 케이스를 보면 테스트 데이터와 일치하는 파란색상이 1을 출력시킬 것이다. 해당 항목(attribute에 쌓인 데이터들 한 행에 쌓인 Case들 해당 Case의 출력 값은 1
  • 13. 1.2.1 분류 Classfication 일반화(근사화): 입력 벡터 x (테스트 데이터, 그림)와 훈련 집합 D에서 가능한 레이블에 대한 확률 분포 추정 p(y|x,D,M) 에서 해당 예제에 맞는 공식은 다음과 같다. 해당 항목(attribute에 쌓인 데이터들 한 행에 쌓인 Case들 해당 Case의 출력 값은 1 -입력된 x에 대하여 결과 값 레이블 중 가장 높은 확률을 가지는 p(y=c|x,d)를 출력한다. -argmax 는 c 처음부터 끝까지 대입 했을 경우 가장 높은 확률을 값으로 취한다. -가장 높은 가능성이 높은 클래스가 입력된 값의 출력값 된다. -출력된 값은 분포 p(y|x,D)의 모드(Mode), 최대 사후 확률(MAP:Maximum A Posteriori)가 된다. 영문 표기로는 Conditional Probability of y on x, D and M 라 한다. 세가지의 입력 데이터가 모두 모형에서 알게 되는 정보들이고 그 결과로 y 분포를 설명한다. *나중에 집합이나 관계식으로 풀어서 설명하도록 한다. 우선 이정도로만..
  • 15. 1.2.2 회귀 Regression 회귀는 응답 변수(출력값:y)가 계속 이어지는 것(연속적)을 제외하고 분류(Classification)와 같다. yi는 한정된 집합에서 범주형(Categorical) 변수,명목(Nominal) 변수, 실수값을 갖는 스칼라(소속 등급)일 때는 분류 및 패턴 인식 모델 yi가 실수값 이라면 회귀 모델, 회귀 모델의 변형 형태는 회귀 분석이 있으며 A to F 등급과 같은 자연적 순서를 갖는 레이블 공간 Y에서 회귀 모델이 발생한다. 단일 실수의 입력 x ∊ R, 단일 실수의 응답 y ∊ R 이다. 데이터에 대한 적합한 일차와 이차 함수 모형을 고려할 것이다. 고차원 입력, 특이값, 평활하지 않은 응답을 갖고 다양한 확장이 발생할 수 있다. (다음 챕터에서는 고차원 입력, 특이값, 평활하지 않은 응답일 때 어떻게 처리해야하며 어떤 모델을 적용시켜야 하는지 소개한다)
  • 16. 1.2.2 회귀 Regression 실 생활에서 사용되는 회귀 문제. - 현재 주어진 시장 상태와 가능한 부수적 정보로 미래의 주식을 예측한다. - 유튜브에 특정 비디오를 보는 사용자의 나이를 예측한다. - 로보트 팔의 엔트 이펙터가 3D 공간에서 위치를 예측, 주어진 제어 신호(토크)를 다양한 모터로 보낸다. - 다양한 의학적 측정 용도로 몸속의 전립선 특이항원 (PSA: Prostate Specific Antigen)의 양을 예측 한다. - 날씨 데이터와 시간, 문의 센서 등을 사용해서 건물 안의 온도를 예측한다.
  • 17. 1.3 비지도 학습 Unsupervised Learning 목표 : 데이터에서 흥미 있는 구조(Interesting Knowledge,Knowledge Discovery)를 발견하는 것. 특징 : 지도학습과 다르게 예상되는 출력이 각 입력에 대한 것이라고 말하지 않으며, 대신 밀도 추정(Density Estimation)의 하나로서 수행을 공식화하고, p(xi|θ) 의 모형을 설계하는 것이 목표이다. 라벨링, 정형화된 학습 데이터를 이용하지 않는다.
  • 18. 1.3 비지도 학습 vs지도학습 Unsupervised Learning 첫 째, p(yi|xi,θ)를 대신해 p(xi|θ)로 쓰며, 즉 지도 학습은 조건 적인 밀도 추정이고, 반면 자율 학습은 비조건적인 밀도 추정이다. 둘 째, xi는 벡터의 성질을 갖고, 다양한 확률 모형을 만드는 것이 필요함. 대조적으로 지도학습에서는 yi는 일반적으로 예측을 시도하는 단일 변수이다. 이것이 대부분의 지도학습이며, 다변량의 확률 모형을 사용(입력에 의존하는 변수), 상당히 문제를 단순화 한다. 비지도 학습은 거의 틀림없이 인간과 동물의 전형적인 모습으로, 지도 학습보다는 더 폭 넓게 적용된다. 전문가가 수작업으로 데이터를 분류하는 것을 요구하지 않기 때문이며, 비 정형화 된 데이터를 습득하고, 비교적 적은 정보를 포함하며, 복잡한 모형의 변수를 신뢰할 수 있도록 예측하는 것은 뛰어나지 않다.
  • 19. 1.3 비지도 학습 Unsupervised Learning 1. 군집 발견 2. 잠재 요인의 발견 3. 그래프 구조 발견 4. 매트릭스 완성
  • 20. 1.3.1 군집 발견 Clustering, Cluster Discovery 목표 : 1. K는 특정 집단의 숫자 및 무리의 숫자를 나타 낼 때, p(K|D)인 집단의 숫자에 대한 분포를 예측하는 것. 이것은 데아터 내부에 소집단이 있는 지를 알려준다. 단순화한 모드*에 의해 p(K|D)의 분포를 자주 예측하며, p(K|D)인 분포의 공식은 다음과 같다. 자율 학습은 군집의 크기에 상관 없이 무리를 자유롭게 선택한다. 2. 입력값을 통하여 군집(특정 무리)이 어느 포인트에 속하는지 예측하는 것. i가 할당된 데이터를 가리키는 군집을 zi ∊ {1, 2, 3, …… K }라 표현 할 때(훈련 집합에서 결코 관찰 되지 않으므로 숨겨져 있거나 잠재된 변수가 된다.) 다음과 같은 공식을 계산에 이용하여 입력 데이터의 군집을 추정할 수 있다. Superscript 로 애스터리스크를 쓰는게 자주 나오는 표기법인데, K 자체는 변수의 이름이고, K*는 p 특정 K를 말한다. 이 공식은 " *p(K|D)를 최대로 하는 K값을 K*라고 한다" 라고 해석한다. 종종 Analytical 하게 풀지 않고, 가능한 K값들을 하나하나 대입하는 방식으로 p(K|D)가 최대가 되는 경우를 찾는 관점으로 저 식을 바라봐서, 현재 대입중인 K*를 Saple Test Case 라고 부르기도 한다.
  • 21. 1.3.1 군집 발견 Clustering, Cluster Discovery - 해당 그래프는 사람의 키와 몸무게를 주제로 한 그래프 이다. - 왼쪽 그래프는 요구하는 군집 없이 그래프를 그렸을 경우 - 군집 2를 불렀을 경우 사용하는 클러스터링. 빨간 원이 k=2 에 속한 데이터 이다. 선택 군집 없음 K = 2 HeightHeight Weight
  • 22. 1.3.1 군집 발견 Clustering, Cluster Discovery 군집화의 실 생활의 응용: - 천문학에서, 클러스터링 천체 물리학 측정에 기초한 오토클래스 시스템이 새로운 타입의 별을 발견했다. (군집이 적은 집단을 발견하다보니..) - 전자상거래에서, 구입이나 웹 서핑 동작에 기초해 쉽게 사용자들을 그룹으로 군집화 하고, 각 그룹의 대상에 맞는 광고를 내보내 도록 한다. - 생물학에서, 유동 세포 분석 데이터를 쉽게 그룹으로 클러스터링 하고, 세포의 다른 하위 집단을 발견한다.
  • 23. 1.3.2 잠재 요인 발견 Latent Factor Discovery 차원축소(Dimensionality Reduction): 고차원 데이터 -> 저차원 데이터로 고차원 데이터를 처리할 때 낮은 차원의 부분 공간으로 데이터를 투영함으로 써 차원을 줄이는 것이 고차원 데이터의 '본질'을 파악하는데 유용하다. 예를 들어 설명하면 차원축소는 3차원의 데이터를 2차원의 평면으로 투영한다. 대부분의 점이 부분 공간에 놓이기 때문에 2 차원의 근사값은 분석하기 좋다 (우선 2차원 평면상으로 밀집지역을 확인 할 수 있기 때문에.). 1차원으로 축소하는 것은 투영한 점이 빨간색 라인과 연관되며, 이것은 다소 좋은 근사값은 아니다. (알아보기 힘든게, 학습 데이터가 후지네여) 고차원중 일부 잠재요인이 데이터 성격 규명 -데이터가 고차원의 형태일 수 있지만, 잠재 요인(Latent Factor)으로 작은 수의 가변도 일 수 있다. ->사실 고차원 데이터에서 얻을 수 있는건 작은 사실인대, 고차원이므로 그 사실을 찾기까지가 고될 수 있다.
  • 24. 1.3.2 잠재 요인 발견 Latent Factor Discovery 다차원 데이터 (3차원 이상 방정식의 데이터)영상화가 어려움 다른 통계모형을 입력으로 사용할 때 예측 가능한 정확성을 산출하기 위해 물체의 '본질'에 초점을 맞추고 불 필요한 특징을 거르기 위해 낮은 차원의 표현을 사용한다. 낮은 차원의 표현은 '최근접 이웃 객체' 검색을 활성화 하면 빠르게 검색가능하며, 2차원 투영은 고차원 데이터의 영상화(Visualizing)를 위해 매우 유용하다. 주요인(주성분) 분석 (PCA: Principa Component Analysis) 차원 축소를 위한 보편적인 접근인 주요인(주성분) 분석은 PCA라 부르며 이것은 (다중출력)직선 회귀Linear Regression의 자율화 버전으로 간주하며, 고차원 반응 y를 관찰하지만 저차원 '원인' z는 아니다. 따라서 모형은 z->y 형태를 갖고, '화살표를 뒤집어서' 관찰된 고차원 y로 부터 잠재된 낮은 차원의 z를 추정한다.
  • 25. 1.3.2 잠재 요인 발견 Latent Factor Discovery 다른 분야에서 PCA의 활용 - 생물학에서 유전자 미세 배열을 해석하기 위해 보편적으로 PCA를 사용하며, 각 측정이 일반적으로 다른 유전자 경로에 속하는 연관 동작을 가진 많은 유전자의 결과라는 사실을 설명하기위해 PCA를 사용한다. - 자연 언어 처리에서, 문서 추출을 위해 잠재된 구문 분석이라고 부르는 다른 종류의 PCA 를 사용한다. - 신호 처리에서(음향,아날로그,신경계), 신호를 다른 소스로 분리하기 위해 ICA(PCA의 변형)를 보편적으로 사용한다. - 컴퓨터 그래픽에서, 움직이는 동작 데이터를 낮은 차원의 공간으로 투영하고, 그것을 애니메이션으로 만들기 위해 사용한다.
  • 26. 1.3.3 그래프 구조 발견 Graph Structure Discovery 상관 관계가 있는 변수의 집합을 측정하고 서로 가장 관련이 있는 것을 발견한다. 이것은 그래프 G에 의해 표현될 수 있으며, 노드(Node)는 변수를 말하고, 라인(Line)은 변수 사이에서 직접적인 의존 관계(Relation Dependency)를 표현한다. 데이터로 그래프 구조를 배울 수 있으며 다음과 같은 공식으로 표현한다. 일반적으로 자율 학습은 '학습 희박 그래프(Sparse Graph)'에 대한 두 개의 주요 응용이 있으며, 이 학습 희박 그래프는 새로운 지식을 발견하기 위해서, 그리고 더 좋은 결합 확률 밀도 함수를 예측하기 위해 사용한다. ^ 표시는 가장 목표에 가까운 값(최대값)
  • 27. 1.3.3 그래프 구조 발견 Graph Structure Discovery 학습 희박 그래프 모형에 대한 두 개의 주요 응용 사례 1, 시스템 생물학 분야: 오른쪽 그림은 세포에서 단백질의 인산화 상태를 특정하는 것을 가정할 때 그려진 그래프이다. 이것은 데이터로 학습된 그래프의 구조이다. 또는 새의 신경계 '배선도'를 복구할 수도 있다. -> 노드간의 연결을 구하거나 발견할 때 2. 그래프를 해석하는 데 관심을 두지 않고, 모형의 상관 관계를 예측하기 위해 사용하기도 한다. (ex: 재무 포트폴리오 관리 업무, 다량의 주식 사이에서 공분산의 정확한 모형, 교통 체증을 예측) 학습에 의한 희박한 그래프와 거래 전략을 기초로 사용함.(희박 그래프를 활용하지 않는 방식보다 더 나은 결과를 얻을 수 있도록)
  • 28. 1.3.4 매트릭스 완성 Matrix Completion 대치법(Imputation) 의 목표 손실된 엔트리(entry)*에 대한 타당한 값을 추정하는 것이며, 이것을 매트릭스 완성(Matrix Completion) 이라고 한다. 실생활에서 손실된 엔트리의 값을 완성하는 사례 -영상 인페인팅(Imputation-like task:대치법 수행 이라고 부른다.) -협력적 필터링(Collaborative Filtering) -마켓 바스켓 분석(Market Basket Analysis) 엔트리(Entry)* : 수 많은 입력 값.
  • 29. 1.3.4.1 영상 인페인팅(Video Inpainting) -영상 인페인팅(Video Inpainting) 영상 인페인팅은 대치법 수행을 사용한다. 이미지의 노이즈를 제거할 뿐만 아니라, 가림으로 숨겨져 있는 픽셀을 대치시킨다. 픽셀의 결합 확률 모형을 설계해서 서로 견줘보고, 주어진 픽셀 값으로 알려지지 않은 픽셀의 값을 추정한다. (위와 같은 과정을 마켓 바스켓 분석MBA:Market Basket Analysis)이라 하고, 데이터가 실수치의 값과 공간적으로 구조화된 것을 제외한다.)
  • 30. 1.3.4.2 협력적 필터링(Collaborative Filtering) - 협력적 필터링(Collaborative Filtering) 협력적 필터링은 대치법 수행을 사용한다. 협력적 필터링의 보편적인 예는 이미 시청한 영화의 비율에 기초하여 그들이 보고 싶어 하는 영화를 예측하는 것이다. 핵심적인 아이디어는 예측을 영화나 사용자의 특징에 기초하지 않고 단지 등급 행렬(Rating Matrix)에 의해 시행된다는 점이다. X(m,u)인 행렬 X가 영화 m의 사용자 u 에 의해 등급을 갖는다.(1~5의 선호 등급을 갖는다.) 이 때 X에서의 엔트리(행렬 값) 들은 대부분 없거나 알려지지 않은 데이터가 있다는 것이다. 따라서 X의 행렬 아주 작은 부분집합을 관찰하고, 다른 부분집합을 관찰해야 한다. 활용 가능성에 대한 예로써 이 경우에는 미처 사람들이 보지 못했던 영화에 등급에 등급이 매겨져 추천되기를 원할 지도 모른다. 훈련 데이터는 빨간색, 테스트 데이터는 '?' 빈칸은 알려져 있지 않다.
  • 31. 1.3.4.3 마켓 바스켓 분석(Market Basket Analysis) 정의 : 만약 소비자가 어떤 그룹에 포함된 물건들을 산다면, 그 소비자는 다른 그룹의 물건들도 산다. 이것은 소비자의 구매 행동, 판매에 증가, 물류 창고의 유지를 분석할 때 사용된다. 마켓 바스켓 분석은 Apriori Algorithm Train, Identifies Product Baskets, Association Rules 들이 데이터 셋으로 구성된다. Theory : 데이터는 이항 행렬로 구성되고, 각 열은 아이템이나 상품을 표현하며, 각 행은 거래로 표현됨. 아이템 j가 i번째 거래에서 구매된다면 xji =1 로 설정한다. 많은 아이템이 서로 함께 구매되며, 따라서 비트 사이에서 서로 연관성이 있을 것이다. 새롭게 부분적으로 관찰된 비트 벡터가 주어질 때 소비자가 구입한 아이템의 부분집합을 표현하며, 목표는 소비자가 사고 싶을 수 있는 다른 아이템을 표현하도록 다른 비트들이 쉽게 연결되도록 예측하는 것이다. (협력적 필터링과는 달리 각 고객의 과거 쇼핑 동작을 알기 때문에 훈련 데이터에서 손실 데이터가 없다는 것을 가정한다.)
  • 32. 1.4 머신 러닝의 기초 개념 (이걸 알아야 '그 이후'가 가능) 1. 모수적 모형과 비 모수적 모형 2. 단순한 비 모수적 분류기 : K 근접 이웃 3. 차원의 저주 4. 분류와 회귀에 대한 모수적 모형 5. 선형 회귀 6. 로지스틱 회귀 분석 7. 과대 적합 8. 모형 선택 9. 공짜 점심은 없다는 이론
  • 33. 1.4.1 모수적 모형과 비 모수적 모형 모집단 알고 있는 집단. 적당한 집단의 수를 정해서 통계학적 계산을 진행한다. 결국 정확한 값을 도출하기에는 무리가 있다. 제한적인 집단의 수가 특징이다. 통계학의 분석 방법들은모수(Parameter)를 필요로 하는가, ‘필요로 하지 않는가’에 따라 모수 통계학과 비 모수 통계학으로 나뉜다. 모수적 분석(Parametric Analysis) vs 비모수적 분석(Nonparametric Analysis) 입력데이터의 특정한 특성(정규분포 등)을 가정함 vs 입력데이터의 특성을 가정하지 않음 빠르게 사용할 수 있는 장점이 있다. vs 유동적이다. 데이터 분포의 본질에 대한 강한 가정을 만드는 단점 vs 큰 데이터 집합에 대해 계산적으로 아주 다루기 힘들다. 당연하지만 차이 p(y|X)의 형태냐 p(x)의 형태의 확률이냐. 고정된 변수의 개수를 갖느냐(모수적 모형), 훈련 데이터의 양에 따라 변수의 개수가 변하는가(비 모수적 모형)
  • 34. 1.4.2 단순한 비 모수적 분류기 : K 근접 이웃(좀 중요) K 근접 이웃 분류기(KNN, K Nearest Neighbor) 이것은 단순히 테스트 입력 x 가 있는 훈련 집합에서 K 포인트를 '검토'하는 것이며, 각 클래스에 얼마나 많은 멤버가 이 집합에 있는지 개수를 계산하고 예상하는 값으로 경험률을 반환한다. : D 안에서 x에 대한 K 근접 포인트 : 표시 함수(Indicator Function) 이런 경험률 반환 하는 분류기는 메모리 기반 학습(Memory-based Learning) 또는 인스턴스 기반 학습(Instance-based Learning) 이라 한다. 거리 척도를 위해 사용하는것은 보편적으로 유클리드 거리를 사용한다. 그림 A 그림 B 읽어 보고 오기 http://1004jonghee.tistory.com/entry/kNN-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98
  • 35. 1.4.2 단순한 비 모수적 분류기 : K 근접 이웃(좀 중요) 그림 A: k=3 에 대한 2d의 kNN을 설명, 테스트 포인트 x1 의 3 근접 이웃은 {1,1,0}의 레이블을 갖고 p(y=1| x1, D, K=3) = 2/3을 예측함. 테스트 포인트 x2 의 3 근접 이웃은 {0,0,0} 레이블을 갖고 p(y=1 | x2 , D, K=3) = 0/3 을 예측한다. 그림 B: 1-NN에 의해 유도된 보로노이 테셀레이션의 예이다. K=1을 가진 kNN 분류기는 포인트의 보로노이 테셀레이션을 유도한다. (Voronoi Tesselation) 이것은 각 포인트 xi를 가진 영역 V(xi)와 연관된 공간의 분할이며, 그런 식으로 V(xi)에서 모든 포인트는 어떤 다른 포인트 보다 xi에 인접한다. 각 칸(셀)안에서 예측된 레이블은 모두 훈련 포인트에 대응하는 레이블이다. 그림 A 그림 B
  • 36. 1.4.2 단순한 비 모수적 분류기 : K 근접 이웃(좀 중요) 그림 a 2d 에서 합성의 3 클래스 훈련 데이터 그림 b k=10 을 가진 kNN에 대한 클래스 1의 확률 p(y=1|x,D) 이고, 여기서 x는 포인트 그리드에서 평가된다. 그림 c k=10 을 가진 kNN에 대한 클래스 10의 확률 p(y=2|x,D) 이고 확률의 합은 1이 되기 때문에 p(y=3|x,D) 를 그릴 필요는 없다. 그림 d 클래스 레이블의 MAP 예측 MAP 예측 을 그린다. Train p(y=1 | data, K=10) 그림 a 그림 b p(y=2|data, k=10) predicted label, k=10 그림 c 그림 d
  • 37. 1.4.3 차원의 저주(Curse of Dimensionality) 차원의 저주를 설명하기 앞서 우리는 문제를 풀 때 왜? 차원의 확장과 축소를 왜 해서 문제를 해결 하는지 고민을 해야 한다. 기하학적 관점외에도 시스템의 독립 변수의 개수로 차원을 정의할 수도 있다. 헬리콥터의 움직임이 프로펠러 축의 회전속도, 4개의 프로펠러 날개 각각의 경사각도, 꼬리 날개의 회전속도 이 6가지 요인에 의해 결정된다고 가정하면 헬리콥터의 움직임을 결정하는 파라미터 공간은 6차원 공간으로 볼 수 있다. 차원을 축소하고 확대하는 이유 좋은 Feature를 찾아서 식별력을 높이고, 데이터의 분포를 단순한 모델로 근사시켜 분석하기 위함이다. 차원의 문제에 대한 축소의 접근은 인간의 머리로 이해하거나 흐름,규칙등을 발견하기 어려운 고차원의 문제를 우리가 다룰 수 있는 저 차원의 문제로 단순화 시켜서 처리하고자 하는 것이다. 차원의 확장은 복잡한 문제를 오히려 새로운 차원을 추가함으로써 단순화 시키고자 하는 것이다. 복잡하게 보임요 ㅠ.
  • 38. 1.4.3 차원의 저주(Curse of Dimensionality)
  • 39. 1.4.3 차원의 저주(Curse of Dimensionality)
  • 40. 1.4.3 차원의 저주(Curse of Dimensionality)
  • 41. 1.4.3 차원의 저주(Curse of Dimensionality)
  • 42. 1.4.3 차원의 저주(Curse of Dimensionality)
  • 43. 1.4.3 차원의 저주(Curse of Dimensionality) 차원의 축소(차원의 저주) (축소만 차원의 저주가 아님.) 데이터의 차원이 증가할 수록 해당 공간의 크기(부피)가 기하급수적으로 증가하기 때문에 동일한 개수의 데이터의 밀도는 차원이 증가할 수록 급속도로 희박(sparse)해진다. 즉, 따라서, 차원이 증가할 수록 데이터의 분포 분석 또는 모델 추정에 필요한 샘플 데이터의 개수가 기하급수적으로 증가하게 되는데, 이러한 어려움을 표현한 용어가 '차원의 저주'이다. 따라서, 분석 등의 차원에 관계된 문제에 있어서 어떻게든 핵심이 되는 파라미터만 선별하여 문제의 차원을 낮추고자 함이 일반적이다. 데이터의 차원을 낮추는 기계적인 방법으로는 주성분분석(Principal Component Analysis,PCA)등이 있다. 2차 방정식 3차 방정식 2차 방정식 + Oppacity Color
  • 44. 1.4.3 차원의 저주(Curse of Dimensionality) 차원의 확대(차원의 저주) 차원의 문제에 대한 정 반대의 접근은 복잡한 문제를 오히려 새로운 차원을 추가함으로써 단순화시키고자하는 것이다.실제로 기계학습(machine learning) 기법 중에도 데이터의 차원을 증가시켜서 문제를 단순화시키는 방법이 존재한다. SVM(support vector machine)에서 비선형 분류(classification) 문제를 처리할 때 사용하는 기법이 여기에 해당한다. SVM에서는 현재 차원에서 데이터를 선형적으로 분류(classification)하기 힘든 경우에 데이터의 차원을 고차원 (무한차원)으로 확장한 후 경계평면(thresholding hyperplane)을 찾는 원리가 사용된다. 데이터의 차원을 확장하는 것은 손쉬운 예로 (x,y)를 (xy, x^2y, xy^2, ... ) 등과 같이 확장하는 것을 생각하면 된다.
  • 45. 1.4.3 차원의 저주(Curse of Dimensionality) kNN분류기 장점 : 단순하고 상당히 잘 작동하며, 좋은 거리 척도법을 제공하고 충분히 레이블된 훈련 데이터를 갖고 있다. 사실 kNN의 분류기는 N -> 라면 최대 가능한 성능의 2배에 버금가게 나타날 수 있다.(kNN 짱짱걸) 단점 : kNN식별자의 주요 문제는 고차원 입력에 대해 잘 작동하지 않는 다는 점이다. 고차원적 설정에서 저 성능은 차원의 저주에 원인을 둔다. 고차원에 있는 데이터를 저 차원으로 내려서 그래프를 보게 될 경우 3차원 그래프에서 2차원으로 변하게 되면 z 축은 묵인 되게 되는데 이 때 kNN분류기는 x,y 축에 대해 근접한 포인트를 가질 수는 있지만 z를 고려하면서 근접한 포인트를 갖기에 어려움이 있다. kNN 분류기는 데이터에 적용하는 것을 고려하며, 여기서 입력은 D차원 단위 정육면체에 균등하게 분포된다. 데이터 포인트의 f를 포함할 때 까지 x주위의 입방체가 커짐으로 써 테스트 포인트 x 주의의 클래스 레이블의 밀도를 예측한다고 S
  • 46. 1.4.3 차원의 저주(Curse of Dimensionality) 차원의 저주에 관련된 그림이다. ppt 43, 44번 하고 연관이 있다. 왼쪽 그림은 정육면체 안쪽에 있는 s 면의 작은 정육면체를 삽입한다. 이 정육면체의 예상되는 모서리의 길이는 이다. 만약 차원이 10. 즉 D=10 이면 데이터의 10%에서 기본 예측을 원한다. 의 값을 가지며, x의 주위에서 각 차원에 따라 정 육면체 80%를 확장할 필요가 있다. 데이터의 1%를 사용 한다 해도 을 찾는다. 데이터의 전체 범위가 각 차원을 따라 단지 1이기 때문에 이름이 '근접한 이웃'임에도 불구하고, 방법은 더 이상 근접 지역에 한정되지 않는다. '멀리 떨어진 이웃 변수 관찰'의 문제점은 주어진 포인트에서 입출력 함수의 동작에 대한 좋은 예측 변수가 아닐 수 있다. S
  • 47. 1.4.4 분류와 회귀에 대한 모수적 모형 차원의 저주를 극복하는 방법 분포의 성질에 관한 가정을 만드는 것이다. 귀납적 편향성(Inductive Bias) 이라고 알려진 가정은 모수적 모형 (Parametric Model)의 형태로 자주 상징되며, 모수적 모형은 매개변수의 지정된 수를 가진 통계 모형이다. 분류와 회귀에 대한 모수적 모형에서 가장 폭 넓게 사용되는 선형 회귀 분석, 로지스틱 회귀 분석에 대해 알아본다. (책에서는 분류와 회귀에 대한 모수적 모형을 알아보자 했지만 회귀에 대한 모수적 모형인 선형 회귀 분석과 로지스틱 회귀 분석만 서술 했으니 어? 분류는 어디감요? 하면 안됩니다. 흑. 모수적 모형인 분류는 시작하는 저도 몰라욬 ㅋ 시간나면 공부 할게여)
  • 48. 1.4.5 선형 회귀 (Linear Regression) 정의 종속 변수 y와 한 개 이상의 독립 변수(설명 변수)x와의 선형 상관 관계 모델링 하는 회귀분석 기법이다. 선형 회귀는 선형 예측 함수를 사용해 회귀식을 모델링 하며, 알려지지 않은 파라미터는 데이터로 부터 추정한다. 이렇게 만들어진 회귀식을 선형 모델이라 한다. 한 개의 설명 변수(x)에 기반한 경우에는 단순 선형 회귀, 둘 이상의 설명 변수에 기반한 경우에는 다중 선형 회귀 라고 한다. 사용 분류 -값을 예측하는 것이 목적일 경우 : 개발한 선형 회귀식을 이용해 y가 없는 x값에 대해 y를 예측하기 위해 사용. -종속변수 y와 이것과 연관된 독립변수 x1,x2, … xp 가 존재하는 경우에, 선형 회귀 분석을 사용해 xj와 y의 관계를 정량화할 수 있다. xj는 y와 전혀 연관 없을 수 있고, 추가적인 정보를 제공하는 변수 일 수도 있다. 원리 일반적으로는 최소제곱법(Least Square Method)을 사용해 선형 회귀 모델을 세운다. 손실 함수를 최소화 하는 방식으로 선형 회귀 모델을 세울 수 있다. 최소제곱법과 선형 회귀는 가깝게 연관되지만 동의어는 아니다. 최소제곱법은 선형 회귀 모델 뿐 아니라, 비선형 회귀 모델에도 적용할 수 있다.
  • 49. 1.4.5 선형 회귀 (Linear Regression) 회귀에서 가장 넓게 사용되는 선형 회귀는 응답이 입력에 대한 일차 함수라는 것을 주장하는 것이다. 이것은 다음과 같이 써진다. 여기서 는 입력 벡터 x와 모형의 가중치 벡터 w사이에서 내부 또는 스칼라 곱(Scalar Product)* 으로 표현하였다. 는 선형 예측(Linear Prediction)과 실제 값 사이에서 잔차 에러(Residual Error)(오차)이다. 는 가우시안(Gaussian)** 또는 정규 분포(Normal Distribution)을 갖는 것으로 가정한다. 이는 으로 표현한다. u 는 평균이고 는 분산이다. 이 분포를 그릴 때, 종형 곡선(Bell Curve)을 갖는다. 오른쪽 그림은 평균이 1이며, 분산 1을 가지는 가우시안 그래프 이다. *스칼라 곱 = {1,2,3} * {a,b,c} = {1a,2b,3c} 이런 거. **가우시안 : 가우시안은 독일의 수학자이자 물리학자의 이름인대, 보통 정규분포를 가우시안 분포라 사용함 모수 벡터 e는 N에 따라 분포됨 스칼라 분포 평균 gaussian distribution
  • 50. 1.4.5 선형 회귀 (Linear Regression) 선형회귀와 가우시안 사이에서 더 명시적인 연결을 만들기 위해 다음의 형태로 모형을 다시 작성 할 수 있다. 모형이 조건 확률 밀도라는 것을 정확하게 만든다. 가장 단순한 경우에는 u는 x의 일차 함수라고 가정하며, 그래서 u= 이고, 노이즈(오차)는 수정되며, 는 이다. 이 경우 는 모형의 변수이다. 예를 들면 입력이 1차원 이라고 가정하며, 다음과 같이 예상되는 결과를 표현할 수 있다. w0은 절편 또는 편향(bias)항 이고, w1은 기울기 이며, 해당 지점에서 백터 x=(1,x)를 정의, (입력 벡터에 상수항 1을 붙이는 것은 모형에서 다른 항을 가진 절편 항을 통합하게 허용하는 일반적인 표현 요령) w1이 양수면 입력이 증가함으로써 출력이 증가하는 것을 의미한다. 입력값이 증가하면서 출력이 증가하는 것은 오른쪽 위의 이미지에서 보여주고 평균 반응과 x의 종래 도표는 오른쪽 아래의 이미지에서 보여준다. 선형 회귀 x를 입력 값 Ø(x)의 비 선형 함수로 대체해서 비선형적 관계를 모형화 할 수 있다.
  • 51. 1.4.5 선형 회귀 (Linear Regression) 선형 회귀 x를 입력 값 Ø(x)의 비 선형 함수로 대체해서 비선형적 관계를 모형화 할 수 있다. 다음과 같이 표시된다. 이것은 기저 함수 확장(Basis Function Expansion)으로 알려져 있다. 예를 들어 오른쪽 그림은 d=14 이고, d=20에 대해, = 인 곳의 경우를 설명하며, 다항식 회귀(Polynomial Regression)으로 알려져 있다. degrees 14와 20의 다항식은 21개의 데이터 포인트의 최소 제곱에 의해 맞게 된다.
  • 52. 1.4.6 로지스틱 회귀 분석(Regression) 로지스틱 회귀는 선형 회귀 분석과는 다르게 종속 변수가 범주형 데이터를 대상으로 하며 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정 분류로 나눠지기 때문에 일종의 분류 (classification) 기법으로도 볼 수 있다. 로지스틱 회귀는 두 개의 변경을 만듦으로써 선형 회귀를 이항 분류 설정으로 일반화 할 수 있다. 로지스틱 회귀 분석의 작동 y에 대한 가우시안 분포(정규 분포)를 베르누이 분포(이항 분포)로 바꾸고, 대응이 이진수 일 때 y ∈ {0,1} 경우에 적절하며, 다음을 사용한다. 여기서 이다. 두 번째 입력의 일차 조합을 계산하지만 다음을 정의해서 을 보장하는 함수를 통해 다음의 식을 통과한다. 여기서 은 logistic 또는 logic 함수로서 알려져 있는 시그모이드 Sigmoid 함수를 참조하며, 다음식으로 정의 된다. 전치행렬 또는 전치 벡터
  • 53. 1.4.6 로지스틱 회귀 분석(Regression) 여기서 은 logistic 또는 logic 함수로서 알려져 있는 시그모이드 Sigmoid 함수를 참조하며, 다음 식으로 정의 된다. 시그모이드(Sigmoid)용어는 S모양을 의미하며, 왼쪽 그림을 참조 한다. 시그모이드 함수는 전체 라인이 [0,1]로 매핑이 되기 때문에 스쿼싱(Squashing)함수로 또한 알려져 있으며, 확률로 해석되는 출력이 필요하다. 위 식은 시그모이드 함수의 결과를 확률로 출력하는 식이며, 선형 회귀와 유사하기 때문에 로지스틱 회귀 분석이라고 부른다. (형태는 분류지만 회귀는 아님) 로지스틱 회귀의 단순한 예는 오른쪽 그림이며 다음과 같다. 왼쪽 그림은 시그모이드(sigmoid)또는 로지스틱 함수 Sigm(-∞)=0 sigm(0)=0.5, 그리고 sigm(∞)=1 오른 쪽 이미지는 SAT점수에 대한 로지스틱스 회귀분석. 검정색으로 칠해져 있는 점은 훈련 데이터이다. 빨간색 원은 예상되는 데이터 이다. 따라서 w^는 훈련 데이터로 부터 예측된 변수이다. 초록색 x는 두 학생이 525(그리고 이런 이유로 동일한 입력 표현 x) 의 동일한 SAT점수를 가진 SAT점수를 표현하지만, 다른 훈련 레이블을 갖고 있다. (한 학생은 통과되고 y=t, 다른 학생은 실패 y=0, 이런 이유로 이 데이터는 SAT의 특성을 사용해서 정확하게 분리하지 않는다. ~으로 정의한다
  • 54. 1.4.6 로지스틱 회귀 분석(Regression) 아래 이미지. i : 특정 학생 xi : 특정 학생의 SAT 점수 yi : 시험 통과 및 실패 여부 검정색 원 : 훈련 데이터 빨간색 원 : : 훈련 데이터로 부터 예측된 변수 오른 쪽 이미지에서 0.5 에서 출력 확률을 제한하면 수식의 결정 규칙(Decision Rule)을 유도할 수 있다. 오른 쪽 이미지를 관찰하면 x≈ 545 = x*에 대해 이다. x=x*에서 수직라인을 그리는 것을 상상 할 수 있으며, 이것은 결정 경계(Decision Boundary)라고 알려져 있다. 라인의 왼쪽 모든 것은 0으로 분류되고, 라인의 오른쪽 모든 것은 1로 분류된다. 결정 경계 규칙은 훈련집합에서 에러율이 제로가 아니다. 이것은 데이터가 선형 구분(Linearly Seperable)이 아니기 때문이며, 예를 들어 1s부터 0s로 분류하기 위해 그릴 수 있는 일직선이 없다. 이럴 경우 기저 함수 확장*을 이용하여 비선형 결정 경계를 가진 모형을 창조할 수 있으며, 비 선형 회귀를 갖고 수행된다. 기저함수확장* : 자연계에서 발생하는 모든 신호는 특정함수들의조합으로 표현가능하다는데에서 시작된 이론, 선형 다항식 함수, 위상,삼각함수의 조합이 되는 함수를 기저함수라 한다. 백터공간 내에서 선형 독립, 전체 백터공간을 생성할 수 있는 원소로 이루어진 집합이다.
  • 55. 1.4.7 과대적합(Overfit) 머신러닝의 데이터의 고도의 유동적인 모형에 맞추어야 할 때 데이터가 과대적합 하지 않도록 세심하게 신경써야만 한다. 과대적합은 Curse of Dimetion차원의 저주일 때, 또는 학습데이터 모델링 과정에 발생한다. 데이터의 과대적합은 결과의 오차를 불러일으키는 커다란 요인이기 때문이다. 높은 단계의 다항식 결과는 매우 진동이 심한 곡선의 결과를 보이며 그의 결과는 오른쪽 그림에서 보인다. KNN분류기를 예로 들면 K 값은 이 모형의 동작에 큰 영향을 가져 올 수 있다. K가 1이라면 훈련 집합에 에러를 발생하지 않지만(원래 훈련포인트의 레이블을 반환하기 때문에..) K값이 높으면 높을 수록 미래 데이터는 예측하기 힘들다. 평균 이상의 더 큰 근접 값들이 있기 때문에 k=5를 사용해서 좀 더 평활한 예측 표면의 결과를 가져온다. K가 증가하면서 예측은 K=N이 되는 한계까지 좀 더 평활하게 나타난다.
  • 56. 1.4.7 과대적합(Overfit) 머신러닝의 데이터의 고도의 유동적인 모형에 맞추어야 할 때 데이터가 과대적합 하지 않도록 세심하게 신경써야만 한다. 과대적합은 Curse of Dimetion차원의 저주일 때, 또는 학습데이터 모델링 과정에 발생한다. 데이터의 과대적합은 결과의 오차를 불러일으키는 커다란 요인이기 때문이다. 높은 단계의 다항식 결과는 매우 진동이 심한 곡선의 결과를 보이며 그의 결과는 오른쪽 그림에서 보인다. KNN분류기를 예로 들면 K 값은 이 모형의 동작에 큰 영향을 가져 올 수 있다. K가 1이라면 훈련 집합에 에러를 발생하지 않지만(원래 훈련포인트의 레이블을 반환하기 때문에..) K값이 높으면 높을 수록 미래 데이터는 예측하기 힘들다. 평균 이상의 더 큰 근접 값들이 있기 때문에 k=5를 사용해서 좀 더 평활한 예측 표면의 결과를 가져온다. K가 증가하면서 예측은 K=N이 되는 한계까지 좀 더 평활하게 나타난다.
  • 57. 1.4.8 모형의 선택 좀 별 내용이긴 하지만 지금 아무리 눈뜨고 뒹굴 뒹굴 쳐다봐도 공감 안되고 이해 안되서 그냥 재껴버림.
  • 58. 1.4.9 공짜 점심은 없다 모든 상황에 적합한 알고리즘이나 방정식은 없다. 각각의 알고리즘과 정리 그리고 방정식은 각각의 상황에 어울리는 분야가 존재한다. 아무리 잘 만들어져있는 알고리즘이라 하더라도 다른 분야에서는 분명 다른 관점 때문에 오차가 발생하게 될 것이다. 또한, 아무리 오차가 많이 발생하는 알고리즘이라 하더라도 그 부분은 분명 쓸모 있다. 즉, 캐빈머피님의 말을 의역해보자면. "다 공부해 병X아, 다 맞는 말이야! 쳐.맞.는.말 이 쟈아아시가아아"
  • 60. 과제 1. 한 번 더 읽기 2. 엄마품에 안기기 3. 엄마 품에서 공부 열심히 하겠다. 다짐하기 4. 한 번 더 읽기 5. 아빠 품에서 열심히 돈 벌어 오겠다 다짐하기 6. 마지막으로 한 번 더 읽기
  • 61. References Kevin Murphy 의 머신 러닝 https://www.cs.ubc.ca/~murphyk/MLbook/pml-intro-22may12.pdf 다크프로그래머의 차원의 저주 http://darkpgmr.tistory.com/145 S.Rulez 님의 ppt http://www.slideshare.net/SRulez/machine-learning-ch1?ref=http://srulez.com/wp/?p=71 여러가지 수학 기호 http://www.rapidtables.com/math/symbols/Statistical_Symbols.htm http://blog.bagesoft.com/965 http://blog.daum.net/hangil2020/13248389 http://www.rapidtables.com/math/symbols/Statistical_Symbols.htm
  • 62. 부족함이 많은 ppt에 대한 코멘트. 치킨 단톡방's 머신러닝 스터디방의 @이장욱멘토님 기본적으로 모형을 이용한 예측을 하는대 기본이 되는 중요한 점들이 있습니다. 그런데, 그런 기본이 되는 중요한 점들은 일반적으로 간과 되는 부분이 있기 마련입니다. 그것은 바로 '데이터의 특성'과 '사용되는 분야' , 그리고 '환경' 입니다. 이러한 요인들은 많지만 우선 기본적으로 '데이터의 특성'을 고려하며 모형을 사용해야 합니다. 데이터의 특성을 엮어서 같이 공부하지 않으면 궁극적으로 모형을 왜곡되게 사용 할 수 있습니다. 흔히 말하는 Bias (Threshold)의 오차가 심각해지는 것이죠. 그러니 모형을 이용한 예측을 설명함에 있어서 '데이터의 특성'에 대한 고려의 필요성에 대한 문장이 있었으면 합니다. 사람들이 해당 모형(모델)은 어디에나 사용될 수 있는 것이라 간과 하지 않게 끔 말이지요.
  • 63. 2차 배포 및 수정 및 등등. 다 필요없으니 막 가져다 쓰세여. 대신 제거가 아닌것도 많아영. 그러니 References 는 살려두세여. 그리구 2차 배포는 안알려줘도 되는데, 수정하거나 더 좋게 변경했다면 저도 좀 보내주세여 ㅠㅠ dydwls121200@gmail.com <= 여기로.. 아니면 제 구글 docs 공유해 드릴게여 제걸로 좀 수정해주세영. 헤헤.