The Perceptron

개념 확인: Perceptrons


선형 점수의 부호로 분류하고 오분류 관측에서 가중치를 갱신하는 과정을 손으로 추적한다.

문제 1

점수와 예측

w = (2, −1, 3)ᵀ, b = −4인 퍼셉트론이다. s ≥ 0이면 +1, s < 0이면 −1로 예측한다.

  1. x = (1, 2, 1)ᵀ와 x = (2, 0, 1)ᵀ의 점수와 예측을 구한다.
  2. 특성이 3개인데 가중치 벡터의 성분 수가 2라면 어떤 문제가 생기는지 적는다.
  3. 같은 선형 점수를 쓰는 로지스틱 회귀와 퍼셉트론이 점수 다음에 하는 계산의 차이를 적는다.
  4. 결정 경계를 식으로 적고, 2차원과 p차원에서 각각 어떤 모양인지 적는다.
해설 펼치기
  1. (1, 2, 1): 2 − 2 + 3 − 4 = −1이라 −1. (2, 0, 1): 4 + 0 + 3 − 4 = 3이라 +1.
  2. w와 x의 성분 수가 같아야 내적을 계산할 수 있으므로 점수를 구할 수 없다. 특성마다 가중치가 하나씩 필요하다.
  3. 로지스틱 회귀는 sigmoid로 확률을 계산하고, 퍼셉트론은 부호 판정으로 범주를 바로 정한다.
  4. {x : wᵀx + b = 0}이다. w ≠ 0이면 2차원에서는 직선, p차원에서는 초평면이다.
문제 2

범주 표기와 임계값

  1. 원래 범주가 0과 1로 기록된 자료를 퍼셉트론 갱신에 쓰려면 어떤 값으로 바꾸는지 식과 함께 적는다.
  2. step(s)가 s = −0.5와 s = 0에서 내는 값과 ±1 예측을 적는다.
  3. ‘wᵀx ≥ 5이면 +1’이라는 규칙을 wᵀx + b ≥ 0 꼴로 바꿀 때 b를 적는다.
  4. y·s가 양수, 음수, 0인 경우를 각각 해석한다.
해설 펼치기
  1. y± = 2y₀₁ − 1로 0은 −1, 1은 +1이 된다.
  2. s = −0.5: step = 0, ŷ = −1. s = 0: step = 1, ŷ = +1이다.
  3. wᵀx − 5 ≥ 0이므로 b = −5다.
  4. 양수면 올바른 분류, 음수면 오분류, 0이면 경계 위다. 퍼셉트론은 y·s ≤ 0이면 갱신한다.
문제 3

한 번 갱신하기

현재 w = (1, −1), b = 0이다. 학습률은 1이며 y·s ≤ 0이면 갱신한다.

  1. 관측 x = (2, 3), y = +1의 점수와 y·s를 구하고 갱신 여부를 적는다.
  2. 갱신한다면 새 w와 b를 구하고, 같은 관측의 새 점수를 구한다.
  3. 관측 x = (−1, 2), y = −1이면 w에 무엇을 더하는지 적는다.
  4. y·s > 0인 관측에서 w와 b는 어떻게 되는지 적는다.
해설 펼치기
  1. s = 2 − 3 = −1, y·s = −1 ≤ 0이라 갱신한다.
  2. w = (1, −1) + (2, 3) = (3, 2), b = 0 + 1 = 1이다. 새 점수는 6 + 6 + 1 = 13으로 정답 부호 쪽으로 이동했다.
  3. y·x = −(−1, 2) = (1, −2)를 더한다. 입력 벡터의 반대 방향이다.
  4. 갱신하지 않고 그대로 둔다.
문제 4

에포크 손계산

문제 4~5는 다음 네 관측을 쓴다. 초기값은 w = (0, 0), b = 0, 학습률은 1이며 y·s ≤ 0이면 갱신한다.

순서 x y
1 (1, 2) +1
2 (2, −1) −1
3 (3, 1) +1
4 (−1, −2) −1
  1. 첫 에포크에서 네 관측을 차례로 볼 때 각 관측의 점수 s, y·s, 갱신 여부, 갱신 뒤 (w, b)를 적는다.
  2. 두 번째 에포크를 같은 방식으로 추적하고 에포크별 갱신 횟수를 적는다.
  3. 세 번째 에포크의 갱신 횟수와 그 의미, 최종 (w, b)를 적는다.
  4. 갱신 횟수가 0이 되지 않는 자료에 대비해 정해야 하는 것을 적는다.
해설 펼치기
  1. 1: s = 0, y·s = 0 → 갱신, ((1, 2), 1). 2: s = 2 − 2 + 1 = 1, y·s = −1 → 갱신, ((−1, 3), 0). 3: s = −3 + 3 = 0, y·s = 0 → 갱신, ((2, 4), 1). 4: s = −2 − 8 + 1 = −9, y·s = 9 → 유지. 갱신 3회.
  2. 1: s = 11 → 유지. 2: s = 4 − 4 + 1 = 1, y·s = −1 → 갱신, ((0, 5), 0). 3: s = 5 → 유지. 4: s = −10 → 유지. 갱신 1회.
  3. 갱신 0회라 모든 관측이 y·s > 0으로 경계 밖 정답 쪽에 있다. 최종 w = (0, 5), b = 0이다.
  4. 최대 에포크 수를 정해 둔다.
문제 5

순서와 경사하강법 비교

문제 4의 네 관측과 갱신 규칙을 사용하며, 문제 4의 초기값에서 다시 시작한다.

  1. 같은 네 관측을 4, 3, 2, 1 순서로 처리하면 첫 에포크의 갱신 횟수와 결과 (w, b), 종료 에포크를 적는다.
  2. 문제 4의 결과와 비교해 재현을 위해 기록해야 할 것을 적는다.
  3. 퍼셉트론 갱신을 경사하강법과 갱신 기준, 방향, 크기로 비교한다.
  4. 오분류 관측에서 퍼셉트론 갱신이 어떤 손실에 대한 확률적 경사하강법 한 단계와 같은지 적는다.
해설 펼치기
  1. 관측 4에서 s = 0이라 한 번 갱신해 w = (1, 2), b = −1이 된다. 나머지 세 관측은 y·s > 0이라 첫 에포크 갱신은 1회, 두 번째 에포크 갱신 0회로 끝난다.
  2. 같은 자료라도 순서에 따라 중간 가중치, 갱신 횟수, 최종 경계가 달라지므로 초기값과 처리 순서를 함께 기록한다.
  3. 경사하강법은 목적함수의 그래디언트로 각 반복에 −η∇J만큼 움직이므로 이동 크기는 η‖∇J‖이다. 퍼셉트론은 y·s ≤ 0인 관측에서만 계수 1로 yx만큼 움직이므로 w의 이동 크기는 ‖x‖이다.
  4. 손실 −yᵢsᵢ에 학습률 1로 적용한 SGD 한 단계와 같다.