인공지능 시대, 코딩은 선택이 아닌 생존 전략입니다

코딩은 미래를 지배하는 기술의 언어, 당신의 가능성을 열어줄 열쇠입니다.

강의자료/인공지능수학 35

[인공지능 수학] 주성분 분석

1. 주성분 분석(principal component analysis)란? 주성분 분석(PCA)은 고차원의 데이터를 저차원의 데이터로 환원시키는 기법을 말합니다. 이 때 서로 연관 가능성이 있는 고차원 공간의 표본들을 선형 연관성이 없는 저차원 공간(주성분)의 표본으로 변환하기 위해 직교 변환을 사용합니다. 이렇게 설명 했을 때 이해하기가 살짝 어려운데요~ 주성분 분석이 어떤 경우에 사용되는지 먼저 살펴 보면 이해하기가 쉽습니다. 인공지능에서는 데이터의 차원이 엄청 많은데요~ 그러다 보니 계산 속도도 느려지고 저장할 수 있는 공간도 어마어마 해 집니다. 가령 3차원의 데이터를 살펴 보면 4 * 4 * 4 형태의 데이터가 있다면 저장할 수 있는 공간은 64개의 메모리 공간이 필요합니다. 이 데이터를 손실 ..

[인공지능수학]MNIST

MNIST란? 숫자 0부터 9까지의 이미지로 구성된 손글씨 데이터 집합입니다. 컴퓨터에 숫자 이미지를 입력하면 머신러닝을 통해서 숫자 이미지가 의미하는 값을 출력하는데요~ 이러한 기술은 우체국에서 사람들이 손으로 적은 우편번호를 인식하여 분류한다거나 주차장에 차량이 진입할 때 자동으로 차량 번호를 인식 하는 등 많은 곳에 활용을 하고 있습니다. 그렇다면 컴퓨터가 이러한 손글씨를 어떻게 인식하는지 살펴 봅시다. 이미지데이터셋 이미지 데이터셋을 살펴보면 위와 같이 손글씨용 숫자 0~9 까지의 데이터로 이루어져 있습니다. MNIST 이미지 위와 같은 흑백 이미지의 데이터는 다음과 같은 형태의 숫자 모음으로 표현 됩니다. 검은색 부분은 0 흰색부분은 255에 가까운 숫자로 표현이 됩니다. 위의 이미지는 28 *..

[인공지능수학] 경사하강법으로 학습하는 방법 알아 보기

경사하강법(Gradient descent)란? 경사하강법의 기본 개념은 함수의 기울기를 구하고 경사의 반대 방향으로 계속 이동 시켜 극값에 이를때 까지 반복 시켜 제시된 함수의 기울기로 최소값을 찾아내는 머신러닝의 알고리즘입니다. 이것은 머신러닝에서 훈련데이터를 훈련을 마친 후 타겟데이터와 비교해서 손실값을 찾게 됩니다. 이러한 손실값이 최소화 하는 위치가 가장 좋은 훈련을 한 모델이 되는 것이므로 이러한 손실값이 최소화 되는 위치를 찾을때 경사하강법을 사용하게 됩니다. 선형회귀와 경사하강법의 관계 선형회귀의 목표는 산점도 그래프를 잘 표현하는 직선의 방정식 y = ax + b 에서 입력데이터(x)와 타깃데이터(y)를 통해 기울기 (a)와 절편 (b) 를 찾는 것입니다. 경사하강법은 모델이 데이터를 잘 ..

[인공지능수학] 표준편차

표준편차를 알기 전에 평균,기댓값,분산 의 의미를 먼저 이해 합니다. 1. 기댓값 기댓값(expected value)는 '나올 것이라고 예상하는 값' 입니다. x가 확률변수이고 P(x)인 사건이 벌어질 때, 예상할 수 있는 결과값이 기댓값입니다. 이것은 어떤 확률적 사건에 대한 평균의 의미로 생각할 수 있습니다. 이 것을 공식으로 다음과 같이 표현 합니다. 예를 들어 1~6까지 있는 주사위를 던졌을 때 나오는 기댓값은 다음과 같습니다. 1이 나올 확률 1/6 2가 나올 확률 1/6 3이 나올 확률 1/6 4가 나올 확률 1/6 5가 나올 확률 1/6 6이 나올 확률 1/6 따라서 E[x]=1*1/6 + 2 * 1/6 + 3*1/6 + 4*1/6 + 5*1/6 + 6 *1/6 = 3.5 가 됩니다. 2. ..

[인공지능수학] 상관계수

다음의 데이터를 참고하여 월 매출과 관련이 깊은 지표를 찾아 봅니다. 데이터 종류 1월 2월 3월 4월 5월 6월 평균 매출 2500 4000 2000 5500 3500 4500 3670 상품구입비 2000 1500 3000 1000 1500 1500 1750 광고비 200 100 400 300 200 200 233 조회수 180 270 160 620 320 390 323 결제수 10000 20000 8000 40000 2800 30000 22700 체류시간 69 88 68 180 120 77 100 위의 데이터를 가지고 어떤 데이터가 다른 데이터와 관련이 깊은지 상관관계를 찾아 봅니다. 상관관계는 공분산을 구해보면 알 수 있습니다. 여기서 공분산이 무엇인지 살펴 보겠습니다. 공분산은 공+분산의 의미인데..

[인공지능수학] 확률

1. 확률의 정의 확률(Probability) : 표본공간 S 중에서 특정 사건 A 가 일어날 가능성 P(A) =|A||S| 여기서 P(A) 는 0과 1 사이의 실수 |A| 는 특정사건 A가 일어나는 경우의 수 |S| 는 표본공간 S가 일어나는 경우의 수(전체사건이라고도 함) 예) 주사위 두 개를 던질 때 두 수의 합이 3 이하가 나올 확률은 다음과 같이 구한다. 주사위 두개를 던질 때 나오는 모든 경우의 수 (표본공간 S가 일어나는 경우의 수 |S| ) = 6 * 6 = 36가지 두 수의 합이 7 이하가 나오는 경우의 수(특정 사건 A가 일어나는 경우의 수 |A|) = (1,1),(1,2),(2,1) = 3가지 따라서 P(A) = 336 = \( 1 \ove..

[인공지능 수학] 행렬

목표 행렬 연산을 이해한다. 행렬의 선형변환에 대해 이해한다. 역행렬및 전치 행렬에 대해 이해한다. 행렬이란 n,m이 양의 정수일때 n행 m열로 나열된 실수의 2차원 배열을 행렬이라 합니다. 행렬의 덧셈과 뺄셈 두 행렬 A,B에서 같은 자리에 있는 원소들끼리 더하거나 빼는 연산 두 행렬의 크기가 같아야만 연산 가능함 행렬의 스칼라곱 행렬의 곱셈 n*m 행렬과 m*s 행렬의 곱은 n*s 행렬이 생성되며 A의 i번째 행과 행렬 B의 j번째 열이 서로 대응하여 연산 되기 때문에 행렬 A의 열크기와 B의 행 크기가 서로 같아야 합니다. 전치행렬 n*m 행렬을 행과 열을 바꾼 m*n 행렬을 전치행렬이라고 합니다. 예) 역행렬 정사각행렬 A에 대해 A*B = B*A = I를 만족하게 하는 행렬 B ※ I 는 단위행..

[인공지능수학] 미분

미분의 기초 미분이란 "순간의 변화율"을 구하는 것 입니다. 여기서 변화율이 무엇인지 살펴 봅니다. 원당이가 집에서 8시에 출발해서 2km 떨어진 회사까지 걸어가서 도착하니 10시가 되었다. 그렇다면 속도는 거리/시간 이므로 1km/h 가 된다. 이때 위치의 변화 = 변화후의 위치 - 변화 전의 위치가 되고 시간의 변화 = 변화후의 시간 - 변화전의 시간 이 되며 속도는 위치의변화/시간의변화 로 정의 할 수 있습니다. 하지만 이것은 평균속도이며 원당이가 회사까지 걸어가는 동안 횡단보도에서 대기할때도 있고 오르막길에서 천천히 걷는 경우도 있고 내리막길에서 빨리 걸어 가는 경우도 있을것입니다. 즉 위의 속도는 평균 변화율이며 평균변화율은 위치의변화/시간의 변화 = Δy/Δx = f(b)-f(a)/b-a 와 ..

[인공지능수학] 벡터

목표 벡터가 무엇인지 살펴보고 인공지능 프로그램에서 어떻게 사용되는지 살펴 봅니다. 벡터란 벡터는 크기와 방향을 갖춘 양을 말합니다. 벡터는 공간에서 한점을 나타냅니다.(1차원 상의 점은 벡터 보다는 스칼라라고 부릅니다.) 2차원 상의 점을 (x,y)로 표현되는데 원점에서 부터 공간상의 한 점 까지의 상대적 위치를 벡터라고 이해하면 됩니다. 인공지능에서는 n차원상의 공간에서의 한 점으로 표현을 합니다.(인공지능에서는 대부분 큰 차원의 벡터를 다루게 됩니다.) 벡터에 숫자(스칼라)를 곱해주면 길이만 변합니다. 이러한 여러개의 데이터를 한 줄에 담아 낼 수 있게 만든 것을 벡터라고 합니다. 벡터는 다음과 같이 표현 합니다. 벡터의 덧셈과 뺄셈 벡터끼리 덧셈과 뺄셈은 서로 대응하는 성분끼리 덧셈 뺄셈을 합니다..

[인공지능수학] 유클리드 거리

목표 유클리드 거리를 표현하는 방법을 살펴 보고 인공지능에서 어떤 식으로 사용되는지 알아 보자. 절댓값의 기호는 |x| 로 사용되며 유클리드 거리는 ||x|| 를 사용한다. 절댓값 절댓값은 수직선 위에서 원점으로 부터 어떤 수를 나타내는 점까지의 거리 절댓값은 |x| 로 표시하며 음이 아닌 실수의 값을 갖는다. 유클리드 거리 유클리드 거리는 두 점 사이의 거리를 계산할 때 사용하는 방법 (0,0)과 (x,y)의 두 점의 거리는 피타고라스 정리에 의해서 다음과 같은 거리를 계산 할 수 있다. 거리=√(x*x + y*y)​ (x1,y1) 와 (x2,y2) 의 두 점의 거리는 다음과 같이 계산 가능하다. 거리=√( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1))​ (x1,y1,z1) 와 (x2,..