기록실
채팅 1
게임 0
유물

파이썬 하는 애들 있으면 이게 뭐인지 좀 알려주지 [18]

Minerals : 173,650 / Level : 일병 일병
2021-11-28 21:40:25 (4년 전) / READ : 687
    def linear_forward(A, W, b):
     Z = W.dot(A) + b
     assert(Z.shape == (W.shape[0], A.shape[1]))
     cache = (A, W, b)
     return Z, cache

    딥러닝 강좌 보고 있는데 나와서
    신고
    • 댓글이 18 개 달렸습니다.
    • 4년 전
      알려주지 왜 비추 주고 그러냐
    • 4년 전
      진심으로 길게 조언해주는 사람들 말은 듣기가 싫죠?
    • 4년 전
      @Brocoli22딥러닝 가르쳐 주는 거면 길게 써도 다 읽는데
    • 4년 전
      @가네்수학없이는 아무리해도 안된다고 몇번을 말씀드려요
    • 4년 전
      @Brocoli22그래서 인공지능을 위한 수학 읽고 있는데
    • 4년 전
      @가네்그걸로 먼저 선형회귀까지는 공부해보시고 그 다음에 multi layer perceptron 찾아보십쇼 그게 제일 이해가 빠른 길일거에요 지금 베이스로는 설명드리려면 책한권써야됩니다
    • 요원, 지현잉 핫빈
    • def는 파이썬에서 함수를 정의내리는 명령.
      함수가 뭔지 모르실 것 같아서 좀 더 말하면, 함수라는 건 어떤 입력값을 입력했을 때 어떤 출력값이 나오는 것. 이걸 함수라고 함. 예를 들어 f(x)= 3x라는 함수가 있다면 1을 입력했을 때 3을 출력하고, 2를 입력했을 때 6을 출력하는 함수임.

      파이썬에서 함수를 정의내릴 때에는 def라고 쓴 다음 오른쪽에 함수 이름을 적음. 이때 함수 이름은 그냥, 적당한 텍스트로 적으면 됨. 여기서는 함수이름을 linear_forward라고 정했네. "linear forward"라고 적은건, 아마 linear map을 적용하고 있고, 또 forward passing을 하고 있기 때문이라고 생각됨.아무튼 그건 중요한 게 아니고 함수를 정의내리고 있음.

      이어서 말하면 def라고 쓴 다음 함수이름을 적은 뒤에는 괄호 속에 입력값의 형태가 어떻게 되는지 적어야함. 아까처럼 함수가 f(x)=3x라면 입력값이 하나겠지만, f(x,y)=x+sin y라는 함수같은 거면 입력값이 두개라고 볼 수 있겠지. 즉 독립변수의 개수를 생각해야 함.

      만약 f(x) = 3x를 정의하고 싶다면

      def f(x)
          3*x
          return

      f(x,y)=x+sin y를 정의하고 싶다면
      def f(x,y)
          x+sin y
          return

      라고 하면 됨. 알겠지? 흠.. 기본적인 수학을 알고 있다면 당연히 알겠지만, 아마 님은 모른다고 하겠지. 암튼 심심하니깐 설명 더 하겠음.

      여기선
      def linear_forward(A,W,b)
      라고 적혀있네. 그러니까 이 함수를 정의할 때 세 개의 독립변수를 생각하겠다는 뜻이네. 이때 주의할 건, 아까 f(x)나 f(x,y)를 정의할 때는 x,y가 임의의 실수였어. (뭐 복소수여도 상관은 없겠지.) 근데 사실 함수의 독립변수로는 아무 거나 들어가도 됨. 정확히 말하면, 파이썬이 인식할 수 있는 어떤 형태의 자료구조여도 상관없음.
    • 4년 전
      @수줍은질럿그렇구나
    • 4년 전
      @수줍은질럿근데 자료구조가 뭐하는거야?
    • @가네்내가 말한 건 '자료구조'라기보다는 '자료형'에 가깝겠네 미안.
      파이썬의 자료형에는 여러 가지가 있어.
      정수 형태의 값을 의미하는 INT가 있고
      실수 형태의 값을 의미하는 FLOAT이 있고
      문자열 형태의 값을 의미하는 STR이 있고
      수열 형태의 값을 의미하는 LIST가 있고
      집합 형태의 값을 의미하는 SET이 있고
      사전형 형태의 값을 의미하는 DICTIONARY(맞나)가 있고
      암튼 많거든.

      지금 예에서는
      A와 W가 숫자라고 한다면, A와 W는 각각 FLOAT 형태 혹은 INT 형태의 자료가 될 거야.
      A와 W가 벡터라고 한다면, A와 W는 각각 LIST 형태의 자료가 될거야.
      A와 W가 행렬이라고 한다면, A와 W는 각각 LIST 형태(이긴 한데, 정확히 말하면 LIST OF LIST)의 자료가 될거야.

      그런 식으로, 독립변수인 A와 W는 어떤 형태의 자료형이건 들어갈 수 있다는 거지.

      자료형에 대해 궁금하다면 구글에다가 "파이썬 자료형"이라고 쳐봐라. 아주 많이 나온다.
    • 4년 전
      @수줍은질럿그러면 한번 파이썬 자료형 찾아봐야겠다
    • 아마 아래 정의된 형태를 보니깐 A와 W는 행렬이거나, 적어도 벡터인 것 같아.

      아무튼 아래 줄을 보면

      def linear_forward(A, W, b):
       Z = W.dot(A) + b

      라고 되어 있네. 여기서 "W.dot(A)"는 W와 A를 dot product 한다는 뜻이야. 아마 수학을 모른다니깐 뭔말인지 모르겠지만, 고등학교 교과과정으로 치면 벡터의 내적에 해당되겠지. 두 벡터 W와 A를 내적하겠다 이런 의미인 것 같아. (파이썬에서, 비슷한 명령어로 '@'라는 명령어는 내적을 포함한 행렬곱을 의미하기도 하는데 .dot이 내적만을 의미하는지, 내적 + 행렬곱을 의미하는지는 잘 모르겠어. 궁금하면 직접 확인해보셈)

      그리고 거기다가 b를 더하네. 그럼 이게 뭐냐? 뭐 말그대로 벡터 W와 A를 내적하고 거기다가 b라는 스칼라를 더하는 꼴이 되겠지. (혹은 행렬 W와 A를 곱하고 거기다가 벡터 b를 더하는 꼴이 되겠지.) 단순한 수학적인 내용이야. linear map이라고 해도 되겠고 (정확한 의미로는 linear map이 아니라서 affine map이라고 하는 게 정확하겠지) 만약 A와 W가 스칼라라면 중1때 배우는 일차함수와 완전히 의미가 같겠지.

      근데 이걸 왜 하고 잇냐? 뭐.. 그냥 명령어들의 나열이야. 함수의 결론, 즉 종속변수를 뱉어내는 부분은 return에 관한 부분이야. 중간에 문자열들이 더 있지만 이건 좀 무시하고 맨 밑 행으로 가봐. 그러면
       return Z, cache
      가 나오네. 이게 무슨 뜻이냐 하면, 이 함수의 종속변수, 즉 결과값을 Z와 cache로 정하겠다는 뜻이야. cache라는 건 뭐.. 잘 모르겠어. 걍 Z에 대해서만 설명한다고 하면,

    • 이 함수는 결과적으로 f(A,W,b) = AW+b 라는 함수인거야. 아까 말했듯 A, W는 (차원이 같은) 두 벡터이면서 b는 스칼라일 수 있고 아니면 A,W는 (적당히 곱해지는) 두 행렬이면서 b는 (적당히 더해지는) 벡터일 수있겠지.

      f(A,W,b) = AW+b 라는  함수를 파이썬으로 정의하려면

      '''
      def linear_forward(A, W, b):
       Z = W.dot(A) + b
       return Z
      '''

      이 된다는 거지. 님 어그로꾼인 거 알아서 얼마나 알아들으려고 하는지는 모르겠는데. 암튼 심심해서 적어봤어. 
    • 4년 전
      @수줍은질럿딥러닝 가르쳐 주면 진짜 갈려고 하는데 아직까지 안 가르쳐 줘서 그래
    • @가네்공부는 누가 가르쳐서 하는 게 아님. 본인이 하는거지.
      근데 님은 배울 자세가 안되어있음. 걍 잘 찾아보고 하면 돼. 정말 모르겠다 싶은거면 물어보고
    • 4년 전
      @수줍은질럿그러면 한번 좀 찾아보면서 해 봐야겠다
    • 4년 전
      @수줍은질럿ㅈㄴㄱㄷ) 유튜브에 파이썬 초보강의 많아..
      기본은 알고 물어보자
    글목록 이전글 다음글
    글쓰기


    공부 인증 한 시간당 10만 미네랄 드려요. (1)알콜솜 25.12.12추천 1
    게시판 HTML 태그 사용 정책 변경 안내 (5) YGOSU2 25.12.29-
    모의고사 필요하신분 받아가세요 (1)희야12347621.12.01-
    [정보] 소방공채 감소된다는거 팩트체크 (1) 희야12358521.12.01-
    [정보] 소방 채용설명회 (1) 희야12343121.12.01-
    [인증] 공인중개사 합격햇슴돠ㅠㅠ (30) 월곡부동산238621.12.01추천 3
    [질문] 불면증 때문에 잠을 못잤는데니범인충32121.12.01-
    공무원 월급으론 만족하면서 살긴 힘들 것 같음 (17)멋대로지껄이기115421.12.01추천 2
    간만에 공게글 둘러보니 개좆똥같은글 많이 줄어들긴했네 콜라의왕 펩시38821.12.01-
    후.............. 발표 개털렸다 시팔 (6)로이 킴159921.11.30-
    나는 똥시벌레~  공부가 재밌소 :) (1)승부사농동이74421.11.30-
    [질문] (이산수학, 트리, 노드) 컴공과 형님들 이거 도저히 모르겠습니다...  (4)바깥은한여름63221.11.30-
    [정보] 드라마 연모에 나오는 한자 (불비불명, 아닐 불, 날 비, 아닐 불, 울 명) 경경자자87221.11.30-
    [질문] 대학 학사 졸업작품 (3)취업은어렵다150621.11.30-
    [질문] 이슬람교, 쿠란에 대해서 어디서 공부 할 수 있음? (진지) (2) 김치싸대기박대리52621.11.30-
    똥수생들 차렷! 열중쉬엇워킹리버46221.11.29-
    대학 동기중에서 나이많았던사람 ㅁ얼마나봄? (6)넘졸려132021.11.29-
    [정보] 공드림 가입하면 네이버페이 1,000원 주네요! (1)난신적자60521.11.29-
    [질문] 전기자동차 나오면 브레이크 회사 망함? (8)후후후훗109021.11.29-
    [정보] 생활의 달인에 나오는 한자 (따뜻할 온) 경경자자88521.11.29-
    씹못리우스도 하루 존나 바쁘게 살듯1q2w3e4rty54121.11.29-
    나는 그냥 딥러닝만 가르쳐 주면 갈려고 했는데 (10)가네்67821.11.29-
    진테님 미국 인증 하심? (3)재미있는토스49621.11.29-
    와 나 진짜 수능 언어 진짜 못한다ㅋㅋ (4)Hteeddgykfc62621.11.29-
    대학 학사 졸업논문 빠꾸당하는 경우도 있음? (3)헤븐201483621.11.29-
    [질문] 오늘 오전 8 시까지 과제 외주 맡아주실분 계신가요? (2)시드200으로 10억73721.11.28-
    [질문] 파이썬 하는 애들 있으면 이게 뭐인지 좀 알려주지 (18)가네்68721.11.28-
    글쓰기