PAKA9999 [1094984] · MS 2021 · 쪽지

2023-02-26 20:29:46
조회수 1,967

컴공황님들 질문점..

게시글 주소: https://orbi.kr/00062226283





class Neuron :



       def __init__(self):

            self.w = 1.0

            self.b = 1.0


       def forpass(self, x) : 

             y_hat = x * self.w + self.b

            return y_hat


 

       def backprop(self, x, err) : 

            w_grad = x * err

            b_grad = 1 * err

            return w_grad, b_grad


       def fit(self, x, y, epochs=100) :

            for i in range(epochs) :

                 for x_i, t_i in zip(x, y) :

                     y_hat = self.forpass(x_i)

                     err = -(y_i - y_hat)

                     w_grad, b_grad = self.backprop(x_i, err)

                     self.w -= w_grad

                     self.b -+ b_grad



 neuron = Neuron()

 neuron.fit(x, y)


plt.scatter (x, y) # x하고 y데이터 설정은 위에 있는데 안적었어염


pt1 = (1. 1*neuron.w + neuron.b)

pt2 = (2, 2*neuron.w + neuron.b)

plt.plot([pt1[0], pt2[0]], [pt1[1], pt2[1]])

plt.xlabel('x')

plt.xlabel('y')

plt.show()


여기서 plt.plot 함수가 직선을 나타내는 건데 이 부분이 이해가 안되여.


저게 처음점과 끝점을 이어서 직선을 만드는 함수라던데, 애초에 pt1[0] 한개가 x,y 좌표 다 있는거 아닌가요??


그럼 점이 총 4개인데 1차선이 어떻게 만들어지나요.. 이 부분은 구그,ㄹ링해도 모르겠는 ㅠㅠ

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.

  • 참치마요콜라 · 571772 · 23/02/26 22:48 · MS 2015

    pt1과 pt2에 x,y 한 쌍이 담겨 있는 겁니다. 그래서 plot함수로 두 개의 점으로 한 직선을 그은 거에요 plot함수 한 번 검색해보십쇼

  • PAKA9999 · 1094984 · 23/02/26 22:50 · MS 2021 (수정됨)

    그 검색해봤는데. plot 함수에 pt1, pt2가 [1] [0] 2개씩 총 4개 있는거 아닌가여??

  • PAKA9999 · 1094984 · 23/02/26 22:52 · MS 2021

    저 plot 함수가 맨 처음하고 맨 끝점을 이은건데, 이게 리스트가 구성이 2개 있잖아요. 그리고 각각 또 그 리스트 안에 개수가 2개씩 있고, 그럼 총 점이 4개 아닌가염?? 이부분이 너무 이해안되네요.. 구글은 다 찾아봤어여.. 근데 구성이 달라서..

  • 참치마요콜라 · 571772 · 23/02/26 22:54 · MS 2015

    plot(x좌표 리스트,y좌표 리스트) 이런 식으로 구성할 수 있습니다 물론 x,y좌표가 쌍을 이뤄야겠죠

  • PAKA9999 · 1094984 · 23/02/26 22:55 · MS 2021 (수정됨)

    아 그러면 [pt1[0], pt2[0]] 이게 한 점이라는 건가요?? 그리고 직선이 [pt1[0], pt2[0]]라는 점과 [pt1[1], pt2[1]] 라는 점을 이은건가요??

  • 참치마요콜라 · 571772 · 23/02/26 22:56 · MS 2015

    아뇨 pt1[0],pt1[1]이 좌표 하나를 가리키는 거죠

  • PAKA9999 · 1094984 · 23/02/26 22:58 · MS 2021

    근데 그 하나만 더 여쭈어보면.. pt1 자체가 (1. 1*neuron.w + neuron.b) 이렇게 안에 값이 2개있는데 pt1[0],pt1[1]가 한 점을 어떻게 가르키나요?? 이 부분이 제가 모르는거같네요 ㅠㅠ

    댓 5개 추가여서 안되면.. 새로 달아주세염.

  • 참치마요콜라 · 571772 · 23/02/26 23:00 · MS 2015 (수정됨)

    1이 pt1[0]에 계산결과가 pt1[1]에 들어가는 거죠 그리고 .은 오타 같네요 ,같은데

  • PAKA9999 · 1094984 · 23/02/26 23:02 · MS 2021 (수정됨)

    아 ㅈㅅ 저 바보였나보네요 ㅋㅋㅋ [0]이 그 첫번째 [1]이 두번째 말하는거였구나 ㅠㅠ

    제가 왕초보 데이터 사이언스 공부중이라 개념이 재대로 안잡혀서 이해를 못했었네요 정말 감사합니다 ㅎㅎ 복받으실거에여

    ,는 오타맞아염