일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- AI
- 컴퓨터
- 편향
- Stack
- Bayes Rule
- 분산분석
- AI Winter
- Bayes Theorem
- 인공지능
- 퍼셉트론
- Neural Network
- p 값
- 컴퓨터 조립
- 베이즈 정리
- 확률
- 심층학습
- knn
- 30 Day Challenge
- p-value
- 인공지능 겨울
- LeetCode
- ANOVA
- 통계
- 인공신경망
- 조건부 확률
- 딥러닝
- Today
- Total
목록Machine Learning/통계이론 훑어보기 (9)
군더더기 없는 기계학습 백과사전

※해당 설명에서 사용되는 로지스틱 회귀 분석은 이해를 돕기 위한 단순 예시이다. 해당 개념은 다른 기계학습 분류 알고리즘에도 적용할 수 있다. ROC(Receiver Operating Characteristics) 곡선 여러분에게 다음과 같은 쥐의 몸무게 데이터가 주어졌다고 하자. 푸른색 점들은 비만인 쥐들이고 붉은색 점들은 정상 몸무게 쥐들이다. 그럼 이 관측들을 이용해 로지스틱 회귀 곡선을 그리자. 그럼 y 축은 이제 0과 1 사이의 값으로 표현되는 관측 개체가 비만일 확률이다. 여기서 한 가지 문제가 생길 것이다. 비만일 확률은 아는데 쥐들을 비만으로 분류는 어떻게 할까? 한 가지 방법은 0.5이라는 임계값을 설정해 그 이상인 관측 개체들을 비만으로 분류하고 그 이하는 정상 몸무게로 분류하는 것이다..

혼동 행렬을 완성하면 두 가지 지표를 계산할 수 있다. 민감도(Sensitivity) 우리의 예에서 민감도는 실제로 심장 질환이 있는 사람 중에 올바르게 분류된 사람들의 비율이다. 이는 곧 참 양성과 거짓 음성으로 분류된 개체 중 참 양성의 비율을 뜻한다. 특이도(Specificity) 우리의 예에서 특이도는 실제로 심장 질환이 없는 사람 중에 올바르게 분류된 사람들의 비율이다. 이는 곧 거짓 양성과 참 음성으로 분류된 개체 중 참 음성의 비율을 뜻한다. 예시 앞의 글에서 만들었던 혼동 행렬을 가져와보자. 해당 혼동 행렬은 랜덤 포레스트를 환자 데이터에 적용해 얻은 혼동 행렬이다. 앞서 정의한대로 민감도와 특이도를 구하면 각각 142/(142+29) = 0.83와 110/(22+110) ≒ 0.83.이다..

우리에게 다음과 같은 정보 집합(dataset)이 주어졌다고 해보자. 우리는 혈압, 혈중 콜레스테롤 수치, 혈당 같은 변수들과 기계학습 알고리즘을 이용해 환자가 심장질환이 있을 확률을 예측하고자 한다. 이를 위한 기계학습 알고리즘으로는 로지스틱 회귀분석, K 최근접 이웃, 랜덤 포레스트 같은 다양한 알고리즘을 선택할 수 있는 선택지가 있다. 그러나 이 중 제일 적절한 알고리즘을 어떻게 고를 수 있을까? 우리는 일단 데이터를 훈련 데이터와 시험 데이터로 나누어 훈련 데이터로 기계학습 모델을 훈련시킨 뒤 시험 데이터로 그 성능을 평가할 것이다. 평가를 위해 동원되는 방법 중 하나는 혼동행렬을 만들어보는 것이다. 일단 여기서 행은 알고리즘이 예측하는 클래스(class), 열은 관측의 실제 클래스라고 하자. 이..

만약 우리에게 다음과 같은 정보 집합(dataset)이 주어졌다고 해보자. 우리는 주어진 데이터를 이용해 혈압, 혈중 콜레스테롤 수치, 혈당 같은 변수를 이용해 환자 중 누군가가 심장질환을 가지고 있는지 예상하고자 할 것이며 이를 위해서 모델을 만들 것이다. 그 뒤 데이터에 없었던 새로운 환자가 나타나면 같은 변수들의 수치를 모델에 넣어 그 환자가 심장질환을 가지고 있는지 예상하고자 할 것이다. 그렇다면 이때 어떤 기계학습 알고리즘을 이용해야하는지 결정을 내릴 수 있는 방법은 무엇일까? 우리에게 주어진 선택지는 다양하다. 로지스틱 회귀분석 일수도 있고, K 최근접 이웃일수도 있고, SVM 아니면 그 외 다양한 기계학습 알고리즘이 존재한다. 교차검증은 이 다양한 알고리즘들의 성능을 비교하고 실전에서 실제 ..

꼭 그렇지만은 않다. 대표적으로 리터러리 다이제스트(The Literary Digest)지에서 실시한 대선 여론 조사의 사례가 있다. 1936년에 진행된 해당 여론 조사는 프랭클린 델라노어 루즈벨트와 알프레드 모스만 랜던 중 누가 대선에서 승리할까 묻는 설문 조사였는데 당시 1000만 명에게 보내진 설문 조사에서 236만 명이나 되는 응답이 왔고 랜던의 앞도적인 승리가 예상되었다. 그러나 현실에서는 전체 득표율에서 루즈벨트가 62%나 가져가 버렸고, 48개 주 중에서 46개를 가져가는 대승리를 거두는 반대 상황이 연출되었다. 리터러리 다이제스트지가 이처럼 커다란 실수를 저지른 이유는 표본의 크기를 너무 신뢰하고 표본의 타당성을 간과했기 때문인데, 이는 표본이 수집된 곳이 설문 조사 응답을 얻기 쉬운 3가..

필자는 여러분이 조건부 확률 관련 수학 문제는 굉장히 많이 풀어봤을 것이라고 생각한다. 그러나 실생활에서 당장 사용하는 예는 많이 접해보지 못했을 것이다. 해당 글에서는 단순한 가짜 데이터를 만들어 온라인 웹사이트에서 연령층 별로 구매한 수 데이터에서 조건부 확률을 도출해내는 예를 다뤄보도록 하겠다. 일단 10,000명의 데이터를 생성하도록 하겠다. 이를 연령층 별로 저장하기 위해서 딕셔너리(dictionary)를 이용한다. 랜덤 기능을 사용하기 위해서 Numpy 패키지에서 random을 가져온 뒤 고정된 결과를 보기 위해 seed를 0으로 설정하겠다. from numpy import random random.seed(0) 연령층인구수 = {20:0, 30:0, 40:0, 50:0, 60:0, 70:0}..

확률 이론 혹은 수리통계학을 접하는 분들은 반드시 베이즈 정리를 접하게 된다. 영어로는 Bayes Rule 혹은 Bayes' Theorem이라고 부르기도 한다. 그러나 인터뷰 문제에서 만약 해당 이론을 간접적으로 접하게 된다면 단순히 수식을 풀어서 증명하는 것을 이해하는 정도로는 그쳐서는 안 될 것이다. 여러분의 이해를 돕기 위해 한 가지 사용 예시를 써본다. 온라인에서 많이 접하게 되는 베이즈 정리에 대한 이해가 요구되는 기출 문제다. 데이터 과학자 전화 인터뷰에서 자주 나오는 문제였다는데 아직도 비슷한 문제는 나오고 있을 것이라고 믿는다. 살짝 문장이 애매모호해 다양한 진지한 분석들을 봤다. 가장 단순한 풀이부터 제일 복잡한 풀이까지 천천히 접해보자. 당신은 지금 시애틀행 비행기를 기다리고 있다. 시..

분산분석을 처음 접해보는 사람들에게 떠오르는 의문점일 것이다. 여러분은 관측 개체(Observation)들이 평균에서 떨어진 정도를 분산으로 측정하는 것으로 대략 이해하고 있을 것이다. 그런데 두 개 이상의 집단 평균을 비교할 때 왜 집단 내 및 집단 간 분산(Variance)을 비교해야 하는지 의문이 들것이다. 이를 직관적으로 이해할 수 있도록 접근하겠다. 해당 예시는 이해를 돕기 위한 극단적인 예시다. 당신이 여러 명의 무작위로 모집된 남성들을 대상으로 몸무게를 연구하고 있다고 해보자. 이 모임에는 3가지 집단이 포함되어 있다. 근육질의 운동선수들 평범한 직장인들 몸무게가 얼마 안 나가는 승마 선수들 남성들을 이름순으로 3개 집단으로 나눴다고 해보자. 그러면 3개 집단에선 몸무게는 다음과 같을 것이다..