Cross-Entropy (크로스 엔트로피)
·
인공지능 대학원/확률론
Entropy$$H(x)=-\sum_{i=1}^n p\left(x_i\right) \log p\left(x_i\right)$$엔트로피는 불확실성의 척도로 정보이론에서의 엔트로피는 불확실성을 나타내며 엔트로피가 높다는 것은 정보가 많고 확률이 낮다는 것을 의미한다. 이것은 특정 확률 분포내에서의 정보량의 기댓값을 의미합니다. 확률이 균등할수록 엔트로피가 크다. 엔트로피가 높을 수록 데이터를 예측하기 어렵다는 것입니다. 단위는 비트(bits)입니다. 위의 그림은 (위)분포와 (아래)엔트로피를 나타낸다. 즉, 정보가 많거나 균등한 분포일 수록 엔트로피가 커지고 한가지 특정한 값이 잘 나올 것이라는 예측이 무의미해진다.반면, 100%의 확률로 예측이 가능한 분포는 엔트로피가 0이다. Cross Entropy$$..
확률 분포 함수(Probability distribution function)이란 무엇인가?
·
인공지능 대학원/확률론
Random Variable (확률 변수)Random Variable(확률 변수)는 무작위적인 실험의 결과를 수치로 표현한 것이다. 쉽게 말해, 어떤 확률적인 현상이 일어났을 때 그 결과를 숫자로 나타내는 함수라고 보면 된다. 즉, 확률 변수는 표본공간(sample space)에서 실수(real number)로 가는 함수이다. 가장 간단한 예시로는, 동전 던지기를 하여 앞면이 나오면 1, 뒷면이 나오면 0이라고 약속하는 과정 자체를 확률 변수를 설정하는 것과 같다. Probability distribution function (확률 분포 함수)확률 분포는 확률 변수가 특정한 값을 가질 확률을 나타내는 함수를 의미한다. 예를 들어, 주사위를 던졌을 때 나오는 눈에 대한 확률변수가 있을 때, 그 변수의 확률..
고유값, 고유벡터 (Eigenvalue, Eigenvector)란 무엇인가?
·
인공지능 대학원/선형대수
위키백과 정의선형대수학에서, 선형 변환의 고유벡터(eigenvector)는 그 선형 변환이 일어난 후에도 방향이 변하지 않는, 0이 아닌 벡터이다. 고유 벡터의 길이가 변하는 배수를 선형 변환의 그 고유 벡터에 대응하는 고윳값(eigenvalue)이라고 한다. 조금 더 이해하기 쉬운 정의정방행렬 A 에 대하여 $\mathrm{Ax}=\lambda \mathrm{x}$ (상수 $\lambda$ ) 가 성립하는 0 이 아닌 벡터 x 가 존재할 때 상수 $\lambda$ 를 행렬 A 의 고유값 (eigenvalue), x 를 이에 대응하는 고유벡터 (eigenvector) 라고 합니다. $$ \left(\begin{array}{ccc} a_{11} & \cdots & a_{1 n} \\ \vdots & \dd..
[확률론, Probability] 연속 랜덤 변수 (Continuous random variables)
·
인공지능 대학원
1. Continuous random variables1.1. Continuous random variable정의: 어떤 확률 변수 $X$ 의 누적분포함수(CDF) $F_X(x)$ 가 거의 모든 점에서 미분 가능하면, $X$ 는 **연속 분포(continuous distribution)**를 가진다고 한다.예외 허용: CDF 가 유한 개의 점에서 미분 불가능하더라도, 그 외 대부분의 점에서 미분 가능하면 연속 분포로 간주함.1.2. Probability Density Function정의: 연속 확률 변수 $X$ 의 누적분포함수(CDF) $F(x)$ 가 주어졌을 때, 그 도함수 $f(x)=F^{\prime}(x)$ 를 **확률 밀도 함수(PDF)**라고 한다.지지집합(Support): 확률 변수 $X$ 의..
Dueling DQN 코드 구현
·
Coding
classic DQN 코드 구현2025.03.31 - [코딩] - DQN 코드 구현 DQN 코드 구현Replay Bufferclass ReplayBuffer: def __init__(self, buffer_size, state_dim, action_dim, device="cpu"): self.buffer_size = buffer_size self.state_dim = state_dim self.action_dim = action_dim self.device = device self.observations = np.zeros((buffer_size, *soccident.tistory.com  class QNetwork(nn.Module): def __init__(self, env): su..
Double DQN (DDQN) 코드 구현
·
Coding
classic DQN 코드 구현2025.03.31 - [코딩] - DQN 코드 구현 DQN 코드 구현Replay Bufferclass ReplayBuffer: def __init__(self, buffer_size, state_dim, action_dim, device="cpu"): self.buffer_size = buffer_size self.state_dim = state_dim self.action_dim = action_dim self.device = device self.observations = np.zeros((buffer_size, *soccident.tistory.com  Double DQN의 경우 가장 코드 구현이 쉬웠다.obs, actions, next_obs, rewards, do..