Loading...
2021. 11. 3. 21:27

선형대수학 기본 용어 -중급자편 1-

square matrix의 어떤 특성을 나타내주는 하나의 scalar value로 mapping하는 함수를 말합니다. 구체적으로 determinant가 0이 아니라는 것은 주어진 square matrix가 invertible이라는 것과 동치가 됩니다. 행렬 $A=\begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n}\\ a_{21}& a_{22}& \cdots & a_{2n}\\ \vdots & \vdots & \vdots & \vdots \\ a_{n1}& a_{n2}& \cdots & a_{nn} \end{pmatrix}$가 주어질 때 기호로 $$det(A)=\left | A \right |=\begin{vmatrix} a_{11} & a_{12} & \cdots &..

2021. 11. 3. 20:57

CatBoost 모형

그 이름 Cat가 categorical feature를 뜻하는데 categorical 변수에 최적화되어있다고 논문에서 주장하고 있습니다. “ Two critical algorithmic advances introduced in CatBoost are the implementation of ordered boosting, a permutation-driven alternative to the classic algorithm, and an innovative algorithm for processing categorical features “ 논문에서 언급하는 ordered boosting은 일반적인 boosting이 모든 데이터 row에 대해 gradient 업데이트 과정을 거쳤다면 Catboost는 다음..

Light GBM 모형

LightGBM은 그 이름 Light에서도 알 수 있듯이 computational cost를 줄이기 위해 여러 가지 고급기술?을 도입하였다고 합니다. 그 중 하나인 Gradient based one sided sampling에 대해 직관적으로 이해해봅시다. 위에서 gradient boosting 기법을 다시 한번 생각해보면 각 data row마다 residual을 계산하여 learning rate를 이용한 예측값을 갱신하는 과정이 있었습니다. 이것은 마치 data row가 가지는 gradient로부터 gradient descent를 하는 과정을 연상시키죠. 그런데 Gradient based one sided sampling은 이름에서도 알 수 있듯이 gradient를 기반으로 필요없는 데이터는 버리겠다는..

2021. 11. 2. 18:32

XGBoost 모델

1. XGBoost 모델 gradient boosting의 약점은 train data에 대해 한없이 loss인 residual을 줄여나가니까 overfitting되기 쉽다는 단점이 있습니다. 이런 단점을 인식하여 나온 방법이 XGBoost입니다. XGBoost는 실제 값과 예측 값의 차이를 일반적인 loss에 regularization term을 더하여 이것을 줄이는 방향으로 학습을 진행합니다. loss function도 단순한 MSE같은 차이뿐만 아니라 다양한 loss function을 사용하여 task에 따른 유연한 튜닝을 가능하게 하였다고 합니다. 2. parameter norm penalty parameter norm penalty 기법은 loss function에 norm penalty를 더하는..

2021. 11. 1. 19:33

Gradient boosting 모형

기존 boosting이 model의 정확성을 점점 개선하는 방식으로 진행되었다면 gradient boosting은 그 이름에서도 알 수 있듯이 loss function을 정의하고 이것을 줄여나가는 방식으로 model을 학습해나갑니다. loss function은 딥러닝에서도 자주 사용하듯이 실제값과 예측값의 차이로 정의합니다. 예시 그림을 보면 이해하기 쉬울 것이라고 생각합니다. 위 그림에서 weight를 예측하는 model을 만든다고 합시다. 실제값과 예측값의 차이인 loss function을 최소로하는 최초 예측은 모든 weight의 평균값으로 예측하는 것이 제일 간단합니다. 여기서 평균은 71.2라고 합니다. 예측한 값과 실제 값들의 차이(이것을 residual 혹은 loss라고 부릅니다)를 각 ro..

2021. 11. 1. 19:25

Adaboost 모형

boosting 알고리즘 중에 여러개의 model을 만들어 voting시킨다는 것이 조금 이상하다는 생각이 들 수도 있을 것 같습니다. boosting에서 말한 알고리즘 중 두 번째 알고리즘이 Adaboost인데요. 조금 더 구체적이지만 아주 간단하게? 설명하자면 다음과 같습니다. 전체 train data에서 random하게 data를 뽑습니다. random하게 data를 뽑은 sample로 하나의 model A를 학습합니다. 참고로 Adaboost에서 사용한 model A는 random forest가 완전한 tree를 사용하던 것과는 조금 다르게 두 개의 leaf만 가지는(1번만 분기하는) stump라는 tree를 사용합니다. 학습한 A로 전체 train data에 대해 validation을 수행합니다..