수업자료
class_ML/1. Basic ML/1. numpy/2. Numpy 심화.ipynb at main · good593/class_ML
Contribute to good593/class_ML development by creating an account on GitHub.
github.com
1. 선형 대수학
1) 선형독립/선형 종속
- 직교: 벡터 각 90도 , 서로 독립적
- 선형 독립: 두 벡터 서로 독립적 방향 가짐. 0~180 사이
- 선형 종속: 일직선상에 놓임, 하나의 벡터는 다른 벡터 상수배
2) 벡터 연산
- 두 개의 벡터 연산시 크기가 같아야 한다.
곱셈
- norm: 벡터 크기, [1,2] = sqrt(1*2+2*2) = sqrt(5)
- 내적:
- 두개 벡터간의 유사도(상관계수) 크기
- v2를 v1기준으로 코사인 변환하여 v1차원에서 서로 유사도 비교
3) 행렬 연산
합
- data+ones
- np.add(data,ones)
빼기,곱, 나누기
- np.subtract(), np.multiply(), np.divide()
스칼라곱
행렬곱
행렬곱에선 (m x n) * (n x p ) = (m x p)
4) 선형 변환
- vector 변환
- np.add(),np.subtract(), np.multiply(), np.divide()
- arr.max() (전체) ,arr.max(axis=0), arr.min(axis=1): 축에 따라서 반환 값이 다름
- arr.sum(), arr.sum(axis=0), arr.sum(axis=1)
- broadcasing : arr에다 숫자 곱하기
2. 선형대수 함수 (벡터/행렬연산)
Norm
모델 loss 가 벡터로 나오는데, 그걸 스칼라로 줄여서 볼 수 있는게 Norm이다.
- L1 Norm :
- 벡터내의 두 개 성분 차이의 절대값 취해서 합한 것
- np.linalg.norm(arr,1)
- 맨하탄, 여러개 grid path 발생 가능
- L2 Norm
- 백터내의 두 개 성분의 차이의 제곱합에 루트 씌운 것
- np.linalg.norm(arr)
- 유클리드, 하나의 grid path, 제곱합 루트라 outlier에 더 민감
내적 연산:
- 두 벡터에 대한 차이를 스칼라로 표현
- 서로 다른 차원으로 표현되어야 내적 연산 가능
- arr: x & y, x.dot(y) (내적)
- x.T (transpose)
역행렬
- Y=inv(X)
- X.dot(Y) >> 단위행렬
3. 난수 (random number)
- np.random.seed(0) > seed 고정해서 주피터 노트북 내에서 매 셀마다 고정하여 결과가 일정하게 한다.
- np.random.rand(100) : 난수 생성
- np.random.randint(10,20,1000) : 정수 난수 생성
- np.random.randn(1000): 정규분포 난수
- 4* np.random.standard_normal(100) + 1 : 표준 정규분포 갖는 난수, 표편 4, 평균 1
- np.random.noraml(3,2,5000) 정규분포에서 난수 생성 (평균,표준편차,개수)
- np.random_sample() : 임의 실수 생성
- np.random.choice() : 샘플 생성
'개발공부 > SK Networks Family AI bootcamp 강의노트' 카테고리의 다른 글
17일차 [data encoding, scaling] (0) | 2025.02.07 |
---|---|
16-17일차 [ 타이타닉 데이터 재분석 ] (0) | 2025.02.06 |
16일차 [Bike sharing demand 데이터 분석/ 머신러닝 개요 / numpy 기초] (0) | 2025.02.06 |
15일차 [ Seaborn, EDA ] (1) | 2025.02.05 |
15일차 [ 데이터 시각화 심화 ] (0) | 2025.02.05 |