01 숫자 예측과 분류
예시 상황 내일의 온도를 예측하는 일과 장치가 정상인지 판단하는 일은, 모델에서 얻고 싶은 결과가 어떻게 다를까요?
설명
- 온도 예측은 수치를, 정상·이상 판단은 범주를 얻는 문제입니다. 원하는 결과에 따라 모델의 출력과 학습 기준을 정합니다.
- Binary Classification에서는 두 범주 중 하나를 고르기 위한 점수를 학습합니다. Logistic Regression은 이를 위한 기본 모델입니다.
예시 상황 내일의 온도를 예측하는 일과 장치가 정상인지 판단하는 일은, 모델에서 얻고 싶은 결과가 어떻게 다를까요?
예시 상황 모델이 고장 가능성을 숫자로 알려주었습니다. 실제 경보를 울릴 기준은 어떻게 정하면 좋을까요?
x_raw와 x의 shape·dtype, 처음 다섯 행을 각각 출력하세요. 두 출력에 전처리 전·후라고 표시하세요.labels와 y에서 shape·dtype·처음 다섯 값을 출력하세요. Label을 Loss에 전달할 형태로 바꾼 부분을 찾으세요.mean·scale을 그대로 써야 하는지, 각 Feature가 모델에 입력되는 척도와 연결해 설명하세요.train_classifier를 Learning Rate , 각각 1000 epoch로 호출하세요. 함수 안의 Seed와 모델 초기화를 유지하세요.코드, 실제 Output·그래프, 직접 작성한 해석을 포함하세요. 제출은 KLAS를 이용하며 기한은 학기 일정과 최신 공지를 확인합니다.
파일명: 이름_학번_7주차.ipynb.
실행 환경을 다시 시작하고 전체 코드를 위에서부터 실행한 뒤 저장하세요.
BCE Target의 shape가 다른 경우
with torch.no_grad():
debug_logits = model(x)
print("Logits:", debug_logits.shape)
for debug_target in [y.squeeze(1), y]:
print("Target:", debug_target.shape)
try:
print("Loss:", F.binary_cross_entropy_with_logits(
debug_logits, debug_target).item())
except (RuntimeError, ValueError) as error:
print(type(error).__name__, str(error))squeeze(1)로 어느 축이 사라졌으며, 이 Loss에서 Logits와 Target의 shape가 어떻게 맞아야 하는지 설명하세요.