일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- PID 제어
- 네트워크 문제 해결
- 동적프로그래밍
- 리본
- 최소 신장 트리
- 진보성
- WebService
- algorithm 함수
- pca
- 유클리드 거리
- Ctrl z
- 보정서
- SQLite
- gsoap
- 직선의 방정식
- 특허
- 주식
- SW 검정
- 주성분 분석
- 모터종류
- 전세
- PID
- 동적 프로그래밍
- 알고리즘
- vc mfc
- 플레인 스위핑
- SW검정
- 모든 경우수 돌기
- 리눅스
- Linux
- Today
- Total
pumpy 본문
선행대수( 행렬)
행렬을 사용하면 많은 데이터를 하나로 묶어서 연산이 가능
머신러닝에서 하나하나 계산이 아니라 통으로 계산하니 효율적 계산 가능
선형대수는 1차식, 일차함수에 대해서만 다룬다.
1차식이 여러개면 선형 시스템이라고 한다.
행뱍터 , 열백터 => 1행/1열만 있는 행렬
미적분
머신러닝에서 최적화시 사용
통계
데이터의 큰 흐름 파악 => 예측에 사용
확률
가능성. 50%보다 높으면...
import numpy as np
행렬 구성
A = np.array( [
[1,-1,2],
[3,2,2],
[4,1,2],
[7,5,6]
])
C = np.random.rand(3,5)
D = np.zeros( [2,3])
A[0][2]
======================
np.dot(A,B) <=== 행렬 곱하기
A @ B <=== 행렬 곱하기
A@B + (A+2*B)
(2*A) @ -B @ (3*C+D)
^ 요기서 그냥 * 하면 행렬의 차원이 같아서 그냥 곱함
===================
전치행렬
열과 행을 바꿈
행렬 곱계산을 할때 모양을 맞춰야 할때 전치행렬로 맞출수 있다.
전치행렬로 바꾼후 계산해도 계산이 맞냐??
=>
행렬의 전치와 관련하여 다음과 같은 성질이 있습니다.
(AT)T=A
(cA)T=cAT
(A+B)T=AT+BT
(AB)T=BTAT
T=전치행렬
위 성질들 덕분에 계산의 필요로 인해 전치하여 행렬연산을 하였더라도
이후에 상황에 맞게 적절히 다시 한 번 더 전치하는 등의 조치를 하면 괜찮습니다.
단위행렬
대각선 요소만 1, 나머지는 0
항상 정사각형 모양
1의 역할을 함
AI=A
역행렬
곱했을떄 1이 나오는수가 역수
이와 같은게 역행렬
A * ? = I (I = 단위행렬)
역행렬이 항상 존재하는것은 아님
============
np.transpose(A) <---A의 전치행렬 구하기
A.T <=== A의 전치행렬 구하기
I =np.identity(3) <== 단위행렬 만들기 3은 3*3 행렬
A * I = 기존행렬 A가 나옴
np.linalg.pinv(A) <--- 역행렬 구하기
역행렬은 모두 존재하지 않기때문에 역행렬이 없는 경우도 있다.
이런경우 pinv 는 몬가를 리턴 , 역행렬이랑 최대한 비슷한 효과를 내는 행렬을 리턴함
제 생각엔 linalg 는 Linear Algebra(선형대수)를 의미하는 것 같습니당^^
np.transpose(B) @ (2 * np.transpose(A) ) @ (3 * np.linalg.pinv(C) + np.transpose(D) )
B.T @ (2*A.T) @ (3* np.linalg.pinv(C) + D.T
이제 예측으로 예제를 하면
아파트 가격은 크기( 크기 의 영향력 a1) , 지하철역 거리( 지하철역 거리 의 영향력 a2), 층수( 층수 의 영향력 a3)로 결정된다고 하면
1번 아파트 가격 = 110 * a1 + 400 *a2 + 20 *a3 ( 110 =크기, 400=지하철역 거리,20=층수)
2번 아파트 가격 = 100 * a1 + 1000*a2 + 5 *a3
3번 아파트 가격 = 180 * a1 + 10 *a2 + 30 *a3
4번 아파트 가격 = 50 * a1 + 300 *a2 + 5 *a3
모두 1차식, 선형대수학은 모두 1차식을 다룸
100, 400, 20
100, 1000, 5 a1
180, 10, 30 a2
50, 300, 5 a3
집값은 = Xa