1. Linear Algebra (선형대수학)
1) 스칼라
숫자이다.
ex. x = np.array(3.0)
2) 벡터
숫자 여러개이고, 어떤 특징으로 묶여있다. x ( R^n 이렇게 표현할 수 있다.
ex. x = np.arange(4)
3) 메트릭스
2차원 숫자이고 행렬이라고 볼 수 있다.
ex. A = np.arange(20).reshape(5,4) (순서는 행, 열)
메트릭스의 곱
k를 맞춰주어야한다. 여기서 k는 같은 차원! (교환법칙이 성립하지 않는다. )
4) 텐서
3차원 이상의 숫자이다.
ex. x = np.arange(24).reshape(2,3,4)
2. Derivative
함수 = 입력과 출력
미분은 입력값이 아주 작게 변화헀을 때 출력값이 얼마나 변화하는가에 대한 비율이다.
기초 미분들
변수가 여러개일 때
- 편미분을 이용한다.
y는 스칼라, x는 벡터일 때 어떻게 미분할까?
n을 선택한다.
편미분의 표현
3. Gradient
편미분을 모아서 벡터화한 것
-> 함수는 벡터를 스칼라화 하고, y는 x 벡터를 f에 넣은 것.
입력이 벡터이기 때문에 X를 볼드로 나타내었다.
가장 앞의 기호를 보고 벡터인 것을 알 수있다. 각각 편미분 한 것을 벡터로 합친다.
4. Chain Rule
y는 최후결과, x는 최초결과이다. 함수가 2개, 이는 연관 관계있다.
Multivariate Chain Rule
5. Minimization of Function Gradient Descent
- 출력값을 최소로 만드는 입력값 찾기
1. 임의의 점 설정
2. 미분값 계산
3. f(x)줄이기 위해 미분값을 빼준다. (learning rate 곱한 후) = x값을 x - lr * df/dx로 업데이트 한다
그럼 입력이 스칼라가 아니라 벡터이면?
이 함수 f(x)를 인공신명망으로 생각하자.
loss 값을 줄이는 가중치를 찾는다. -> loss에 대한 w의 변화량 (미분값, 벡터값)
'AI Study > deeplearning, machinelearning' 카테고리의 다른 글
[ComputerVision] Neural Networks and Backpropogation (0) | 2023.03.27 |
---|---|
[DeepLearning] 아나콘다, 주피터 가상환경 설정 (0) | 2023.03.12 |
[DeepLearning] 1. AI 프로그래밍 복습 (0) | 2023.03.11 |