더북(TheBook)

포인트 [x, y]에 대한 예측 값은 prediction == [[w1], [w2]] • [x, y] + b == w1 * x + w2 * y + b라는 것을 기억하세요. 따라서 클래스 0w1 * x + w2 * y + b < 0.5이고 클래스 1w1 * x + w2 * y + b > 0.5로 정의할 수 있습니다. 실제로 여기에서 찾고자 하는 것은 2D 평면 위의 직선의 방정식 w1 * x + w2 * y + b = 0.5가 됩니다. 이 직선보다 위에 있으면 클래스 1이고 이 직선 아래에 있으면 클래스 0입니다. 아마도 y = a * x + b 같은 형태의 직선의 방정식에 익숙할 것입니다. 동일한 형태로 앞의 방정식을 바꾸면 y = - w1 / w2 * x + (0.5 - b) / w2가 됩니다.

이 직선을 그려 보죠(그림 3-8).

x = np.linspace(-1, 4, 100)  
y = - W[0] / W[1] * x + (0.5 - b) / W[1] 
plt.plot(x, y, "-r") 
plt.scatter(inputs[:, 0], inputs[:, 1], c=predictions[:, 0] > 0.5) 
plt.show()

직선을 그리기 위해 -1~4 사이에 일정한 간격을 가진 100개의 숫자를 생성합니다.3

사용할 직선의 방정식

직선을 그립니다(“-r”은 빨간색을 의미합니다).

동일한 그래프에 모델의 예측을 나타냅니다.

▲ 그림 3-8 직선으로 나타낸 선형 모델

이것이 선형 분류기에 대한 전부입니다. 데이터에 있는 두 클래스를 잘 구분하는 직선(또는 고차원 공간의 경우 초평면(hyperplane))의 파라미터를 찾는 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.