
n-gram Language Models
언어 모델이란, 결국에는 그 다음으로 어떤 단어가 오는 것이 가장 자연스러운지를 확률로 보고 가장 높은 확률의 단어를 선택해서 문장을 구성하는 방식이다. 위 포스트에서는 n…
2025/03/10
Jinsoolve.
Categories
Tags
3월 안에는 꼭...
About
Locales:
en
ko
로지스틱 회귀의 비용함수는 다음과 같이 생겼다.
그렇다면 비용함수는 왜 이렇게 생겨 먹은걸까?
이를 이해하기 위해서는 log-odd에 대해서 먼저 이해해야 한다.
선형 회귀에서는 ~ 의 예측값을 반환한다.
로지스틱 회귀에서는 마지막 예측값 대신 log-odd라는 걸 구해야 한다는 차이가 있다.
하지만 Odds는 범위가 [0,]이고, 비대칭성이기 때문에 사용하기 어렵다.
이를 해결하기 위해 다음과 같이 로그함수를 취한다.
하지만 Logit은 확률로 사용하기 어려운 치역 범위 [,]를 갖고 있기 때문에 마찬가지로 사용하기 어렵다.
치역의 범위를 확률로 사용하기 좋게 [0,1]로 바꾸도록 도와주는 것이 이 시그모이드 함수이다.
라 할 때
위와 같이 시그모이드 함수를 취한다.
이해하기 쉽게 그림으로 설명하자.
이러한 과정을 거쳐서 우리에게 익숙한(?) 시그모이드 함수의 그래프가 나온다.
이제 가 무엇을 의미하는지 대충 이해한 듯 하다. 그렇다면 는 무슨 의미일까?
그래프를 한 번 그려보자. (단 log = ln이 다.)
여기서 는 [0,1] 이므로 아래와 같다.
1임을 예측할수록 값이 줄어들고, 1임을 예측하지 못할수록 값이 커진다.
즉, 예측을 잘못할수록 값이 커진다. 이는 손실함수라고 말할 수 있을 것이다.
(참고로 비용함수는 모든 데이터셋의 손실함수에 대한 평균이다.)
그렇다면 도 같은 방식으로 0임을 예측하는 것의 손실함수라고 말할 수 있을 것이다.
따라서 모든 m개의 데이터 샘플에 대하여
데이터 샘플의 분류가 1일 때는 를 더하고,
데이터 샘플의 분류가 0일 때는 를 더하면 전체 손실값이 될 것이라는 것을 알 수 있다.
따라서 아래와 같은 식이 성립한다.
언어 모델이란, 결국에는 그 다음으로 어떤 단어가 오는 것이 가장 자연스러운지를 확률로 보고 가장 높은 확률의 단어를 선택해서 문장을 구성하는 방식이다. 위 포스트에서는 n…
2025/03/10
위와 같은 삼각형이 존재할 때, 변의 길이 b, c와 그 사잇각 α\alphaα를 알고 있다고 가정하자. 이때 a의 길이를 구하는 공식은 다음과 같다. a=b2+c2−2bccos…
2025/02/20
내림차순 정렬이 되어있을 때의 lower_bound와 upper_bound 사용법 lower_bound(v.begin(), v.end(), num, greater<int>());…
2025/02/10
101101101101101101 이런 이진수가 주어질 때 C++에서 1의 개수를 세려면 어떻게 해야 할까? // unsigned int __builtin_popcount();…
2025/01/13