Processing math: 100%
본문 바로가기

전체 글

(120)
백준 10799 당최 어떻게 풀어야 할지 감이 오지 않았던 문제이다. 풀이 나는 위 문제를 풀기 위해 아래와 같은 연산을 생각했다.(문제 속 예제로 가정) 맨 왼쪽 위의 막대기부터 오른쪽으로 몇 개로 분리되는지 세어야 한다고 판단했다. 그래서, 3 + 2 + 5 + 5 + 2라는 연산이 나타나도록 코드를 설계해야 한다고 보았다. 이렇게 계산하는 것 말고는 정확한 계산을 할 수 없을 거라고 생각했기 때문이다. 그러나 이 아이디어를 구현하는 게 쉬운 일이 아니었다. O(n2) 연산, 재귀 함수를 활용해야 하나라는 생각이 많이 들었다. 그래도 어떻게든 아래와 같은 코드를 작성했다. import sys input = sys.stdin.readline system = input().rstrip() systems = [] l..
Regularization * 이전 글과 내용이 이어집니다. https://onebyonebyone.tistory.com/191 Error analysis Empirical risk 우리가 모델 학습을 위해서 가설과 loss function을 정의하는 것까지 완료했다고 생각해보자. 그럼 이제 우리는 모델을 학습할 일만 남았다. 그런데 여기서 한 가지 의문이 생길 수 있다. onebyonebyone.tistory.com How do we regulate bias and variance? 우리는 overfitting과 underfitting 발생 원인이 variance와 bias의 tradeoff라는 것을 알게 되었다. 그럼 variance와 bias를 어떻게 잘 조절하면 overfitting과 underfitting의 문제를 해소할..
Error analysis Empirical risk 우리가 모델 학습을 위해서 가설과 loss function을 정의하는 것까지 완료했다고 생각해보자. 그럼 이제 우리는 모델을 학습할 일만 남았다. 그런데 여기서 한 가지 의문이 생길 수 있다. Q. 우리 모델이 data를 잘 학습하고 있다는 걸 어떻게 확인할 수 있을까? 이러한 의문을 해소하기 위해서 고안된 것이 empirical risk이다. 우선 risk란, 우리 모델의 예측이 틀릴 확률을 말한다. 따라서 empirical risk는 우리가 가지고 있는 train dataset에 대해 우리 모델의 예측이 틀릴 가능성을 나타내준다. train loss라고 간주해도 무방할 것 같다고 생각한다. 그럼 도대체 이 empirical risk는 어떻게 구할 수 있는 것일까? Risk ..