2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

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

[인공지능수학] 호도법/도수법 실습하기

https://wondangcom.tistory.com/2135 에서 도수법과 호도법에 대해 살펴 보았습니다. 이번 시간에는 도수법과 호도법을 파이썬으로 변환하는 방법에 대해 살펴 보도록 하겠습니다. 1. 도수법 -> 호도법 도수법 60도를 호도법인 deg로 나타내는 방법을 살펴 보도록 하겠습니다. import numpy as np import math deg1 = 60 * math.pi / 180 print(deg1) deg2 = np.deg2rad(60) print(deg2) deg3 = math.radians(60) print(deg3) deg1 은 1도 = pi/180 이므로 직접 연산을 한 값 deg2은 numpy 에서 제공하는 deg2rad 메서드로 연산을 한 값 deg3은 math 함수에서 ..

[인공지능수학] 등차수열의 합 실습하기

등차수열이란? 앞과 뒤의 두 항의 차이가 일정한 수열을 말합니다. 11,14,17... 은 두 항의 차이(공차)가 3으로 일정한 등차 수열입니다. 이러한 등차 수열에서 n번째 항의 값 = 초항 + (n-1) * (공차) 예를 들어 1 부터 시작하는 공차 1인 수열이라면 1,2,3,... 과 같이 진행 되는데 10번째 항의 값을 구하려면 초항 1의 9번째 뒤의 값이므로 (10-1)번째 * 공차(1) 을 더해 주면 10이라는 수를 구할 수 있습니다. 등차수열의 합은 (초항 + n번째 항의값) * n(개) / 2로 확인을 할 수 있는데 이 공식은 가우스가 초등학교 3학년때 1부터 100까지의 수를 더하라는 선생님의 문제에 1과 100을 짝짓기 해서 50개를 만들어서 곱셈으로 풀었다는 그 유명한 공식입니다. 오..

[인공지능수학] 함수의 개념 실습하기

함수의 개념 이해하기 - https://wondangcom.tistory.com/2123 [인공지능수학] 함수의 개념 함수의 개념 집합 A,B에 대해 집합 A에서 B로 가는 관계가 성립 할 때, 집합 A의 원소 a에 대해 집합 B의 원소 b 하나가 대응 되는 관계, 즉 입력값(정의역)에 의해 하나의 결과값(치역)이 존재하는 wondangcom.com I. 1차 함수 fx = 3x + 10 형태의 그래프 실습 1. x의 값을 1~10까지의 데이터 생성하기 import numpy as np import matplotlib.pyplot as plt x = np.linspace(1,10,10) print(x) numpy 모듈의 linspace() 함수는 1차원의 배열을 만들어 주는 함수이다. Linearly S..

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

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| \over |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) = \( 3 \over 36 \) = \( 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 는 단위행..