본문 바로가기

전체 글

(297)
[머신러닝] 능형 회귀 모형 (Ridge Regression) 안녕하세요, 이번 포스팅에서는 선형회귀분석의 발전 단계인 능형 회귀 모형에 대해서 배워보도록 하겠습니다. 능형 회귀 분석은 축소 방법 (Shrinkage method) 중 하나로, 모형에 분산을 줄여주는 효과를 가져옵니다. 일반적으로 많은 수의 변수를 가지고 선형회귀분석을 하면, Train R-squared는 좋아지지만, 이는 overfitting을 발생시킵니다. 즉, 실제로 새로운 값에 대하여 값을 예측할 때, 성능이 점점 안좋아지게 됩니다. 따라서 능형 회귀 모형은 일반적인 선형 회귀 분석의 ß를 추정하는 과정에서, 패널티 항을 추가합니다. 이 때, λ 의 값은 hyperparameter로 분석자가 정해줘야 하는 값입니다. λ 를 너무 크게 정해주면 ßj 들이 전부 0과 가까운 값으로 수렴하게 되고,..
[머신러닝] 선형 회귀 분석 (2) 안녕하세요, 선형 회귀 분석 두번째 시간입니다. 이번 시간에는 선형회귀분석의 적합과 성능 평가에 대해서 알아보도록 하겠습니다. 선형 회귀 분석은 실제값과 예측값 사이의 오차 제곱들의 합 (SSE)을 최소로 하는 β를 추정하게 됩니다. 이 포스팅에서는 머신러닝에서의 선형 회귀 분석의 활용을 다루기 때문에 자세한 수리적 내용을 생략하도록 하겠습니다. 이 과정의 자세한 내용은 통계의 회귀 분석 파트에서 다루도록 하겠습니다. ​ 선형회귀분석의 성능을 측정하는 지수로 결정계수 (R2: R-squre)가 있습니다. 결정계수이 가지는 의미를 쉽게 설명하자면, 우리가 일반적으로 Y값을 예측한다고 할 때, Y의 평균으로 예측하는것이 일반적이잖아요? 결정계수는 우리가 선형회귀모형으로 예측한 값이 그냥 평균으로 예측한 값보..
[머신러닝] 선형 회귀 분석 (1) 안녕하세요, 이번 시간부터는 선형 회귀 분석에 대해서 알아보도록 하겠습니다. 일반적으로 회귀 분석은 독립 변수 x = (x1, x2, ···, xp)가 주어질 때, 종속 변수 y의 조건부 기댓값 (E(yⅠx))를 추정하는 것을 말합니다. 즉, 쉽게 말해서 데이터 x가 주어질 때, 가질 수 있는 y값의 기댓값을 추정한다는 것입니다. 따라서, 회귀 모형의 추정식은 다음과 같습니다. 회귀 모형을 추정할 때에, 데이터의 개수 n이 p보다 작은 경우, 굉장히 많은 solution이 존재하기 때문에, β가 불안정하게 됩니다. n=p 인 경우, 만약 x들이 서로 선형 독립이라면, y = f(x,β)가 완벽하게 풀리게 되며 유일한 solution을 얻을 수 있습니다. 가장 흔한 경우인 n>p인 경우에는 정확한 solu..
모델 평가 안녕하세요, 오늘은 저희가 적합한 머신러능 모델의 평가 방법에 대해서 알려드리도록 하겠습니다. ​ 1. 성능 평가 방법 우선 모델평가 방법은 저희가 가지고 있는 데이터의 숫자가 적을 때와 많을 때 두가지로 나뉜다고 할 수 있습니다. 데이터의 개수가 많을 때는 Data set을 쪼깸으로써 평가를 진행합니다. 위의 그림처럼 데이터셋을 Train set, Validation set, Test set으로 나눌 수 있습니다. ​ ① Train set Train 데이터 셋은 모델을 훈련시킬 때 사용됩니다. 이 때 모델을 너무 복잡하게 만든다면 앞에서 배웠다시피 overfitting이 발생할 수 있으니 유의해야합니다. ​ ② Validation set Validation 데이터 셋은 우리가 Train set에서 적합..
Bias & Variance Trade-off 안녕하세요, 오늘은 머신러닝에서 Bias term 과 variance term의 트레이드 오프 관계에 대해서 알려드리겠습니다. Bias는 우리가 적합한 머신러닝 모델이 실제값과 얼마나 닮았는가를 나타내는 지표입니다. 영어로는 goodness-of-fit라고 말하기도 합니다. 반면에, variance는 모델이 우리가 훈련 시킨 데이터 셋 이외의 데이터 셋에도 얼마나 잘 들어맞는지에 대한 지표입니다. variance는 일반적으로 모델이 복잡해질수록 높아지는 성향이 있습니다. ​ 위의 그림이 Bias와 Variance에 대해 시각적으로 표현 해줍니다. 1번 그림같은 경우는 모델이 매우 심플하기 때문에 variance는 작지만, 실제값과 모델간의 차이가 상당하므로 높은 bias를 가지고 있다고 할 수 있습니다...
Reducible and Irreducible Errors 이번 시간에는 머신러닝의 오차에 대해서 알려드리겠습니다. 첫번째 포스팅에서 머신러닝에 대해서 소개를 드릴 때 라는 식을 기억하실겁니다. 회귀문제를 다룰 때 실제 데이터가 회귀모형에 정확히 적합하지는 않을 것이기 때문에 아무도 알지 못하는 오차항인 ε가 존재하게 됩니다. 오차항은 random variable로 평균이 0이고 분산이 Var(ε)인 정규분포를 따르게 됩니다. 이 때 머신러닝에서 예측한 값을 라고 정의해보겠습니다. 이 때 y값과 예측값의 차이의 제곱에 기댓값을 취하면 으로 표현되게 됩니다. 따라서 머신러닝 알고리즘은 reducible error를 최소로 하는 것을 목표로 하게 됩니다. (Irreducible error는 알지못하는 오차로 조절 x)
머신러닝 vs 데이터마이닝 많은 사람들은 머신러닝과 데이터마이닝의 차이를 잘 인지하지 못하고 있다. 이는 머신러닝에서 사용되는 다양한 모델 (ex: 회귀 모델, 분류 모델)이 데이터마이닝에서도 똑같이 사용되기 때문이다. 하지만 머신러닝과 데이터마이닝은 엄격하게 다른 개념이며, 이를 쉽게 설명하는 구절을 찾았기 때문에 인용해보았습니다. ​ 분류나 예측, 군집과 같은 기술, 모델, 알고리즘을 이용해 문제를 해결하는 것을 Computer Science 관점에서는 머신러닝이라고 하고, 통계학 관점에서는 데이터 마이닝이라고 한다. 이러한 현상이 발생한 계기는 1990년대에 들어서면서 실용적인 머신러닝 연구를 위해 통계학에서 다루고 있는 사례들을 컴퓨터 과학자들이 컴퓨터를 이용해 좀 더 효율적인 해결 방안을 찾아내는 과정에서 비롯되었다고 할..
머신러닝이란? 1. 머신러닝의 정의 머신러닝 (Machine Learning)은 위키피디아의 정의에 따르면 "컴퓨터 시스템이 대신 패턴과 추론에 의존하면서 명시적 지시를 사용하지 않고 특정 작업을 효과적으로 수행하기 위해 사용하는 알고리즘과 통계 모델의 과학적 연구" 라고 나타나있다. ​ ​ 즉 쉽게 말해서, 이전에 우리가 수학에서 배워오던 익숙한 과정은 input 변수 x와 function f(x)가 주어지고, output: y=f(x)를 얻는 것이였지만, 머신러닝은 input 변수 x와 output 변수 y가 주어지고, 그 관계를 나타내는 Target function: f()를 찾는 일련의 과정이라 할 수 있다. input 변수와 output 변수간의 관계는 오차값 ε 와 함께 다음과 같이 표현된다. ​ y = f..