포인트 [x, y]에 대한 예측 값은 prediction == [[w1], [w2]] • [x, y] + b == w1 * x + w2 * y + b라는 것을 기억하세요. 따라서 클래스 0은 w1 * x + w2 * y + b < 0.5이고 클래스 1은 w1 * 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).
1, 4, 100) ➊ = - W[0] / W[1] * + (0.5 - b) / W[1] ➋ plt.plot( , , "-r") ➌ plt.scatter(inputs[:, 0], inputs[:, 1], =predictions[:, 0] > 0.5) ➍ plt.show()= np.linspace(-
➊ 직선을 그리기 위해 -1~4 사이에 일정한 간격을 가진 100개의 숫자를 생성합니다.3
➋ 사용할 직선의 방정식
➌ 직선을 그립니다(“-r”은 빨간색을 의미합니다).
➍ 동일한 그래프에 모델의 예측을 나타냅니다.
▲ 그림 3-8 직선으로 나타낸 선형 모델
이것이 선형 분류기에 대한 전부입니다. 데이터에 있는 두 클래스를 잘 구분하는 직선(또는 고차원 공간의 경우 초평면(hyperplane))의 파라미터를 찾는 것입니다.