Distribution ShiftDistribution Shift는 훈련 데이터와 실제 예측에 사용할 데이터가 다른 분포에서 생성될 때 발생하는 상황을 나타낸다. 이는 조건부 확률로 표현이 가능한데, 사건 B가 일어나는 경우에 사건 A가 일어날 확률을 '사건 B에 대한 A의 조건부확률'이라 하고 \( P(A∣B) \)로 표기한다. Distribution Shift의 대표적인 유형은 다음과 같다. Covariate Shift: \( P(Y|X) \)는 그대로이지만 \( P(X) \)는 변하는 경우.예를 들어, 학습 데이터에서는 대부분 사실적인 이미지(photorealistic images)를 보았지만, 테스트 데이터에서는 대부분 만화 같은 이미지(cartoonish images)가 제공되는 상황이 해당된다..
문제https://www.acmicpc.net/problem/25497 해설스택을 2개 사용하여 해결하였다. 이게 최선일거라 확신이 들지는 않는다. def solution(lst): answer = 0 lr_stack = [] sk_stack = [] for c in lst: if c.isdigit(): answer = answer + 1 elif c == "L": lr_stack.append(c) elif c == "R": if len(lr_stack) == 0: break lr_stack.pop() answer = an..
Cross EntropyCross Entropy는 확률 분포 간의 차이를 측정하는 지표로, 분류 문제에서 모델의 예측 성능을 평가하는 데 자주 사용된다. 이는 손실 함수의 한 종류이며, 손실 함수의 목표는 모델이 예측한 분포와 실제 분포 사이의 차이를 최소화하는 것이다. Cross Entropy를 이해하기 전 먼저 짚고 넘어가야 하는 개념이 있는데 바로 놀람도, 기대값, 엔트로피 이 세 가지이다. 먼저 놀람도에 대한 예를 들어보자.검은색 종이 999개와 흰색 종이가 1개 들어있는 상자가 있다고 가정하자. 이 상자에서 우리가 검은색 종이를 뽑았다면 우리는 당연하다고 생각할 것이다. 확률(\( p(x) \))이 훨씬 높기 때문이다. 하지만 흰색 종이가 나온다면 우리는 놀라게 될 것이다. 다시 말하면 이 놀람..
문제https://www.acmicpc.net/problem/2161 해설큐의 구조를 활용하면 된다. def solution(cards): answer = [] while len(cards)-1: answer.append(cards.pop(0)) cards.insert(len(cards)-1, cards.pop(0)) answer.append(cards.pop(0)) return " ".join(answer)num = int(input())print(solution([str(i+1) for i in range(num)]))
문제https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해설중복 제거 후 원본 순서대로 반환하는 로직이다. 자연어 처리에서 단어 Encoding 방식인 바이트 페어 인코딩(Byte Pair Encoding, BPE)과 유사하다.def solution(arr): answer = [] for v in arr: if not arr or answer[-1] != v: answer.append(v) return answer