본문 바로가기

머신러닝, 딥러닝

(12)
[ADP 실기준비] 1. 시계열분석 1. 시계열분석 간단정리 정상 시계열의 조건 - 일정한 평균 - 일정한 분산 - 공분산은 t가 아닌 s에 의존 일변량 시계열분석 - 자기회귀모형(AR), 이동평균(MA), Box-Jenkins(ARMA), 지수 평활법, 시계열 분해법 등 2. 예제: 영국 왕들의 사망시 나이 데이터 예측 https://rpubs.com/ryankelly/ts6 RPubs - TimeSeriesAnalysisExamples rpubs.com kings
[머신러닝] 8. 서포트 벡터 머신(feat. R Code) 장점범주, 수치 예측 문제에 사용오류 데이터 영향이 적음과적합 되는 경우가 적음신경망보다 사용하기 쉬움단점여러 조합의 테스트가 필요학습 속도가 느림해석이 어렵고 복잡한 블랙박스 R Code서포트 벡터 분류기set.seed(1)x=matrix(rnorm(20*2), ncol=2)y=c(rep(-1, 10), rep(1, 10))x[y==1,]=x[y==1,]+1plot(x, col=(3-y))두 클래스에 속하는 관측치들을 생성한다.library(e1071)dat=data.frame(x=x, y=as.factor(y))svmfit=svm(y~., data=dat, kernel='linear', cost=10, scale=FALSE)plot(svmfit, dat)svm()함수는 인자 kernel='linear..
[머신러닝] 7. 트리 기반의 방법- 배깅, 랜덤포레스트, 부스팅 트리의 장점설명하기 쉽다.가변수들을 만들지 않고도 질적 설명변수들을 쉽게 처리할 수 있다.트리의 단점트리는 일반적으로 다른 일부 회귀 및 분류 기법들과 동일한 수준의 예측 정확도를 제공하지 못한다.배깅(Bagging)통계학습방법의 분산을 줄이기 위한 범용 절차이다.B개의 붓스트랩된 훈련셋을 사용하여 B개의 회귀트리를 만들고 그 예측 결과들을 평균한다. 이러한 트리들은 크기가 크고 prune 되지 않은 것이기 때문에 각 트리는 분산이 크지만 편향은 작다.Y가 질적 변수인 분류 문제로 배깅을 확장하자면, B개 트리 각각에 의해 예측된 클래스를 기록하고 다수결, 즉 B개의 예측 사이에서 가장 자주 발생하는 클래스를 취한다.Out-of-Bag 오차 추정각각의 배깅된 트리는 평균적으로 관측치들의 약 2/3을 이용..
[R] Catboost 이론 참고 https://dailyheumsi.tistory.com/136 Catboost 주요 개념과 특징 이해하기 비교적 가장 최근에 등장한 Catboost 에 대해 관심이 생기던 찰나, 최근에 Medium Article 로 Catboost 를 잘 정리해놓은 글이 있어, 이를 참고하여 Catboost 에 관한 내용들을 정리해본다. (참고가 아니라 사 dailyheumsi.tistory.com 기존 부스팅 모델의 문제점 1) 느린 학습 속도 배깅의 경우 여러 트리들이 병렬적으로 모델학습을 수행하고 부스팅의 경우 순차적으로 모델의 학습을 수행하기 때문에 학습 속도가 느리다. 2) 오버피팅 부스팅은 '잔차'를 줄여나가기 위해 학습하는 모델이기 때문에 High Variance한 모델일 수 밖에 없다. Catboo..
[R] 사용되지 않는 level 제거하기 (feat. drop.levels함수) #1번) 원데이터의 credit변수 head(data$credit) ##[1] 1 1 2 0 2 1 ##Levels: 0 1 2 #2번) filter를 적용한 데이터의 credit변수 data2%filter(data$credit%in%c(0, 1)) head(data2$credit) ##[1] 1 1 0 1 0 0 ##Levels: 0 1 2 0, 1, 2의 값을 가질 수 있는 범주형 변수가 있다고 할 때, filter를 적용해 0, 1의 값만 가지는 관측치만 새로 생성했다. 하지만 levels은 0, 1, 2를 그대로 가지는 것을 확인할 수 있다. 이러한 경우 예전에 어떻게 처리했는지 기억이 나지 않아 검색을 해보니, gdata 패키지의 drop.levels 함수를 사용하면 된다고 한다. 이렇게 ! d..
[머신러닝] 6. 선형성을 넘어서(비선형모델)- 다항식회귀, 계단함수, 스플라인, GAMs (feat. R Code) 앞서 살펴본 릿지회귀, 라쏘회귀, 주성분회귀 등은 선형모델의 복잡도를 줄여 추정치들의 분산을 줄인다. 하지만 여전히 선형모델이 사용되므로 개선은 한정적이다.해석력은 여전히 높게 유지하면서 선형성에 대한 가정은 완화하고자 이를 위해 다음과 같은 선형 모델과 기법들을 살펴본다.다항식회귀: 원래의 설명변수 각각을 거듭제곱하여 얻은 추가적인 설명변수들을 포함하여 선형모델을 확장한다. 예를 들어, 삼차회귀는 세 개의 변수 X, X^2, X^3을 설명변수로서 사용한다. 이 기법은 데이터에 대한 비선형적합을 제공하는 방법이다.계단함수: 변수의 범위를 K개 영역으로 구분하여 질적 변수를 생성한다. 이것은 조각별 상수함수를 적합하는 효과를 가진다.회귀 스플라인: 다항식 함수와 계단함수보다 더 유연하며 사실상 이 두 함수..
[머신러닝] 5. 선형모델 선택 및 Regularization- Ridge, Lasso regression, PCR, PLS (feat. R Code) 선형 회귀 모델 구축에 사용되는 최소제곱법이 아닌 다른 적합절차를 사용하는 이유는?예측 정확도: n이 p보다 아주 크지 않으면 최소제곱적합에 많은 변동이 존재할 수 있어 과적합을 초래할 수 있다. p>n가 되면 분산이 무한대가 되어 최소제곱 방법은 전혀 사용할 수 없게 된다.모델 해석력: 최소제곱방법으로 반응변수와 관련이 없는 변수들도 정확하게 0인 계수 추정치를 얻게 될 가능성은 거의 없다. 관련이 없는 변수들은 모델을 필요없이 복잡하게 만들기 때문에, 관련없는 변수들을 제외하는 기법들이 필요하다.최소제곱법 대신 사용할 대안은?서브셋(부분집합) 선택수축(shrinkage)차원축소(Dimension Reduction)부분집합 선택- 단계적 선택1. 전진 단계적 선택전진 단계적 선택은 설명변수가 하나도 포..
[머신러닝] 3. 분류- 로지스틱 회귀, LDA, QDA (feat. R Code) 로지스틱 회귀(Logistic Regression)로지스틱 함수를 사용하여 두 개의 반응변수 클래스에 대해 Pr(Y=k|X=x)를 직접 모델링(설명변수X에 대해 반응변수Y의 조건부분포를 모델링)최대가능도(maximum likelihood) 방법을 사용하여 모델 적합모델을 적합하여 얻은 계수 추정치 beta1이 0.0055라면, X의 한 유닛 증가로 인해 로그 공산은 0.0055 유닛만큼 증가선형판별분석(Linear Discriminant Analysis)데이터 분포를 학습해 결정경계(Decision Boundary)를 만들어 데이터를 분류하는 모델로지스틱 회귀보다 대안적인 기법을 사용하여 반응변수Y의 각 클래스에서 설명변수X의 분포를 모델링하고, 그 다음에 베이즈 정리를 사용하여 Pr(Y=k|X=x)에 ..