본문 바로가기
728x90
반응형

Language-LAB/Python5

softmax, log_softmax Softmax와 Log-Softmax 함수 설명 및 구현 분석딥러닝에서 분류(Classification) 문제를 해결할 때 자주 사용되는 Softmax 함수와 Log-Softmax 함수를 구현하고, 이를 분석해보겠습니다.1. Softmax 함수란?개념Softmax 함수는 주어진 입력 벡터(점수, logits)를 확률 분포로 변환하는 함수입니다.출력 벡터의 각 요소는 0과 1 사이의 값을 가지며, 모든 요소의 합이 1이 됩니다.이를 통해 입력값을 확률적인 해석이 가능하도록 변환할 수 있습니다.수식으로 표현하면 다음과 같습니다.$$S_i= \frac{e^{x_i}}{\sum_{j} e^{x_j}}$$여기서:$x_i$는 입력 점수 (logit)$S_i$는 Softmax로 변환된 확률 값분자는 해당 점수의 지수.. 2025. 2. 13.
One-hot Encoding 구현 📝 문제: One-Hot Encoding of Nominal Values설명명목형(Nominal) 값이 포함된 1차원 numpy 배열을 입력받아 One-Hot Encoding을 수행하는 함수를 작성하세요.함수는 np.ndarray 타입의 1D 정수 배열 x를 입력으로 받고,선택적으로 n_col (출력 행렬의 열 개수)을 지정할 수 있습니다.만약 n_col이 제공되지 않으면, 자동으로 x의 최대값을 기준으로 설정해야 합니다.조건x의 각 값은 0 이상이며, x의 원소 개수만큼 행(row) 을 만들고,x의 고유값 개수만큼 열(column) 을 생성하여 해당 클래스 위치에 1을 할당하세요.반복문 없이 numpy의 벡터 연산을 사용하여 구현하세요.예제x = np.array([0, 1, 2, 1, 0])outpu.. 2025. 2. 11.
range 와 np.arange() 🔹 range() vs np.arange() 차이점둘 다 숫자의 범위를 생성하는 기능을 하지만, 데이터 타입과 동작 방식이 다름.1. range(start, stop, step) (기본 Python 문법)for i in range(0, 10, 2): print(i)출력02468range()는 정수만 지원.range(0, 10, 2) → 0, 2, 4, 6, 8이 생성됨.list(range(0, 10, 2)) 하면 [0, 2, 4, 6, 8] 리스트로 변환 가능.✅ range()는 Python의 기본 기능이라 가볍고 빠름.2. np.arange(start, stop, step) (NumPy 함수)import numpy as npfor i in np.arange(0, 10, 2): print(i.. 2025. 2. 10.
[Pytorch] 2 DATASET과 DATALOADER[원문 보기] 데이터 샘플을 처리하는 코드는 지저분(messy)하고 유지보수가 어려울 수 있습니다; 더 나은 가독성(readability)과 모듈성(modularity)을 위해 데이터셋 코드를 모델 학습 코드로부터 분리하는 것이 이상적입니다. PyTorch는 torch.utils.data.DataLoader 와 torch.utils.data.Dataset 의 두 가지 데이터 기본 요소를 제공하여 미리 준비해둔(pre-loaded) 데이터셋 뿐만 아니라 가지고 있는 데이터를 사용할 수 있도록 합니다. Dataset 은 샘플과 정답(label)을 저장하고, DataLoader 는 Dataset 을 샘플에 쉽게 접근할 수 있도록 순회 가능한 객체(iterable)로 감쌉니다... 2023. 8. 30.
728x90
반응형