계속하기 전에 기준 손실을 추정해야 합니다. 매우 간단한 추정 방식으로 기준 손실을 정하지 않으면 더 복잡한 모델과 비교할 대상이 없기 때문입니다. 평균 부동산 가격을 ‘최상의 단순한 추측’의 대안으로 사용하고 무조건 이 값을 예측했을 때의 손실을 계산해 보겠습니다.
코드 2-8 평균 가격을 예측하여 기준 손실 계산하기
export function computeBaseline() {
const avgPrice = tensors.trainTarget.mean(); ------ 평균 가격을 계산합니다.
console.log('평균 가격: ${avgPrice.dataSync()}');
const baseline = tensors.testTarget.sub(avgPrice).square().mean(); ------ 테스트 데이터에서 평균 제곱 오차를 계산합니다. sub(), square(), mean() 함수를 차례대로 호출하여 평균 제곱 오차를 계산합니다.
console.log('기준 손실: ${baseline.dataSync()}'); ------ 손실을 출력합니다.
>};
TensorFlow.js는 GPU 스케줄링으로 계산을 최적화하기 때문에 CPU에서 항상 텐서에 접근할 수 있는 것은 아닙니다. 코드 2-8에 있는 dataSync() 메서드 호출은 TensorFlow.js에게 텐서 계산을 마치고 이 값을 GPU에서 CPU로 가져오도록 명령합니다. 이를 통해 텐서플로 연산이 아닌 다른 계산에 사용하거나 출력할 수 있습니다.
실행이 되면 코드 2-8은 콘솔에 다음과 같은 내용을 출력합니다.
평균 가격: 22.768770217895508 기준 손실: 85.58282470703125