School/머신러닝 10

Random Forest 와 추천시스템

여러개의 DT 를 앙상블하는 알고리즘 Algorithm 1) bagging : train set 을 bootstrap (학습데이터 X로부터 N개의 sample 을 복원 추출) 2) Build DT : bagging 한 data set 이용해서 DT를 만드는데, 분류에 사용할 feature 를 random 하게 select 함 전체 feature 가 M 개라고 했을때 , m 개의 feature 를 이용하여 DT를 그림 ( m 앙상블 과정에서 분산이 줄어들기때문에, unstable 한 DT일수록 앙상블 시 효과가 좋다 3) 여러개의 DT 를 이용해 예측한 결과에 대해 majority vote 를 취한다 Increasing m good : 많은..

School/머신러닝 2022.05.10

Ensemble Learning

앙상블 학습 여러개의 분류기를 이용하여 데이터를 분류하는 방법 장점 여러 분류기를 동시에 사용함에 따라 분류 오차 감소 : 여러 독립적이고 다양한 결과를 조합할 경우, 각 개별 결과들이 최소한 random guessing 보다 우수하다면 무작위 오차들이 서로 상쇄되어 좋은 결과를 가져옴 step step1. 여러 가설(분류기) 집합을 선택 step2. 여러 분류기로부터 발생한 예측 결과를 조합 step1 에서의 방법과 step2 에서의 방법에 따라 앙상블 학습 분류 가능 step1 Homogeneous Ensemble 한 종류의 학습 방법을 사용하지만, 학습 데이터를 조작하여 서로 다른 학습데이터를 사용하여 각각 모델을 학습시킴 (다른 instance, 다른 feature 등) Heterogeneous ..

School/머신러닝 2022.05.04

의사결정나무(Decision Tree)-1

의사결정나무 분류 널리 사용되는 분류기 중 하나 복잡한 데이터에 대해 좋은 성능을 보임 학습 데이터로부터 설명 가능한 분류기준을 결정 (왜 이렇게 분류되었는지) 데이터를 뿌리부터 잎까지 순차적으로 분류 * leaf noad : 더이상 분리되지 않는 노드 Tree Introducion Algorithm 데이터로부터 DT 알고리즘을 만들어내는 알고리즘 Tree Introduction Algorithm 에서 만들어진 DT -> test data 에 DT 적용 -> 각 data 에 class 를 부여할 수 있음 ex. 깉은 데이터의 분류에 대해 하나 이상의 서로 다른 트리 학습이 가능하다 splitting attribute 로 어떤 attribute 를 고르냐에 따라 트리 모양이 달라짐 위의 DT에 refund..

School/머신러닝 2022.04.16

로지스틱 회귀

https://ratsgo.github.io/machine%20learning/2017/04/02/logistic/ 로지스틱 회귀 · ratsgo's blog 이번 포스팅에선 범주형 변수를 예측하는 모델인 로지스틱 회귀(Logistic Regression)에 대해 살펴보려고 합니다. 이번 글은 고려대 강필성 교수님과 역시 같은 대학의 김성범, 정순영 교수님 강의를 ratsgo.github.io 로지스틱 회귀 한줄요약 : 특정 확률의 비율을 회귀분석하는 model 회귀를 사용하여 데이터가 어떤 범주에 속할 확률을 0에서 1사이 값으로 예측하고, 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류해주는 지도학습 문제의식 y가 범주형(categorical) 변수일때는 다중선형회귀모델을 적용할 수 없음..

School/머신러닝 2022.04.12

선형분류

1. 분류문제의 정의 분류(classification) 학습 데이터가 주어졌을 때, 해당 학습 데이터의 독립변수들을 이용하여 class 를 예측하는 것 * class : 연속된 값이 아닌 특정 그룹을 상징하는 이산적인 값 => input data가 어떤 class(group) 에 속하는지 예측하는 것 (output 은 class) 결정경계(decision boundary)가 선형인 경우 선형 분류모형, 결정경계가 비선형인경우 비선형 분류모형이라고 함 target class 가 2개인 경우 이원(이진)분류, target class 가 3개 이상인 경우 다원(다진)분류 라고 함 2. 분류 알고리즘의 성능 평가 지표 :accuracy / F1-score Accuracy(정확도) 일반적으로 분류문제의 경우 정확..

School/머신러닝 2022.04.06

과적합과 과소적합

머신러닝 알고리즘은 학습과정을 통해 학습데이터에 대하여 오차(학습오차)를 감소시켜나감 우리가 원하는 모델은 도메인에서 주어진 임의의 데이터에 대해 예측 성능이 뛰어난 모델을 원함 즉, 일반화 오차 가 적은 모델을 원하기 때문에, 모델의 일반화 성능(MSE) 평가시 1. 도메인에서 임의로 뽑은 2. 테스트 데이터(학습에 사용되지 않은 데이터) 로 성능을 평가해야함 과적합(overfitting) : 모델이 지나치게 학습 데이터에 맞춰져서 일반화 성능이 오히려 떨어지는 경우 과소적합(underfitting) : 모델이 학습 데이터에 대해 제대로 학습되지 않아 모델의 성능이 떨어지는 경우 test error = training error + generalization gap generalization gap =..

School/머신러닝 2022.03.30

서브셋

최소제곱법의 결정적인 문제점(약점) 두가지 1) 예측 정확도 : 편향은 낮지만 분산은 높게 추정하는 경우가 있음(불안정한 모델이 만들어지는 경우가 있음) 편향이 낮다 = 적합도가 높다 분산이 높다 = 모집단에서 어떤 데이터를 샘플링해서 회귀분석을 하느냐에 따라서 추정되는 모수값이 크게 달라진다 2) 설명력 가장 좋은 효과를 보이는 매우 작은 서브셋은 설명력을 저하시킨다 서브셋 여러개의 독립변수를 포함하는 경우/포함하지 않는 경우 두가지 경우를 모두 고려한 data set k개의 독립변수가 있다면 (2^k-1) 개의 subset 존재 (모든 독립변수 사용하지 않는 경우를 제외) 최적 서브셋 회귀 (오차)^2 의 합을 최소화하는 서브셋을 구하는 과정 회귀분석에서의 변수 선택 Extra Sum of Squar..

School/머신러닝 2022.03.30

다중회귀모형의 선택

모형선정척도 = 적합결핍 + 복잡도 적합결핍과 복잡도는 상충관계이기 때문에 적당히 조율해야함 * SSE : 회귀분석을 통해 설명할 수 없는 변동량 (SSE가 클수록 적합결핍이라는 뜻) * p : 독립변수의 수 = 추정해야하는 모수 (p 가 클수록 모델 복잡도가 커진다는 뜻) * n : 사용한 data 의 수 * MSE : 오차 / MSE all 은 고정 모형선정척도 과소적합 모델 : SSE 크고 p 작음 -> AIC가 큼 -> 안좋은 모형 과적합 모델 : SSE 작고 P 큼 -> AIC가 큼 -> 안좋은 모형

School/머신러닝 2022.03.29

다중공선성

정의 : 설명변수간 상관계수가 높은 경우 회귀계수의 값이 매우 커짐 특정 설명변수가 다른 변수들과의 선형결합으로 표현되는 경우 다중공선성 여부 확인 : 나머지 설명변수들로 새로운 회귀식을 추정한 후 분산팽창계수(VIF) 확인 R^2 : 결정계수 (결정계수에 대한 포스팅 링크 주석 달기) VIF > 10 이면 의심의 여지 많음 = 다중공선성이 존재 다중공선성 해결책 : 독립변수간 상관관계는 어느정도 존재하는것이 일반적. 다중공선성을 최소화해야함 1) 신중한 변수 선택 2) OLS(최소제곱법) 추정치에 대한 대안 = 회귀분석 방식 바꾸기 ex. 능동회귀 (ridge regression) - 회귀계수가 너무 커지지 않게 제약

School/머신러닝 2022.03.29