Programming & Machine Learning/Mathematics & Statistics
-
[추천시스템과 통계 모델 1] - 다양성 지수(Diversity Index)Programming & Machine Learning/Mathematics & Statistics 2024. 2. 27. 14:55
추천시스템을 고도화 할 때 필요한 것 중 하나는, 유저 단위, 혹은 아이템 단위의 적절한 Index를 만들어내는 것이다. 이를테면 어떤 유저는 다양한 아이템을 소비하는 것을 좋아하고, 어떤 유저는 새로운 아이템을 소비하는 것을 좋아하고, 어떤 유저는 자신이 선호하는 카테고리의 아이템만 선호할 수도 있다. 이런 것들을 하나의 Index로 점수화 하여 사용하는 것은 큰 의미가 있다. 물론 Neural Network 구조의 Deep Learning이 보편화 된 이후부터는 Index를 만들어내는 것 자체가 이론적으로는 무의미 해지긴 했지만, 실제 서비스에서는 그렇지 않다. 모델이 Feature Engineering을 아무리 잘 해낸다고 해도, 결국 Binary Task 혹은 지정된 Task에만 활용될 수 있을 ..
-
[기초통계 정리 3] - Probability, Bayes' RuleProgramming & Machine Learning/Mathematics & Statistics 2018. 8. 14. 10:05
Probability, Likelihood의 이론적 배경을 공부했다면, 이제 Conditional Probability와 같은 확률의 중요한 개념과 함께 베이즈 이론을 공부해야 한다. 본격적으로 확률과 베이즈 이론에 대해 공부하기 전에, 순열과 조합에 대한 학창시절의 기억을 상기시켜야 한다. Probability, Likelihood에 대한 설명 - Combinations : 조합 서로 다른 N개에서 n개를 뽑는 경우의 수를 말한다. 고등학교 시간에 배웠던 그 조합이 맞다. 식은 아래와 같이 나타낼 수 있다. - Permutations : 순열 N개 중에 n개를 뽑아 나열하는 경우의 수이다. 조합에서 중복을 허용한 것과 동일하다. - Conditional Probability : 조건부 확률 Probab..
-
[기초통계 정리 2] - Probability, Likelihood, MLE와 Python 구현Programming & Machine Learning/Mathematics & Statistics 2018. 8. 5. 01:14
Deep Learning까지 가지 않더라도, 대부분의 머신 러닝의 개념에서는 확률과 우도의 개념이 빈번하게 등장한다. 그래서 기초 통계를 공부하던 도중, Probability와 Likelihood의 개념을 조금 더 자세하고 천천히 살펴보았다. 본 포스팅은 확률과 우도에 대한 기초적인 개념을 공부하고, 이를 간단한 Python 코드로 짜본 것이다. 1. Random Variable : 확률 변수 - 확률 변수의 정의 일반적으로, 변수라고 함은 특정한 하나의 숫자를 대표하는 것이다. 반면 확률 변수는 나올 수 있는 값들이 확률적 분포를 가지는 것이다. 머신 러닝에서의 확률 변수는 특정한 Vector, 혹은 숫자를 생성하는 기계에 비유할 수 있다. 확률은 0에서 1사이의 값으로 표현하지만, 확률 변수는 실수의..
-
[기초통계 정리 1] - 통계 용어Programming & Machine Learning/Mathematics & Statistics 2018. 7. 30. 23:37
공부를 하면 할 수록 기초학문이 중요하다는 것을 깨닫고 있다. 기초 통계학의 내용 중, 명쾌하게 문장으로 요약하여 정리해두면 도움이 될 만한 것들을 글로 나타내보고자 한다. 아무리 쉬운 내용이라도 정의를 곱씹어보고 문장으로 정리하게 되면, 더 깊은 내용을 이해하는 데 도움이 될 것이다. - Inferential Statistics (추론 통계학) 추론 통계의 관점에서 통계학은, 표본을 통해서 모평균 등의 모수의 정보를 추정하는 것이다. 이를 신뢰도라는 개념을 통해서 검정하게 된다. 모집단의 정보인 평균, 분산 등을 통계학에서는 parameter 라고 한다. 예시) 출구조사로 모집단을 추론 - Random Variables (확률 변수) 관찰하기 전까지는 알 수 없는 값을 말한다.변수는 변수인데, 아직 관..
-
ROC Curve를 해석하는 방법Programming & Machine Learning/Mathematics & Statistics 2018. 6. 17. 23:42
머신 러닝에 대한 본격적인 공부를 시작한지 꽤 오랜 시간이 되어가고 있다. 하지만 그 동안 수 없이 접했던 평가에 대한 방법론은 언제나 어렴풋이 이해하는 정도였다. 특히나 ROC curve가 그랬다. 데이터 마이닝이나 통계학 전공자가 아닌 나로서는 이 방법론에 대한 수식적 이해도 전무했으며, 인터넷 어디에서도 속을 시원하게 긁어주는 설명을 찾기 힘들었다. 단지 원인과 결과만을 나열한 문서들 뿐이었다. 언젠가 해법을 찾아야지 하고 미뤄두던 도중, 우연히 제대로 설명된 글을 읽게 되었다. 물론 아직까지도 100% 이해했다고 장담할 순 없지만, 나와 비슷한 사람들을 위해 현재까지 이해한 내용을 정리하고 공유하고자 한다. 분류문제를 학습한 모델을 평가할 때 빠지지 않는 단어가 바로 Confusion Matrix..
-
Confusion Matrix를 통한 분류 모델의 평가Programming & Machine Learning/Mathematics & Statistics 2017. 11. 18. 15:38
분류 모델을 학습하는 것의 목적은, 주어진 데이터를 의도에 맞게 잘 분류해내기 위한 것이다.그렇다면 이러한 모델을 평가하는 기준이 필요할 것이다.모델을 평가할때는 모델이 얼마나 정밀한지, 얼마나 실용적인 분류를 해내었는지, 얼마나 정확한 분류를 했는지를 평가해야 한다.이러한 내용들을 모두 포함하고 있는 것이 Confusion Matrix이다. 1. Confusion Matrix 레이블 0,1을 가진 데이터를 분류한다고 할 때 관심 범주를 1이라고 한다. True Positives : 1인 레이블을 1이라 하는 경우를 True Positives라고 한다. -> 관심 범주를 정확하게 분류한 값.False Negatives : 1인 레이블을 0이라 하는 경우를 False Negatives라고 한다. -> 관심..
-
가설의 검정과 p-valueProgramming & Machine Learning/Mathematics & Statistics 2017. 11. 18. 14:57
지도학습의 영역에서 모델을 학습할 때, 가장 중요한 것은 "어떤 변수를 학습에 포함할 것인가?" 라는 질문이라고 할 수 있다.이 질문에 대한 답은 반드시 수치적 해석과 검증을 통한 것이어야 한다.그래서 필요한 것이 변수에 대한 가설의 설정, 이에 대한 검정과 판단이다.변수가 의미있는 변수일 것이란 가설을 세운 뒤 이를 통계적인 방법으로 검정해야 한다. 1. p-value의 의미에 대하여 통계학적 관점에서 가설을 검증하는 방법이다. 어떤 자료에 대한 수치적 특성, 이를테면 평균 같은 것을 구한다고 하자. 하지만 실제의 집단(모집단)은 전수조사 할 수 없기 때문에 주어진 자료는 샘플링된 자료이고, 샘플링이라는 것을 통해 실제 집단의 수치적 특성을 추론해야 한다. 예를 들어 실제 모집단의 평균이 50, 분산이..
-
회귀와 분포에 관한 문제Programming & Machine Learning/Mathematics & Statistics 2017. 7. 19. 02:04
일반적인 회귀분석이나 분산분석은 종속변수, 즉 Y값이 정규분포이다. 하지만 실전에서는 항상 대상의 분포가 정규분포를 따르지는 않는다. 뿐만 아니라 종속변수 자체가 연속형이 아니라 범주형일 수도 있다. 이러한 모든 경우를 포함하는 모형을 일반화 선형 모형(Generalized Linear Model)이라고 한다. 만약 종속변수가 이항분포를 따르는 범주형 데이터라고 한다면 로지스틱 회귀 기법을 이용하는 것이 일반적이다. 하지만 이는 언제든지 변할 수 있고, 유동적이어야 한다. 목표로 하는 데이터의 형태에 따라 분석기법이 달라질 수 있기 때문이다, 요지는, 종속변수가 어떠한 분포의 형태를 띠는지에 따라 알고리즘이 변해야 한다는 것이다. 관찰하고자 하는 대상의 형태를 자세히 보지 않고서 알고리즘을 결정하는 것은..
-
통계 수치분석 방법 분류Programming & Machine Learning/Mathematics & Statistics 2017. 7. 17. 01:28
기초적인 통계 수치분석에 대한 방법 분류. 기초적인 통계분석에 있어서 적합성과 독립성을 검정하는 방법에 대해 R 프로그래밍과 연결하여 몇 차례 공부하고 포스팅 했었다. 이에 대한 내용을 다시 한 번 자세하게 살펴보던 중, 활용에는 큰 문제점이 없었지만 내용이 구조적으로 정리되지 않고 모호하다는 느낌이 머리속에 맴돌았다. 두 모집단간의 차이를 검정하는 방법, 두 모집단을 대표하는 것이 연속형 데이터인지 범주형 데이터인지에 대해서도 방법이 달라지는지,집단이 여러개일 때 차이를 검정하는 방법,그 때 데이터가 연속형인지 범주형인지에 따라 적용하는 방법,집단이 여러개인데 각 집단마다의 변수도 여러개인 경우, 이러한 내용들이 정리가 되지 않은 채, 예제와 모호한 개념들만 머리에 맴돌았다.내친김에 이 부분을 다시 정..
-
베이즈 이론Programming & Machine Learning/Mathematics & Statistics 2017. 7. 5. 02:08
베이즈 정리란, 두 확률변수의 사전확률과 사후확률의 관계를 나타내는 정리이다. 기본 아이디어는 기존의 가설에 현재의 자료를 반영해서 더 새로운 것을 만들어낸다는 아이디어로,기존의 통계학의 패러다임과는 약간 다른 유형이었다. 베이즈 정리는 통계학적으로 비판적인 시각을 받고 있었으나, 심리학, 신경과학, 인공지능 등의 분야에서 인간의 정보처리방식과 유사하다는 점에서 계속하여 발전되어 왔었다. 최근에는 컴퓨팅 환경이 좋아지면서 머신 러닝에 대한 흐름이 가속화됨에 따라 베이즈주의적으로 해석하는 기법이 많이 발전되었다. 이제 수학적인 측면에서 살펴보자. 기본적 용어로 다음의 용어들이 있다. 1. 사후 확률 : 관측자가 이미 알고 있는 사건으로부터 나온 확률로, 베이즈 정리에서는 P(A1), P(A2)... 을 의..