Loading...
2021. 11. 20. 20:51

cross entropy loss(=log loss)에 대한 고찰

classification에서 가장 자주쓰는 cross entropy loss에 대해 생각해보면 binary classification의 경우 $$L(y) = -ylog(p)-(1-y)log(1-p)$$ $y$는 true value이고 $p$는 모델이 $y=1$로 예측할 확률이다. 이 cross entropy loss가 자주 쓰이지만 항상 좋은 선택일까?? 예측하고자 하는 데이터가 실제 정답이 y=1인 경우 loss를 계산하면 $$L(y=1)=-ylog(p)=-log(p)$$ 실제 정답이 y=0인 경우는 $$L(y=0)=-(1-y)log(1-p)=-log(1-p)$$ loss가 오직 true value를 예측할 확률에만 의존한다는 것이다. true value가 1일 때 loss의 그래프를 그림으로 나타냈..

loss function에 대하여

1. loss function은 도대체 무엇인가? 누군가가 loss function이 뭐냐고 물어보면 뭐라 대답해야할지 모르겠다. 나라면 당장 데이터의 실제 정답(ground truth)과 모델이 예측한 대답의 차이로 정의되는 함수라고 답할 것 같다 찾아보니까 대부분 이 말에 비슷한 것 같다 위키피디아의 첫줄 정의를 가지고 와봤다. 'In mathematical optimization and decision theory, a loss function or cost function is a function that maps an event or values of one or more variables onto a real number intuitively representing some "cost" ass..

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. 10. 29. 16:49

boosting에 대하여

boosting에 대한 알고리즘 설명이 2가지 정도 있습니다. 주어진 training data set이 있다고 생각해봅시다. 여기서 random하게 sampling하여 sample dataset을 구성합니다. sampling을 하는 과정을 boosting round라고 부릅니다. boosting round에서 구성한 sample dataset을 이용하여 하나의 model A를 학습시킵니다. (처음 가지고 있던 train set으로 학습시키는게 아니고 sampling한 것으로 학습시킴) 이 학습시킨 model A를 가지고 있던 training data set 전체에 대해서 validation을 수행합니다. 일부 뽑은 sample set으로 validation을 하는 것이 아니라 전체 train data s..

2021. 10. 6. 07:05

머신러닝 모델에서의 bias와 variance에 대하여

1. 문제 제기 variance가 높으면 안좋다는 느낌? 이미지?인데 high variance가 overfitting이고 high bias가 underfitting이라는 것이 매칭이 잘 안된다. 2. bias에 대하여 위키피디아에서 ‘bias error는 learning 알고리즘에서 잘못된 가정으로부터 나온 error이다. high bias는 알고리즘이 feature와 target output 사이 관련있는 관계를 놓치도록 만든다. 이것을 underfitting이라고 한다 quora에서 어떤 사람의 답변을 보면 ‘bias는 training data로부터 머신러닝 모델이 학습하는 능력을 평가하는 metric이다. 그래서 high bias를 가진 모델은 training data나 test data 모두에 잘..