이 모델은 보스턴 주택 문제에서 만들었던 다층 신경망과 유사한 점이 많습니다. 두 개의 은닉층이 있고 모두 시그모이드 활성화 함수를 사용합니다. 마지막 (출력) 층은 한 개의 유닛을 가지고 있습니다. 이는 모델이 입력 샘플마다 하나의 숫자를 출력한다는 의미입니다. 하지만 중요한 차이점은 보스턴 주택 문제에서 사용한 모델처럼 마지막 층에 기본 선형 활성화 함수를 사용하지 않고 피싱 감지 모델에서는 마지막 층에 시그모이드 활성화 함수를 사용하는 것입니다. 이는 모델의 출력이 0과 1 사이로 제한된다는 의미입니다. 이와 달리 보스턴 주택 문제에서 사용한 모델은 임의의 실수 숫자를 출력합니다.
이전에 은닉층의 시그모이드 활성화 함수가 모델의 용량을 늘리는 데 도움이 된다는 것을 보았습니다. 그런데 이 모델의 출력에는 왜 시그모이드 활성화 함수를 사용할까요? 현재 다루고 있는 문제가 이진 분류이기 때문입니다. 이진 분류에서는 일반적으로 모델이 양성 클래스(class)19의 확률을 출력합니다. 즉, 모델이 주어진 샘플이 양성 클래스에 속한다고 생각할 가능성입니다. 고등학교 수학시간을 떠올려 보면 확률은 항상 0과 1 사이의 숫자입니다. 모델이 항상 확률 추정 값을 출력하면 두 가지 장점이 있습니다.
• 분류에 대한 지지 정도를 알 수 있습니다. 시그모이드 값이 0.5이면 분류 양쪽을 모두 동일하게 지지하는 것을 나타냅니다. 0.6이면 양성 클래스로 분류하지만 약하게 지지합니다. 0.99이면 모델은 샘플이 양성 클래스에 속한다고 매우 확신합니다. 따라서 모델의 출력을 최종 답으로 변환하기 쉽습니다(예를 들어 출력이 어떤 기준 값(가령 0.5)을 넘었는지로 결정합니다). 모델 출력의 범위가 매우 넓다면 이런 기준 값을 찾는 게 얼마나 어려울지 상상할 수 있습니다.
• 모델 출력과 정답 타깃 레이블이 주어졌을 때 모델이 얼마나 실수를 많이 했는지 하나의 숫자로 측정할 수 있는 미분 가능한 손실 함수를 쉽게 만들 수 있습니다. 이에 대해서는 이 모델이 사용할 이진 크로스 엔트로피(binary cross entropy)가 등장할 때 더 자세히 설명하겠습니다.