더북(TheBook)

2.1.4 간단한 모델 정의하기

딥러닝 측면에서 입력 특성을 받고 타깃을 출력하는 함수가 모델(model)입니다. 모델 함수는 특성을 받아 계산을 수행하고 예측을 생성합니다. 여기서 만드는 모델은 파일 크기를 입력으로 받고 다운로드 시간을 출력합니다(그림 2-2 참조). 딥러닝에서는 모델과 동의어로 종종 네트워크(network)라고 부릅니다. 첫 번째 모델은 선형 회귀(linear regression)를 구현하겠습니다.

머신 러닝 분야에서 회귀(regression)는 모델이 실수 값을 출력하고 훈련 타깃과 맞추도록 노력하는 것입니다. 이는 여러 개의 옵션에서 선택 항목을 출력하는 분류와 반대입니다. 회귀 작업에서 타깃과 가까운 숫자를 출력하는 모델이 동떨어진 숫자를 출력하는 모델보다 좋습니다. 모델이 1MB 파일을 다운로드하는 데 약 0.15초가 걸린다고 예측하는 것이 600초가 걸린다고 예측하는 것보다 낫습니다(그림 2-2 참조).

선형 회귀는 회귀의 한 종류로서 입력의 함수로 출력을 하나의 직선(여러 개의 특성이 있을 때 고차원 공간상의 초평면)으로 나타낼 수 있습니다. 모델의 중요한 속성은 훈련할 수 있다는 점입니다. 이는 입력-출력 조합이 조정될 수 있다는 의미입니다. 이런 속성을 사용해 데이터에 더 잘 맞도록 모델을 튜닝합니다. 선형 회귀의 경우 모델의 입력-출력 관계는 항상 직선이지만 기울기와 y 절편을 수정할 수 있습니다.

어떤 의미인지 첫 번째 네트워크를 만들어 알아보죠.

 

코드 2-3 선형 회귀 모델 구성(CodePen 2-c)

const model = tf.sequential();
model.add(tf.layers.dense({inputShape: [1], units: 1}));
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.