본문 바로가기

분류 전체보기30

[DL] 분류 손실 함수: Cross Entropy Loss & Focal Loss 분류 모델의 대표적인 손실 함수로 cross entropy가 있습니다. 분류 문제에서는 MSE (Mean Squared Error) 보다 cross entropy가 수렴 안정성과 속도에서 유리하기 때문에 주로 사용됩니다. Cross entropy $H(p,q)$는 두 분포 $p(x)$, $q(x)$의 불일치를 측정하는 방법으로 정답 분포와 예측 분포가 유사할수록 그 값이 작아집니다. $$ H(p,q) = -\sum_x p(x)\log q(x) $$ 분류 문제에는 이진 분류(binary classification)와 다중 분류(multiclass classification)가 있습니다. Cross entropy를 쓰기 위해서는 결과 값이 확률 분포이어야 합니다. 따라서 이진 분류에서는 보통 출력 뉴런 1개.. 2025. 8. 16.
[DL] LSTM (Long Short-Term Memory) 이해하기 LSTM (Long Short-Term Memory)는 RNN의 장기 의존성 문제(long-term dependency problem)을 해결하기 위해 제안되었습니다. 장기 의존성 문제는 시계열 길이가 길어질수록 과거의 정보가 잊혀져 마지막까지 전달되지 못하는 문제입니다. Key ConceptLSTM은 장기 의존성 문제를 해결하기 위해 gate 구조와 cell state를 도입하였습니다. 이를 통해 LSTM은 단기 기억과 장기 기억을 나눠서 처리할 수 있습니다. LSTM에는 두 가지 state가 정의되어있는데, 그 중 hidden state는 RNN의 hidden state와 유사한 역할을 하며, cell state은 장기 기억을 위해 새롭게 도입된 부분으로 gradient vanishing proble.. 2025. 8. 5.
[ML] Curse of Dimensionality (차원의 저주) 차원의 저주(Curse of Dimensionality)란? 차원의 저주는 데이터를 고차원 영역에서 분석할 때 나타나는 여러가지 문제점을 의미합니다. 대표적으로는 차원이 증가하면 데이터를 이루는 공간이 커지게 됩니다. 이에 따라 데이터가 넓어진 공간 전체에 퍼지게 되어 데이터의 밀도가 희소(sparse)해집니다. 고차원에서는 가장 가까운 점과 가장 먼점의 상대적 거리 차이가 작아지는 거리 집중(Distance concentration) 현상이 나타납니다. AI 모델이 좋은 성능을 내기 위해선 데이터가 이루는 공간의 지역적 패턴들을 학습해야 하고 각 부분 공간에 충분한 샘플이 존재해야 합니다. 모델은 경험해본 상황이 많을수록 더 정확한 결과를 낼 수 있기 때문입니다. 하지만 차원이 증가했을 때 넓어진 공간.. 2025. 7. 30.
[ML] Eigenvector(고유벡터), Eigenvalue(고유값)의 의미 고유벡터(Eigenvector)와 고유값(Eigenvalue)은 선형대수학의 핵심적인 개념으로 선형 변환(Linear transformation)의 특성을 파악하는데 사용될 수 있습니다. 선형 변환(Linear transformation)이란?어떤 행렬 $A$가 벡터 $\vec{x}$에 적용하면 새로운 벡터 $A\vec{x}$를 생성합니다. 이때 행렬 $A$를 $\vec{x}$에 적용되는 선형 변환이라고 합니다. 선형 변환 $A$은 벡터에 적용되는 함수 $f(\cdot)$의 일종이라고 볼 수 있습니다. 기하학적으로 선형 변환은 늘이기, 회전, 반사, 기울이기, 축소 등의 연산을 복합적으로 수행하여 점(벡터)를 이동(변환)시킵니다. 예를 들어, 선형 변환 $A=\begin{bmatrix} 0.5 & -0... 2025. 7. 27.
[PyTorch] Dataset과 DataLoader PyTorch에서는 데이터를 쉽게 다루게 하기 위해 torch.utils.data.Dataset과 torch.utils.data.DataLoader 클래스를 제공합니다. Dataset 클래스를 사용하여 사용자 데이터셋을 정의할 수 있으며 이를 통해 데이터를 불러오고 전처리하는 과정을 학습 코드로부터 분리하여 관리할 수 있습니다. DataLoader 클래스는 데이터셋을 배치 단위로 쉽게 접근할 수 있도록 iterable한 객체로 변환시켜주는 역할을 합니다. DatasetDataset 클래스를 상속 받아 필요한 사용자 데이터셋을 만들어 줄 수 있습니다. Dataset 클래스의 구성은 다음과 같습니다. __init__: 객체가 생성될 때 데이터를 불러오고 필요한 변수를 선언할 수 있습니다.__len__: 데이.. 2024. 4. 20.
[ML] Importance Sampling (중요도 샘플링) 확률 모델에 기반한 머신 러닝에서 함수 $f(x)$의 확률분포 $p(x)$의 기댓값을 구해야 하는 경우가 있습니다. 하지만 기댓값 $\mathbb{E}_{x\sim p}[f(x)]=\int f(x)p(x)dx$ 을 수식적으로 계산하기 어려운 경우 큰 수의 법칙(Law of large numbers)에 따라 sampling을 통해 $x^{(n)}$을 추출한 후 아래와 같이 기댓값을 근사할 수 있습니다. 이러한 방법을 Monte Carlo 기법이라고 합니다. $$ \mathbb{E}_{x\sim p}[f(x)]\simeq\frac{1}{N}\sum_{n=1}^N f(x^{(n)})$$ Importance Sampling이란?Importance sampling은 이러한 상황에서 본래의 분포 $p(x)$가 아.. 2023. 12. 3.
[RL] 강화학습 이론: On-policy & Off-policy 강화학습 알고리즘은 on-policy 방식과 off-policy 방식으로 분류될 수 있습니다. On-policy와 Off-policy의 차이는 아래와 같습니다. On-policy methods: Behavior policy = Target policyOff-policy methods: Behavior policy ≠ Target policy 여기서 behavior policy와 target policy의 개념이 나오는데 아래와 같습니다. Behavior policy $b(a|s)$: Action을 선택하고 데이터 샘플을 얻을 때 사용되는 policyTarget policy $\pi(a|s)$: 평가(evaluate)하고 업데이트(improve)하고자 하는 policy 즉 정책 업데이트를 위한 $V(s)$.. 2023. 11. 8.
[DL] 회귀 손실 함수: Huber Loss & Smooth L1 Loss 회귀 모델의 대표적인 손실 함수로 L1 loss와 L2 loss가 있습니다. L1 loss는 MAE (Mean Absolute Error)라고도 하며 L2 loss는 MSE (Mean Squared Error)라고도 합니다. ■ L2 Loss (MSE, Mean Squared Error)L2 loss는 실제값과 예측값의 오차를 제곱하여 구합니다. 모든 구간에서 미분이 가능하여 gradient를 구하기 쉽지만, 실제값과 예측값이 차이가 큰 outlier에 대해서는 제곱 효과에 의해 loss가 커지는 단점이 있습니다. $$ \text{L2 Loss} = \sum_{n=1}^N (x_n-y_n)^2 $$ ■ L1 Loss (MAE, Mean Absolute Error)L1 loss는 실제값과 예측값 차이의 .. 2023. 11. 7.
반응형