시간이 많지 않은데, 해당 유형의 문제를 간단하게 라도 이해하고 풀 수 있어야 합니다.

제가 공부하고 시도해보았지만, 의문스러웠던 부분에 대한 질문을 드립니다.

a0500caa003bb54cb63417759d1df0b61d5e9b5f80f9899804267acd5a2209d7e31c


조건) w0 = -1.5, w1 = 1, w2 = 2

질문: 위 조건과 같이, 초기값이 변경된 상황입니다.

저는 이런 식으로 접근했습니다.

1단계) 퍼셉트론 식에, 새 조건의 그레이디언트(w1=1, w2=2)와 바이어스(w0=-1.5)를 적용시킵니다.

이후 샘플 데이터 X1, X2, X3, X4를 대입하여 연산합니다.

X

집합

w0

+

j = 1

+

j = 2

=

Y

집합

x1

*

w1

x2

*

w2

X1

-1.5

0

1

0

2

-1.5 + 0*1 + 0*2 = -1.5

-1

X2

-1.5

0

1

1

2

-1.5 + 1*1 + 0*2 = -0.5

-1

X3

-1.5

1

1

0

2

-1.5 + 0*1 + 1*2 = 0.5

1

X4

-1.5

1

1

1

2

-1.5 + 1*1 + 1*2 = 1.5

1

그랬더니 결과 Y집합이 OR게이트 분류를 하지 못 합니다.

2단계) 오차를 줄이기 위해, 목적함수 MSE목적함수 결과‘ ’목푯값을 대입하여 연산합니다.

X

집합

퍼셉트론 결과

목푯값

MSE

새 그레이디언트

오차 계산

결과

평균

X1

-1.5

-0.5

(-1.5 - (-0.5))^2

0

3/4

0.75

X2

-0.5

0.5

(-0.5 - 0.5))^2

0.75

X3

0.5

0.5

( 0.5 - 0.5))^2

0.75

X4

1.5

1.5

( 1.5 - 1.5))^2

1.5

결과로 새 매개변수 0.75를 반환받습니다.

3단계) 이제 새 매개변수를 퍼셉트론 식에 적용시키고 연산합니다.

X

집합

w0

+

j = 1

+

j = 2

=

Y

집합

x1

*

w1

x2

*

w2

X1

0

0

0.75

0

0.75

0 + 0*0.75 + 0*0.75 = 0

1

X2

0

0

0.75

1

0.75

0 + 1*0.75 + 0*0.75 = 0.75

1

X3

0

1

0.75

0

0.75

0 + 0*0.75 + 1*0.75 = 0.75

1

X4

0

1

0.75

1

0.75

0 + 1*0.75 + 1*0.75 = 1.5

1

의문1 – 이 때에, 가중치 w0 값을 0으로 설정해주는 것이 맞습니까?

의문2‘1단계에서는 그레이디언트 값 ’w1=1’‘w2=2’ 가 독립적이었습니다. 그런데 목적 함수 연산을 통해 나오는 값은 ‘0.75’라는 하나의 값입니다. 이후로는 그냥 w1w2 모두 0.75로 사용해주면 되는 것이 맞나요?

의문3 – 그냥 가중치 w0를 임의로 설정하고 활성화 함수를 통해 OR게이트 결과가 나오게 해 주어서는 안 되는 이유가 무엇인가요?

4단계) ‘3단계를 통해 얻은 결과를 다시 목적함수에 넣고 연산합니다.

그러자 새 그레이디언트 결과가 '2.5175/4 = 0.629375' 와 같이 나왔습니다.

이런 식으로 계속 가는 건 아무리 봐도 이상해 보입니다.

잘못 접근하고 있는 부분을 알려주시면 감사하겠습니다.



오일석 지음 - 기계학습