일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- d
- 선형대수
- 티스토리 쿠키 삭제
- 처음 만나는 AI수학 with Python
- resttemplate
- baeldung
- 네트워크 설정
- 처음 만나는 AI 수학 with Python
- 스프링 시큐리티
- 서버설정
- 데비안
- 스프링부트핵심가이드
- 코드로배우는스프링부트웹프로젝트
- GIT
- 목록처리
- 코드로배우는스프링웹프로젝트
- 자료구조와함께배우는알고리즘입문
- 구멍가게코딩단
- ㅒ
- 친절한SQL튜닝
- 알파회계
- Kernighan의 C언어 프로그래밍
- 리눅스
- network configuration
- 페이징
- 자료구조와 함께 배우는 알고리즘 입문
- 자바편
- /etc/network/interfaces
- 이터레이터
- iterator
- Today
- Total
목록처음 만나는 AI수학 with Python (11)
bright jazz music
코사인 유사도(cosine similarity) 코사인 유사도는 벡터 사이의 방향의 가까운 정도를 나타낸다. 다음과 같이 요소 수가 2인 2차원 벡터 두 개가 존재한다고 가정하자. 두 벡터 사이의 각도는 세타(θ)라고 가정하자. 그렇다면 아래와 같은 그림을 그릴 수 있다. 내적 구하기 np.linalg.dot()을 통해 벡터의 내적을 구할 수 있다. 내적은 각 요소의 총합이다. 위의 내적은 삼각함수와 L2 놈을 사용해서 구할 수도 있다. 삼각함수와 L2 놈을 사용한 내적 구하기 아래의 내용은 코사인 법칙 정리를 사용해서 증명 가능하다. LaTeX 수식 $\vec{a}\cdot\vec{b} = ||\vec{a}||_{2}||\vec{b}||_{2} cos\theta = \sqrt{a_{1}^2 + a_{2..
고윳값(eigenvalue)과 고유벡터(eigenvector) 고윳값 고유벡터의 길이를 변하게 하는 배수. 선형변환의 그 고유벡터에 대응하는 값. 아래 행렬 A에 대해서 관계를 만족시키는 스칼라 λ를 행렬 A의 고윳값이라고 한다. LaTeX 수식 $A \vec{x} = \lambda \vec{x}$ 고유벡터 위 관계에서의 벡터 x를 행렬 A의 고유벡터라고 한다. 선형변환 이후에도 방향이 변하지 않는 0이 아닌 벡터 선형변환에 의해 각 요소가 고윳값의 배가 되는 벡터 고윳값과 고유벡터의 사용 선형변환은 대게 고유벡터와 그 고윳값만으로 완전히 설명 가능 고유벡터와 고윳값의 개념은 선형대수학, 함수해석학 등의 응용 분야에 자주 사용 인공지능에서는 데이터를 요약하는 주성분 분석이라는 기법에 이용된다. 고윳값과 ..
선형변환(linear transformation, ) 선형변환은 벡터를 변환한다. 벡터에서 벡터로의 변환을 선형변환이라고 한다. 선형변환은 선형대수학에서 선형 결합을 보존하는, 두 벡터 공간 사이의 함수이다. 선형변환은 인공지능에서 뉴럴 네트워크로 정보를 전파시키는 데 사용한다. 참고: https://url.kr/g9v4td 아래의 예를 보자. 행렬 A가 있다. LaTeX 수식 $A=\begin{pmatrix} 2 & -1 \\ 2 & -2 \end{pmatrix}$ a라는 세로 벡터가 있다. LaTeX 수식 $A=\begin{pmatrix} 2 & -1 \\ 2 & -2 \end{pmatrix}$ 행렬 A를 세로 벡터a에 곱해서 새로운 세로 백터 b로 변환할 수 있다. LaTeX 수식 $\vec b =..
벡터 그리기 다음의 벡터를 화살표로 그린다. LaTeX 수식 $\vec a = \begin{pmatrix} 2 \\ 3 \end{pmatrix}$ 파이썬에서의 벡터 그리기 matplotlib.pyplot 라이브러리의 quiver() 함수를 사용하여 화살표를 그린다. quiver() 함수의 설정은 아래와 같다. quiver(시작점의 x좌표, 끝 점의 y좌표, 화살표의 x 성분, 화살표의 y 성분, angles=화살표의 각도와 결정방법, scale_units=스케일의 단위, scale=스케일, color=화살표의 색) #벡터를 그릴 때는 x성분과 y성분으로 표현한다. 실습 #벡터로 화살표 그리기 import numpy as np import matplotlib.pyplot as plt #화살표 그리는 함수 ..
행렬의 요소별 곱 (아다마르 곱) 행렬의 요소별 곱은 행렬의 각 요소끼리 곱하는 것이다. 아다마르 곱(Hadamard product)이라고도 불린다. ○ 또는 ⊙로 표기한다. 두 행렬 A와 B가 아래와 같을 때 LaTeX 수식 $ \begin{align} A &=\begin{pmatrix} a_{11}&a_{12}&\cdots & a_{1n}\\ a_{21}&a_{22}&\cdots & a_{2n}\\ \vdots & \vdots & \ddots & \vdots \\ a_{m1}&a_{m2}&\cdots & a_{mn} \end{pmatrix} \end{align}$ $ \begin{align} B &=\begin{pmatrix} b_{11} & b_{12}&\cdots & b_{1n}\\ b_{21}&..
행렬의 곱 (행렬곱)벡터끼리의 내적을 행렬로 확장하면 행렬의 곱이 된다.행렬의 곱은 인공지능에서 효율적인 계산을 시행하기 위해 사용한다.행렬곱에서는 앞 행렬에서의 행의 각 요소(scarla)와 뒤 행렬에서의 열의 각 요소를 곱한 뒤 총합한다.앞 행렬의 첫 행과 뒤 행렬의 첫 열의 내적(dot product)가 끝나면 앞 행렬의 첫 행과 뒤 행렬의 두 번째 열을 내적한다.같은 처리를 앞 행렬의 마지막 행과 뒤 행렬의 마지막 열까지 반복한다.따라서 행렬의 곱을 수행하려면 반드시 앞 행렬의 열 수와 뒤 행렬의 행 수가 같아야 한다. 행렬곱의 일반화LaTeX수식$ \begin{align} AB &=\begin{pmatrix} a_{11}&a_{12}&\cdots & a_{1m}\\ a_{21}&a_{22}..
놈 (노름, norm) 놈은 벡터의 크기(magnitude)를 나타내는 양이다. 인공지능에서는 L² 놈과 L¹ 이 자주 쓰인다. 놈의 종류에 따라 벡터의 크기(magnitude)는 다른 값이 된다. 놈은 인공지능의 정칙화에 쓰인다. 정칙화란 파라미터로 조절해서 필요 이상으로 네트워크 학습이 진행되는 것을 예방하는 것이다. L² 놈 L² 놈은 아래와 같이 표기한다. L² 놈의 표기 L² 놈은 벡터의 각 요소(스칼라)를 제곱합 한 뒤, 제곱근을 구해 계산한다. LaTeX 수식 $\begin{align} ||\vec{x}||_{2} &= \sqrt{x_{1}^2 + x_{2}^2 + \cdots + x_{n}^2}\\ &= \sqrt{\sum_{k=1}^n x_{k}^2} \end{align}$ L¹ 놈 L¹..
텐서(Tensor) 텐서는 스칼라를 여러 개의 차원으로 나월한 것이다. 텐서는 스칼라, 벡터, 행렬을 포함한다. 스칼라, 벡터, 행렬은 서로 다른 차원의 텐서이다. 각 요소에 붙은 첨자 수를 그 텐서의 차원수라고 말한다. 스칼라에는 첨자가 붙지 않는다. 따라서 스칼라는 0차원 텐서이다. 벡터에는 첨자가 1개 붙는다. 따라서 벡터는 1차원 텐서이다. 행렬은 첨자가 2개 붙는다. 따라서 행렬은 2차원 텐서이다. 3차원 텐서, 4차원 텐서 순으로 고차원으로 나아간다. 파이썬에서의 텐서 구현 import numpy as np a = np.array([[[0, 1, 2, 3], [2, 3, 4, 5], [4, 5, 6, 7]], [[1, 2, 3, 4], [3, 4, 5, 6], [5, 6, 7, 8]]]) #2..
스칼라의 개념 스칼라(scarla)는 1, 5, 2, -7 등의 보통의 수치를 의미한다. 수식에서의 알파벳 또는 그리스 소문자로 스칼라를 나타내기도 한다. 파이썬에서의 스칼라 구현 a = 1 b = 1.2 c = -0.25 d = 1.2e5 #1.2 * (10의 5제곱 = 120000) ----- 벡터의 개념 벡터는 스칼라를 직선 상에 나열한 것이다. 알파벳 소문자 위에 화살표를 올린 것으로 벡터를 표현하기도 한다. 가로벡터와 세로벡터 벡터에는 세로로 수치를 나열하는 세로 벡터와 가로로 수치를 나열하는 가로 벡터가 있다. 가로벡터(horizontal vector, row vector) 가로 벡터 LaTeX 표기 수식 변환 $\vec{a} = (1, 2, 3)$ 세로벡터(vertical vector, co..