🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

경사하강법을 이용하여 선형회귀 구현하기 -01

21.09.01 12:34 작성 조회수 297

0

1)

강의 16:01에서

1차원 array인 rm과 diff를 열벡터로 표현하셨는데

1차원 array는 행벡터가 아닌 열벡터로 생각하면 되나요? 

이전에 numpy 강의에서 1차원 array는 행벡터처럼 옆으로 늘여지게 그림이 그려져 있었어서 조금 헤깔립니다.

2)

위 사진에서

그냥 일반적인 dictionary에서는 dict.a 로 value 값에 접근할 수 없는 것 같은데

boston.data로 하면 boston dictionary의 key값인 data에 대응하는 value값에 왜 접근할 수 있나요? 

3)

keras에서도 사용하는 '전체 학습 데이터의 순차적인 Mini-Batch' 방식은 한 iteration마다 전체 데이터셋을 한번 다 본다는 점에서는 전체 학습 데이터를 기반으로 gradient descent를 계산하는 GD와 동일한 것 같습니다. 차이점이 있다면 Mini-Batch 방식은 학습할 때 mini-batch 를 이용하므로 메모리에 전체 데이터셋을 다 올릴 필요가 없어 메모리에 부담이 적다 정도가 있는 것 같은데 이러한 이유로 mini-batch를 사용하는게 맞나요?

감사합니다.

답변 1

답변을 작성해보세요.

1

안녕하십니까, 

1. 1차원 array 경우 행, 열 이란 개념은 없습니다. 편의상 설명을 위해 붙여 주신 그림과 같이 1차원 array로 표시한 것입니다. 굳이 1차원 array를 나타내자면 위에서 아래로 내려가는 방향성으로 array 원소를 가지는 것으로 보시는게 맞습니다. 

[10,

20,

30,

40,

...

]

과 같이 보시면 됩니다. 

 2. dictionary는 dict['a'] 와 같이 접근하셔야 합니다. boston 객체는 dictionary와 유사하지만 dictionary가 아니라 Bunch라는 별도의 클래스 입니다. 따라서 boston객체는 boston.data 와 같이 접근할 수 있습니다. 

3. 이건 나중에 제가 다시 따로 설명 드릴 것입니만, keras의 mini batch GD는 GD와 동일하지 않습니다. 

이와 비슷한 질문이 있어서 답변한 내용이 있으니 아래 내용을 참조 부탁드립니다. 

https://www.inflearn.com/questions/297099

https://www.inflearn.com/questions/216570

감사합니다. 

채널톡 아이콘