본문 바로가기

ML & DM

Factorization Machine 요약 이 논문은 Support Vector Machine(SVM) 의 장점과 Factorization model들을 합친 새로운 모델Factorization Machine을 소개한다. SVM같이 FM은 real valued 피처벡터를 사용하는 모델이다. 그러나 SVM과 다른 점은 피처간 상관관계 또한 Factorized Parameter를 통해 사용한다는 것이다. 그러므로 Sparisity가 큰 데이터에서는 작동하지 못하는 SVM과는 달리 FM은 상관관계들을 추정할 수 있다. 이 논문에서 FM의 공식들이 어떻게 선형시간(Linear Time)으로 계산되어 바로 최적화가 될 수 있는지에 대해 설명한다. 따라서 비선형기법인 SVM과는 다르게 Dual form 에서의 변형이 필요없고 support vector.. 더보기
Catboost 1. Introdunction Gradient boosting은 weak learner를 loss function상에서 gradient descent라는 최적화 기법으로 기울기가 가장 큰 (greedy procedure) 방향으로 sub tree들을 반복적으로 추가하여 결합하는 방법으로 성능을 향상시키는 boosting 기법의 중 하나이다. catboost가 다른 gbm 알고리즘보다 좋은 성능을 낼 수 있는 것은 ordering-principle의 개념을 대입하여 기존의 data-leakage로 인한 prediction-shift 에 대한 문제 그리고 high cardinality를 가진 category 변수에 대한 전처리 문제를 해결했다. 첫번째 장점은 범주형변수처리 방법의 개선으로 인한 학습시간 단축.. 더보기
Decision Tree의 종류 원문 : https://www.quora.com/What-are-the-differences-between-ID3-C4-5-and-CART참고 : http://stackoverflow.com/questions/9979461/different-decision-tree-algorithms-with-comparison-of-complexity-or-performance 결정트리의 종류는 다음의 기준에 따라 달라진다.분할기준 (즉 어떻게 분산이 계산되는가?)이것이 회귀모형(연속형종속변수, 예를 들어 점수같은)이냐 혹은 분류모형(이산형종속변수, 예를들어 등급)인지 오버피팅을 제거/줄이기 위한 테크닉불완전한 데이터를 다룰수 있는지 여부 주된 결정트리 알고리즘은 다음과 같다.ID3, or Iternative Dich.. 더보기
A Gentle Introduction to XGBoost for Applied Machine Learning 원문 : http://machinelearningmastery.com/gentle-introduction-xgboost-applied-machine-learning/ XGBoost는 최근 Kaggle competition들과 응용기계학습에서 가장 잘나가는 알고리즘이다.XGBoost는 gradient boosted decision trees(속칭 GBM)을 속도와 성능면에서 향상시킨 알고리즘이다.이 포스팅에서, XGBoost가 무엇이고, 어디서 유래되었고, 또 어떻게 학습시키는지 등을 설명할 것이다.이 포스팅을 읽고 난 후, 여러분은 다음을 알게될 것이다. :XGBoost가 무엇이고 이 프로젝트의 목적들이 무엇인지.왜 XGBoost는 따로 머신러닝 툴킷으로 나왔는지.당신의 다음 머신러닝 프로젝트에 사용하기.. 더보기
Learning rate decay Learning rate decay 보통 일반적인 Stochastic gradient descent를 이용한 backprop을 할때 weight 의 learning rate를 잘 조정하는 것이 중요하다. 초기에는 이 learning rate를 grid search(요즘엔 random search를 사용하는 추세이다.)로 찾아 가장 오차를 적게하는 learning rate로 고정을 시켰다. 그러나 이는 실제 오차함수의 최적해를 찾는 과정을 보면 알맞지 않은 방법이다. 이를 골짜기를 향해 내려가는 것에 비유해보면 걸음폭을 일정하게 가지만 골짜기로 내려 갈수록 이 걸음폭을 줄여야만 가장 움푹 패인 곳에 도달할 수 있기 때문이다. 다시말해 최적해를 구하기 위해서는 각 스텝(혹은 iteration, step)이 .. 더보기
Frequentism and Bayesianism II: When Results Differ 원문 : http://jakevdp.github.io/blog/2014/06/06/frequentism-and-bayesianism-2-when-results-differ/ 이전 포스팅에서, 빈도주의과 베이지안주의가 과학적 데이터 분석에 연관되어 있기 때문에 이에 대한 간단한 실전예제를 보였다. 여기에서, 빈도주의와 베이즈론주의간의 근본적 철학의 차이를 다뤘고, 두 접근은 몇몇 간단한 문제에 대해서는 같은 결과를 낸다는 것을 보였다. 이렇게 간단한 문제에 대해서 종종 같은 결과를 낸다는 것을 보여주는것은 쉬웠으나, 복잡한 문제들에 대해서는 상당히 다른 결과를 낼 수 있는것 또한 사실이다. 이 차이는 다음의 두가지 상황에서 가장 명백히 드러난다. 1. 성가신(Nuisance) 가진 파라미터들을 다룰때.2... 더보기
Simple linear regression 단순선형회귀 혹은 우리가 흔히 말하는 회귀분석은 X와 Y두 변수사이의 선형관계를 분석하는 것을 말한다. 따라서 단순회귀라고 했을 때 이 말속에는 두개의 변수와 선형관계라는 두가지 의미가 내포되어 있다. 변수가 3개 이상일때는 다중회귀를 실행하면 된다. 1. 산점도 X,Y축에 있는 두 변수의 값을 각각 하나씩의 축에 할당하여 이를 좌표축에 표시하였을 때 이를 산점도(혹은 점산도,scatter plot)라고 한다.아래 그림에서 다섯 개의 점은 우상향 하면서 산포되어 있음을 알 수 있다. 여기에 있는 모든점을 통과하는(100% 표현하는)직선을 그릴 수는 없지만 가장 가까이 통과하는 직선을 그리고 이 직선의 방정식을 알아낼 수 있다면, x값에 따른 y값을 예측 할 수 있을 것이다. 이때 산점도에 나타난 점들을 .. 더보기
Logistic Regression Part.1 많은 블로그들과 책들에서 로지스틱 회귀에 대해 잘 설명해 놓은것이 많다. 따라서 이 포스팅은 로지스틱 회귀방법에 대해 설명을 하겠지만 자세히 하진 않고 이 내용을 본인이 이해한 방식대로 써내려 갈것이다. 본인은 전문가는 아니기 때문에 내용이 틀릴수도 있다. Criticism은 언제나 환영이다. Logistic Regression은 Logit function을 사용한 회귀분석이라는 말이다. 일단 처음으로 드는 생각은 우리가 아는 기존의 (단일)회귀식과 무엇이 다른가이다. 기존의 회귀식은 우리가 알다시피, 좌변과 우변에서 계산된 값이 모두 연속형인 수를 가정한다. 즉 좌변과 우변에서 계산된 값이 연속형이라는 것이다. 그런데 로지스틱 회귀에서의 상황은 이렇다. 회귀식에서 우변은 연속형인 값이 나오지만 좌변은 .. 더보기
Frequentism and Bayesianism: A Practical Introduction 원문 : http://jakevdp.github.io/blog/2014/03/11/frequentism-and-bayesianism-a-practical-intro/ 이 포스팅은 5파트로 나눠 포스팅하겠다. 데이터사이언티스트가 통계학에 대해서 처음으로 들었을 것들중 하나는, 통계학에는 2가지 다른 접근인 빈도주의와 베이지안주의가 있다는것이다. 이것들의 중요성에도 불구하고, 많은 연구자들은 둘 사이의 특징들과 결과에 대한 다른 실용적 접근법들에 대해 배울 기회가 없었다. 이 포스팅의 목적은 빈도주의와 베이지안주의의 접근법들에 대한 철학적인 면과 실용적인 면을 함께 보여, 데이터 분석의 종류들을 이해하는데 무리가 없도록 하는것이다. Frequentism vs. Bayesianism : Philosophica.. 더보기
Sentiment Analysis 감성분석이란 텍스트의 정보(information)을 추출하는 텍스트 마이닝과는 다르게 어떤 주제에 대한 주관적인 인상, 감정, 태도, 개인의 의견들을 텍스트로부터 뽑아내는 분석을 말한다. 일반적으로 찬성/반대, 좋음/싫음 같이 2진형식으로 나타낸다. 이렇게 감성분석의 주된일은 주어진 텍스트에서 긍정, 부정 혹은 중립을 파악하는것을 기본으로 하고 이를 텍스트의 polarity를 알아낸다고 한다. 이러한 기본작업에서 더 나아가 (beyond polarity) 분노, 슬픔, 기쁨 같은 감정의 상태도 분석을 할 수 있다. 1. 종류 초기 감성분석은 문서단계에서 이루어 졌다. 즉 제품리뷰와 영화리뷰들의 극단성(polarity)을 찾는것에 집중되었다. 이러한 극단성을 찾는 문제에서 점수가 글쓴이의 감정을 대변할 수.. 더보기