https://www.boostcourse.org/ai215/lecture/355363
벡터화
- 중요한 기술
- 행렬연산을 이용하여 많은 feature들, 인풋값(훈련 세트)들에 대한 연산 시간을 줄인다.
- 벡터화된 연산은 그렇지 않은 연산에 비해 300배 빠르다.
더 많은 벡터화 예제
- for문의 사용을 줄이고, 내장 함수를 사용한다.
- feature의 개수인 n_x을 차원으로 가지는 벡터 w를 만든다. -> 각각의 feature에 대한 for문을 없앤다.
- 아직 훈련 세트에 대한 for문은 잔존
로지스틱 회귀의 벡터화
- 훈련 세트에 대한 for문 또한 없앨 수 있다.
** 파이썬 브로드캐스팅: ex) (1,m)차원의 벡터에 어떤 자연수 상수 b를 더하면 자동으로 b를 (1,1)의 수가 아닌 (1,m)의 b로 초기화된 행렬이라 취급하여 더해준다.
- 한 것: z를 1부터 m(데이터의 총 개수)까지 한꺼번에 (Z) 구하는 것.
-> m개의 훈련 샘플을 동시에 정방향 전파하는( ouput값을 구하는) 벡터화된 구현!
로지스틱 회귀의 경사 계산을 벡터화하기
- 좌: 벡터화 전 우: 벡터화 후
-> 로지스틱 회귀 경사하강법의 한 단계. (모든 데이터셋을 순회)
'머신러닝' 카테고리의 다른 글
[딥러닝] 딥러닝 1단계: 신경망과 딥러닝 - 4. 얕은 신경망 네트워크 (1/2) (0) | 2024.03.25 |
---|---|
[딥러닝] 딥러닝 1단계: 신경망과 딥러닝 - 3. 파이썬과 벡터화 (2/2) (0) | 2024.03.25 |
[딥러닝] 딥러닝 1단계: 신경망과 딥러닝 - 2. 신경망과 로지스틱 회귀 (2/2) (1) | 2024.03.18 |
[딥러닝] 딥러닝 1단계: 신경망과 딥러닝 - 2. 신경망과 로지스틱 회귀 (1/2) (0) | 2024.03.11 |
[딥러닝] 딥러닝 1단계: 신경망과 딥러닝 - 1. 딥러닝 소개 (0) | 2024.03.11 |