본문 바로가기

분류 전체보기

(67)
뉴턴 방법, 준 뉴턴 방법 최대경사법(steepest Gradient Descent)는 벡터가 최저점을 가리키고 있지 않은 경우에 진동 현상이 발생한다. 이런 진동현상을 없애는 방법으로 2차 도함수(헤시안 행렬)을 이용하는 방법이나 모멘텀 방법이 있다. 일반적인 경우에는 2차 도함수를 사용하고, 2차 도함수(헤시안 행렬)를 계산하기 어려운 인공신경망 등에서는 모멘텀 방법을 많이 사용한다. 헤시안 행렬을 이용해서 최저점을 찾는 방법에 대해서 알아보자. 2차 도함수를 사용한 뉴턴 방법 뉴턴함수는 gradient와 다르게 미분 값만을 이용하여 optimizer를 시키는 것이 아니다. 미분 값과 미분 값에 대한 정보 즉, 2차 도함수를 사용해 최적화를 시킨다. 스텝 사이즈는 hyperparameter가 아니라, 뉴턴 함수가 알아서 최적의..
SVM(2): Kernel, polynomial Kernel, Radial Kernel(RBF) SVM을 이해하기 위해 필요한 Maximal Margin Classifier, SVC를 설명하고 최종적으로 SVM을 설명하겠다. SVM에 사용되는 kernel, Kernel Trick도 알아보자. 아래의 내용은 https://www.youtube.com/user/joshstarmer를 보며 정리한 내용이다. 1. Maximal Margin Classifier 쥐의 무게를 보고 정상인지 비만인지 분류해보자. 임계값을 주황색 선으로 잡고, 임계값보다 작으면 주황색(정상), 크면 (비만)으로 분류하겠다. 새로운 점(초록점)이 들어온다면, 입계 값보다 크기 때문에 비만 데이터로 예측할 것이다. 하지만 만약 임계값에 가까운 검은색 데이터가 들어온다면 어떻게 될까? 임계값보다는 크기 때문에 비만으로 분류되겠지만, ..
테일러 급수, 헤시안 행렬 https://data-matzip.tistory.com/entry/4-%EC%8B%AC%ED%8C%8C%EC%9D%B4SymPy%EB%A1%9C-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EB%AF%B8%EC%A0%81%EB%B6%84?category=850503 4. 심파이(SymPy)로 공부하는 미적분 책에 있던 모든 내용을 다루지는 않는다. 어렵거나 부연 설명이 필요한 부분만 다룰 것이다. 1. 테일러 급수 2. Gradient Vector, Jacobian Matrix, Hessian Matrix 테일러 급수 테일러 급수(Taylor Series) 또는.. data-matzip.tistory.com 팀 블로그의 내용을 듣고 쓴 글입니다. 테일러 급수 테일러 급수(Tayl..
Adaboost(에이다부스트) Adaboost는 Random Forest의 Boost모델 일종이다. Boost와 Bagging에 대한 설명은 아래 링크를 걸어두겠다. https://ekdud7667.tistory.com/13?category=887591 [Ensemble] 개요(Bagging, Boosting, Stacking) 아래의 포스팅은 팀블로그인 '데이터 맛집'에서 참고한 내용입니다. 팀블로그-앙상블 기법정리 [앙상블 기법 정리] 1. 앙상블(Ensemble) 기법과 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking) 안녕하세요,.. ekdud7667.tistory.com 개념 아래의 그림처럼 +와 -를 Adaboost를 이용해 나눠보자. 그림에서는 왼쪽 +를 모두 맞췄지만 오른쪽 + 3개를 맞추지 못..
SVM(Support Vector Machine)(1) 서포트 벡터 머신은 지도 학습 모델로 분류와 회귀 분석을 위해 사용한다. 두 개의 카테고리가 주어질 때 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형 분류 모델이다. SVM은 2차원에서 2개의 카테고리로 나눌 수 없으면 3차원, 4차원..으로 차원을 확장한다. 즉, 차원을 확장해 2개의 카테고리를 어떻게 잘 나눌 수 있느냐에 대한 모델이다. 그렇다면 SVM은 데이터를 어떻게 나눌까? Hard margin SVM Soft margin SVM Nonlinear SVM 3개를 나눠서 설명할 예정이며, 2번과 3번은 다음 링크에 게시했다. 1. Hard margin SVM 개요 2차원 이런 데이터가 있다고 했을 때 직선 $B_1, B_2$는 모두 데이터를 잘 나누고 있다. 하지만 $B_1,..
1-3. Titanic Top 4% with ensemble 앞의 내용과 마찬가지로, 1-1, 1-2에서 진행했던 EDA부분은 생략하겠다.(null값, describe, feature 그래프..) https://ekdud7667.tistory.com/44 https://ekdud7667.tistory.com/42 데이터 그래프 부분은 위쪽을 참고를 부탁드린다. 1. Load Data & check Outlier detection featur를 반복하며 outlier를 넘는 데이터 출력 후 drop 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 train = pd.read_csv('trai..
1-2. EDA To Prediction https://ekdud7667.tistory.com/42?category=897373 1-1. 타이타닉 튜토리얼1 import & data 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns plt.style.use('seaborn') sns.set(font_scale=2.5) # 이.. ekdud7667.tistory.com 1.2부터는 튜토리얼과 EDA가 겹치는 부분이 많아, 겹치는 부분은 설명 없이 진행하려 합니다. EDA의 자세한 설명은 튜토리얼 링크에서 참고하세요. 1. EDA 1 2 3 4 5 6 7 8 9 10 1..
KNN CF(Collaborative Filtering) 구현 KNN을 2가지 방법으로 구현하겠다. 참고한 출처는 맨밑에 있다. (팀블로그 :데이터 맛집 에도 게시한 내용입니다.) 1. sklearn패키지 이용 2. 코드 구현 1. sklearn패키지 사용 Import & Data df는 rating, movie 데이터로 만든 데이터 프레임이다. rating을 하나도 못받은 영화의 경우, df_rating movie id가 존재하지 않기 때문에 df 데이터프레임을 만들었다. 1 2 3 4 5 6 7 8 9 10 import pandas as pd import numpy as np import glob import matplotlib.pyplot as plt from matplotlib.backends.backend_pdf import PdfPages import t..