본문 바로가기

Research/Machine Learning72

Bagging, Boosting, Bootstrapping Bagging, Boosting, Bootstrapping의 세가지 용어가 기계학습에서 자주 사용되는데, 자주 개념이나 뜻이 헷갈려서 정리해본다. 1. Bagging : Bootstrap Aggregating의 줄임말이다. 그런데 이것의 의미는 먼저 원래 데이터에 대해서 여러개의 작은 데이터셋 N개를 샘플링해서 만든다음, 각각의 데이터를 작은 모델 N개로 학습을 시킨다. 그 다음 학습된 N개의 모델을 모두 하나로 합쳐서 최종적인 모델로 사용하는(bag에 담는 느낌) 방법론을 의미한다.(병렬적으로 데이터를 나누어 여러 개의 모델을 동시에 학습시킴)http://m.blog.naver.com/muzzincys/220201299384 2. Boosting : Boosting은 Bagging과 다르게 먼저 간단한.. 2016. 12. 29.
Maximum Likelihood Estimation의 의미 MLE에서 확률(*)의 곱을 최대화하는 대신 확률의 합을 최대화하면 어떻게 될까? 보다 정확히, (*)는 모델이 주어졌을 때 IID데이터의 확률. 즉, p(x1|M)p(x2|M)...p(xn|M) 을 최대화하는 것이 아니라 p(x1|M)+...+p(xn|M)을 최대화 하는 모델 파라미터를 선택한다면? --> 확률곱 : iid 에서 교집합의 확률 확률합 : iid 에서 합집합의 확률교집합은 and, 동시에라는 조건이고 합집합은 or, 또는이라는 조건이라 곱셈이 훨씬 강력한 가정이다. 둘다 각각의 확률 엘리먼트가 최대화가 되긴하겠지만 곱셈은 1개의 엘리먼트만 0을 가져도 전체확률이 0이 되어 Log Loss 값이 무한대가 되지만, 확률 합은 그렇지 않아서 더 약한 조건이다. 그리고 exp 이 있는 확률모델이.. 2016. 9. 2.
미분의 체인 룰, 합성 함수 미분 # 체인룰 체인 룰이라 불리는 법칙은 사실은 합성 함수 미분의 원리를 말하는 것이다. 즉 f(g(x))를 미분하면, f'(g(x)) * g'(x)이 되는데, 이것이 바로 체인룰이다. 그냥 겉미분*속미분 같은 공식으로는 설명이 불충분하고 비직관적이다.보다 직관적으로 설명하자면, g(x)=u 라고 먼저 정의를 하고, f(u)를 u로 미분한다음, u를 다시 x로 미분하게되면 f'(u) = df/du * du/dx = df/dx f'(u) = df/du = f'(u) * u' (단, u' = g'(x)) 이 되고, 이는 마치 곱셈과 나눗셈으로 du 를 약분하듯이 계산된다. 이것이 체인룰이다. (물론 df/dx가 정확히 분수는 아니나, 아래의 합성 함수 미분의 증명을 보면 의미적으로는 충분히 약분이 가능한 형태임.. 2015. 10. 11.
여러 Classifier 간의 특성 - 여러 데이터의 구조에서 각 알고리즘들이 경계선을 찾은 결과 http://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html 참고로 scikit-learn 은 python 에서의 weka라고 생각될 정도로 매우 사용이 쉽고 다양한 알고리즘이 구현되어있다고한다. 단 2~3줄 만으로 학습 및 추론이 가능하다. - 아래와 같은 데이터를 분류해보자. (arff는 weka의 데이터 형식이다.) generated by 곽하녹 이 문제는 우선 2차원에서의 유클리드 거리정보가 매우 중요하다. 따라서 KNN알고리즘을 쓰면 쉽게 97%의 정확도에 도달할 수 있다. SVM으로 할 경우 gamma가 매우매우 성능에 민감한 영.. 2015. 9. 14.
Bayesian Optimization, Active learning 둘다 가우시안 프로세스, 가우시안 리그레션으로 에러 펑션에 대한 근사함수를 만든다음 그 근사함수 상에서 에러를 최소화하는, 또는 근사 함수를 좀더 정확하게 만들 수 있는 점들을 다음 실험의 하이퍼파라미터로 사용한다.그렇게 최소화된 실험 횟수로 하이퍼파라미터를 찾을 수 있다.https://www.youtube.com/watch?v=VG2uCpKJkSg Bayesian Optimization : 딥러닝을 제외한 여러 하이퍼파라미터 서치 알고리즘. 뉴럴넷의 하이퍼파라미터에 대해 에러를 minimize하기위한 objective function을 가짐. 직접적으로 에러에 대한 최소화를 목표로하기때문에 active learning보다 더 성능이 잘나온다고함. 또한 이것의 의미는 비전문가도 머신러닝을 쉽게 쓸 수 있.. 2015. 8. 13.
Conventional AI Planning & scheduling : is searching a state transition processes toreach the goal state.https://en.wikipedia.org/wiki/Automated_planning_and_schedulinghttp://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.2340&rep=rep1&type=pdf Decision making : 디시전 메이킹은 기본적으로 디시전 트리를 생각하면 될듯.걍 머신러닝알고리즘이 하는게 디시전 메이킹임https://en.wikipedia.org/wiki/Anticipation_(artificial_intelligence) 2015. 8. 11.
Tex, LaTeX, Lyx Tex는 LaTex 형식으로 문서를 작성하여 해당 학회의 스타일에 맞게 원본 문서가 변형되고, 레퍼런스 형식 또한 자동으로 맞춰지게 해주는 문서 작성 프로그램이다.워드파일에 비해 실행환경에 영향 받는 정도가 훨씬 적어서 문서가 일관된 형식으로 보여지는 매우큰 장점이 있다.또한 수식을 입력하는 것도 워드에 비해 더 편리하다.https://ko.wikipedia.org/wiki/TeX 1. tex live 2015를 설치한다.http://wiki.ktug.org/wiki/wiki.php/%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0Windows/tlinstall 2. texmaker 를 설치한다.(기본에디터인 texworks보다 훨씬 편리하고 기능이 더 좋은듯하다.)http://www.x.. 2015. 8. 10.
논문 작성시 저작권의 공정 이용 저작권에 대한 여러가지 자세한 설명http://www.mcst.go.kr/web/s_policy/copyright/question/question01.jsp 공정 이용 : 특수한 조건하에서 저작권자의 허락 없이 저작물을 사용 가능하게 하는 법률https://ko.wikipedia.org/wiki/%EA%B3%B5%EC%A0%95_%EC%9D%B4%EC%9A%A9 영문 원본 링크https://www.libraries.psu.edu/psul/lls/students/using_information.html다음 4가지 사항의 정도에 따라, 공정이용으로 판단된다.the purpose and character of the use, including whether such use is of commercial nat.. 2015. 8. 10.
Hilbert Space, Orthogonality, Fourier Transformation Hilbert Space : 일반적으로 우리가 사용하는 유클리디안 스페이스를 좀더 일반적인 영역까지 확장한 개념.우선 우리가 사용하는 힐버트 스페이스는 무한차원의 벡터 스페이스를 의미한다. 이 힐버트 스페이스에서 두 벡터의 내적은 두 함수의 곱셈에 대한 적분으로 정의된다. 힐버트 스페이스 상에서의 한 점(벡터)은 무한개의 원소를 갖고 있어 함수의 형태로 표현을 해야한다. 그렇기 때문에 두 벡터의 내적은 결국 두 함수의 곱셈에 대해 적분하여 모든 점들의 정보를 합한 것이 된다. * 전문가의 제대로된 설명 * Orthogonality : 직교성을 기하학적으로 이해하면 90도로 비틀어진 축이다. 그러나 이렇게 이해하면 무한 차원에서는 다소 헷갈릴 수 있다. 단순히 대수적으로 내적의 값이 0 이다라고 생각하면 .. 2015. 7. 8.
Fourier Transform, Power Spectrum, Spectrum Fourier Transform (푸리에 변환) : 어떤 파동에 대한 주파수의 분포를 보는 방법. 원래 파동의 Y 축이 에너지이면 에너지-주파수 분포가 되고, 진폭이면 진폭-주파수 분포가된다. 즉 X 축은 시간에서 주파수로 되고, Y축은 원래 Y축값에 대한 주파수상의 분포를 의미한다. [시간-진폭]으로 된 time domain을 [주파수-분포]로 된 frequency domain으로 관점을 바꾸어 해석하는 방법 푸리에 변환은 푸리에 급수를 임의의 비주기적인 함수에도 적용할 수 있게 확장한 푸리에 적분(주기를 무한대로 보냄)을 의미한다. 직관적으로 이해하자면 임의의 함수를 여러개의 주기를 가진 코사인 N개의 합으로 표현한 것이 푸리에 변환이고, 이때 그 코사인의 주기와 계수들의 스펙트럼을 표현한 것이 fr.. 2015. 4. 22.
확률 통계 용어정의 0. 확률 분포에 대한 기본 용어probability density function (pdf): 연속 확률변수가 갖는 확률의 모양 probability mass function (pmf): 이산 확률변수가 확률의 모양 cumulative distribution function (cdf) : pdf 나 pmf 적분한 것 = 확률 probability distribution function (pdf) : 확률 분포에 대한 일반적인 텀. 즉, 위의 3가지 모든 확률 분포에 대해 다 쓸 수 있는 용어임. 즉 사용시 혼동의 여지가 있음. (보통 cdf 를 가르키는 말로 좀 더 자주 사용됨.) 1. Frequentist view VS Bayesian view of “probability”The biggest dif.. 2015. 4. 20.
BI CM세미나 동영상 Playlist https://www.youtube.com/playlist?list=PLzWH6Ydh35ggVGbBh48TNs635gv2nxkFI ----------Online Convex Optimization https://www.youtube.com/watch?v=BK_K1cYG3VU Multivariate Density Estimation by Bayesian Sequential Partitioning https://www.youtube.com/watch?v=HVY6QpPdN2w Dirichlet Process https://www.youtube.com/watch?v=O2NDm_XOnS0 Dynamic Cue Combination in Distributional Population Code Net.. 2015. 4. 20.
기계학습 오픈 소스 정리 Deep Learning주로 위 사이트에서 오픈소스로 링크된 리스트중 실제로 직접 실행해본 소스를 정리한다.http://deeplearning.net/software_links/ CuDNN : Theano : ConvNet :Torch :Caffe : RNNLM : C++로 되어있음, 윈도우 환경에서 실행이 안되는 것으로 판단됨. 우분투에서 실행해야한다는 이야기를 들음. 코드는 약간 분석하기 힘들어 보이나, 전체적으로 간결한 편임. http://www.fit.vutbr.cz/~kombrink/personal/rnn-kaldi/ RNNLIB : RNN이 구현된 몇안되는 라이브러리. 마찬가지로 리눅스 기반으로 보이며 LSTM, Bidrectional LSTM, Multidimensional RNN 등등의 알.. 2015. 4. 13.
MCMC, Sampling 예제 C언어를 기준으로 샘플링을 이해해보자 float arbitraryFunction(float x){ return integral(x*10+10,0,x); }이런 임의의 함수가 있다고 하자. 우리는 return integral(x*10+10,0,x); 이 부분을 모르고 있으며 단지 함수를 호출할 수 만 있다. 이상황에서 이 함수가 어떤 분포를 갖는지를 알아내보자. uniformrandom=(rand()/RAND_MAX)*10000; //0~10000사이의 임의 실수 발생 float observed = arbitraryFunction(unformrandom);이런식으로 유니폼 랜덤으로 값을 뽑고 함수에 넣어, 관측되는 값들을 살펴보아서 임의의 함수를 알아내는 것이다 2015. 4. 5.
Support Vector Machine SVM(Support Vector Machine) : 서포트 벡터 머신은 클래시피케이션 문제를 푸는데 쓰이는 매우 강력하고 빠른 알고리즘이다.학계 뿐만이 아니라 산업계에서도 실제 문제를 푸는 데 사용되며 MLP의 느린속도를 보완하며 2006년 이전까지 기계학습의 주류 알고리즘이었다.매우 수학적으로 잘 정리되고 논리적이어서 전처리가 잘된 피쳐가 있을 경우 아직도 최고수준의 성능을 보장한다. 간단히 원리를 이해하면, 2종류의 데이터들이 맵핑되는 공간에서 두 그룹을 나누는 경계선을 찾는데, 이 경계선은 두 데이터와 직선의 거리가 가장 커지는 maximum margin을 찾도록 되어있다. 그런데 어떤 데이터는 전처리를 아무리 잘하여도 직선으로 나눌 수 없는 분포를 이루기도 하는데, 이를 나누기 위해서는 임의의 .. 2015. 4. 3.
Projection Matrix, Eigenvector - 프로젝션 메트릭스프로젝션 매트릭스는 위와 같이 생긴 매트릭스를 말한다. (물론 트랜스포즈를 취하거나, 1이 1,1 항에 있어도 상관 없음)프로젝션 메트릭스의 정의는 AP=AP^2=AP^3 ... 을 모두 만족하는 것으로 아무리 곱해도 한번 곱한 것과 같아지는 행렬을 의미한다.즉 어떠한 공간상에 정사영되었기 때문에, 다시 정사영을 하여도 같은 것이다.간단히 생각해보면 a가 0일때의 프로젝션 매트릭스는 (2,2)의 성분만이 남아있는 직선위로 정사영 시킨 것이고, a가 1이라면 마찬가지로 어떠한 직선위에 정사영되어 행렬의 일부 성분만 남는 것을 의미한다.a가 2나 3등의 수 일 경우 각도가 직각이아닌 어떤 임의의 각도를 가진 직선으로 정사영시키는 것이라고 볼 수 있다. http://en.wikipedia... 2015. 4. 1.
Markov Random Field, MRF 인공지능 수업 필기. 마코프 랜덤필드란, 확률그래프 모델로써 맥시멈클릭에 대해 포텐셜펑션-확률테이블같은것 의 곱으로 전체 조인프 프로버블리티를 표현함. 로컬한 분포여러개로 전체분포를 표현한다. 클릭이란, 풀리커넥티드된 그룹을 의미함. 맥시멈클릭은 중복이 없는 최대크기의 그룹을 의미 확률그래프 모델-다이렉티드 그래프:베이지안 네트워크-언다이렉티드 그래프:마코프 랜덤필드 응용예시노이즈가 생긴 이미지에서 원본 이미지를 복원해내는 일이 역시 베이지안 쎄오렘-포스테리어공식으로 표현할 수 있다.y가 트루이미지, x가 관찰이미지p(y|x)=p(x|y)*p(y)/p(x) 위식에서 풀베이지안은 베이지안식에서 노멀라이즈 텀인 p(x) , 에비던스 확률분포를 고려한것. 세상읳모든데이터의 확률분포를 구해야함. p(x)를 안구.. 2015. 3. 26.
머신러닝의 응용사례 베이지안네트워크 : 인과 관계의 추론, 이런 일이 얼마나 가능할법한 일인가를 추정해봄. ex) 신용카드 사용시 도난여부 판단 마르코프 랜덤 필드 : 변수간의 조건부독립을 도입, 주변의 변수로부터 값을 추론 ex) 이미지 프로세싱 베이지안 어프로치 : 사전지식을 이용한 확률초기값과 데이터관측 후의 확률을 모두 고려 ex) 의사가 폐렴환자를 진단함. 진찰하기전에 이러한 시기에는 몇프로의 폐렴이 있더라 - 프라이어확률 / 환자를 직접관찰했더니 피를 토하더라 - 라이클리 후드 2015. 3. 24.
Unbiased Estimation, Biased Estimation # 불편 추정치(unbiased estimation) : 모집단(population)의 통계값을 정확하게 측정할 수 있는 방법. - 설문조사를 통해 모집단 평균 구하기 : n개의 샘플 그룹을 만들고 각 샘플 그룹에서의 평균의 평균을 내면 모집단의 평균을 정확하게 예측 가능함이 증명되었다. 그러므로 이는 unbiased estimation에 속한다. # 편의 추정치(biased estimation) : 모집단(population)의 통계값을 정확하게 측정할 수 없는 방법. - 설문조사를 통해 모집단 분산 구하기 : 모집단의 분산은 표본들의 분산과 항상 같지 않으므로(n-1배만큼 작음)이는 biased estimation이다.-> n개의 샘플 그룹을 만들고 각 샘플 그룹에서 분산을 내서 모으면 모집단의 분산.. 2015. 3. 23.
Kalman Filter HMM는 모든 변수가 discreteKalman filter는 모든 변수와 히든도 가우시안임. 똑같이 히든스테이트가 있고, 히든 스테이트 간의 transition이 있음 2015. 3. 11.