Linear Algebra in NumPy: Math With Code
개요
NumPy를 사용하여 선형 대수학의 핵심 개념들을 코드로 구현하고 통합하는 과정을 보여주며, 이를 통해 머신러닝의 기본 원리를 실습한다.
주요 내용
* 벡터 연산: 사용자 선호도를 벡터로 표현하고, 코사인 유사도를 계산하여 사용자 간의 음악 취향 유사성을 측정하고 추천 시스템에 활용한다.
* 행렬과 데이터셋: 연령, 급여, 경력, 승진 여부 등의 정보를 담은 데이터셋을 NumPy 배열(행렬)로 구성하고, 각 피처(특성)의 통계량(평균, 표준편차, 최소/최대값)을 계산하며, 피처와 레이블로 분리한다.
* 데이터 정규화: 표준화를 통해 데이터셋의 피처들을 평균 0, 표준편차 1을 갖도록 변환하여 모델 학습에 적합한 형태로 만든다.
* 신경망 레이어 구현: 정규화된 데이터를 입력으로 받아 ReLU 활성화 함수와 Softmax 함수를 거치는 두 개의 신경망 레이어의 순전파(forward pass)를 NumPy만으로 구현하고, 예측 확률을 계산한다.
* 경사 하강법(Gradient Descent): 노이즈가 포함된 데이터를 사용하여 선형 회귀 모델을 학습시키고, 경사 하강법을 통해 실제값에 근접하는 기울기(slope)와 절편(intercept) 값을 찾아낸다.
* 통계적 검토: 학습된 선형 회귀 모델의 잔차(residuals)를 분석하여 평균이 0에 가깝고 정규 분포를 따르는지, 68-95 규칙이 적용되는지 확인한다.
시사점
NumPy만으로 추천 시스템, 신경망 순전파, 선형 회귀 학습, 통계 분석 등 머신러닝의 여러 핵심 요소를 통합적으로 구현함으로써, AI 엔지니어에게 필수적인 NumPy 라이브러리의 깊이 있는 이해와 실제 문제 해결 능력을 배양할 수 있는 실질적인 기반을 제공한다.
댓글
GitHub Discussions