파이썬 벡터화

SSamYang·2024년 6월 29일

🖥벡터화란?🖥

컴퓨팅 및 프로그래밍에서 주로 배열, 행렬 등의 데이터 구조를 사용하여 반복 연산을 빠르게 처리하는 기술을 의미
✨반복문 사용보다 훨씬 빠르다✨

벡터화된 계산

np.dot() 두 배열 간의 행렬 곱셈을 수행하는 함수

반복문을 사용한 계산

엄청난 속도차이

SIMD

컴퓨터 아키텍처에서 사용되는 병렬 처리 기술 중 하나입니다. SIMD는 단일 명령어로 여러 데이터 포인트를 동시에 처리할 수 있게 해줍니다. 이는 특히 벡터와 행렬 연산 같은 대규모 데이터 처리 작업에서 매우 유용합니다. SIMD는 주로 CPU나 GPU의 병렬 처리 유닛에서 구현됩니다.

반복문을 사용하지 말자!!! 벡터화 된 자료를 사용하자




🖥 벡터화 예제 🖥

벡터로 반복문을 사용하지 않고 한줄로 정리하는 예제↓↓↓↓

왼쪽에 있는 반복문을 통한 과정들을 오른쪽의 벡터화를 통한 numpy로 쉽게 작업할 수 있다.




🖥 로지스틱 회귀 벡터 🖥

로지스틱 회귀 벡터화↓↓↓↓

로지스틱 회귀를 벡터화하면 엄청나게 간단해진다.




🖥 로지스틱 회귀와 그라데이션 출력 벡터화 🖥

경사하강법 벡터화 ↓↓↓

로지스틱 회귀 벡터화↓↓↓↓




🖥 Broadcasting 🖥

알아서 벡터의 (m,n)에 맞게 연산해주는 것




🖥 파이썬/넘피 벡터에 대한 참고 사항 🖥

위 변수 a의 shape = (5,)이다. 사용하지 말라고 강조함
학생들이 코드추적할 때 어려워하는 것을 봤다고 함
그리고 코드 단순화를 위해서

  • (5,) 형태 배열은 다른 1차원 배열과 호환되지 않을 수 있습니다.
  • 예를 들어, 두 개의 (5,) 형태 배열을 수평으로 연결하려고 하면 오류가 발생할 수 있습니다.
  • assert()를 사용하여 필터링
profile
공부 기록장📕

0개의 댓글