일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 블레이드 템플릿
- laravel
- phpredis
- rabbitmq
- deep learning
- nodejs
- Node
- AWS
- CentOS
- SQL
- Babel
- javascript
- fastapi
- For
- docker
- Redis
- linux
- Go
- nginx
- Redux
- mariadb
- Backbone.js
- 기초 수학
- python
- webpack
- php
- NCP
- React
- Machine Learning
- Switch
- Today
- Total
목록AI/기초 수학 (23)
개발일기
합성곱(Convolution) 연산합성곱 연산은 두 개의 함수 또는 신호를 결합하여 새로운 결과는 만드는 연산이다. CNN에서는 입력 데이터(이미지, 신호 등)와 필터를 사용하여 중요한 특징을 추출하거나 데이터를 변환시킨다. 필터를 입력 데이터 위에서 슬라이딩하여 데이터를 하나씩 곱하고 더하여 특징을 추출한다.$ f(x) $: 입력 신호로 처리하려는 데이터다.(이미지, 숫자 데이터 등)$ g(x) $: 입력 데이터를 분석하거나 변형하는 필터이다.슬라이딩: $ g(x) $를 $ f(x) $ 위에서 왼쪽에서 오른쪽 방향으로 조금씩 이동한다. 이동하면서 겹치는 부분이 있으면 겹치는 부분의 값을 곱하고 더한다. 마지막 부분에 도달할 때까지 반복한다. 간단한 수학 예제로 살펴보면 더 쉽게 이해할 수 있다.입력 신..
Sigmoid 함수sigmoid 함수는 입력값을 0과 1사이의 값으로 변환하는 비선형 함수로 주로 이진 분류 문제에서 확률을 계산하여 참, 거짓을 판단하기 위해 사용된다. 출력값의 범위가 0과 1사이에 있으며 0%~100%와 같이 확률적인 의미로 표현될 수 있다. 만약 함수의 출력값이 0.9라면 해당 입력이 참(1에 수렴하는)에 속할 확률이 90%인 것을 의미한다. 이와 반대로 출력값이 0.2라면 거짓(0에 수렴하는)에 속할 확률이 80%라는 것을 의미한다. 또한 sigmoid 함수는 비선형 함수이기 때문에 0과 1 주변에서는 기울기가 완만한 S자 모양의 그래프를 가진다.수학 수식으로는 $ \sigma(x) = \frac{1}{1 + e^{-x}} $로 표현한다.$ sigma(x) $: $ \sigma ..
데이터 정규화(Data Normalization)머신 러닝에서 데이터를 학습시키기 전에 데이터들을 정규화(Normalization)해야 한다. 보통 데이터는 특성마다 다른 수의 범위를 가지고 있다. A특성에서는 수의 범위가 0~1인 반면에 B특성에는 수의 범위가 20 ~ 3000 이런 식으로 이뤄질 수 있다. 데이터 크기의 불균형으로 인해 특성별 우선 순위가 잘못된 방향으로 설정될 수 있다. 이를 방지하고 모델을 제대로 학습시키기 위해 학습 전 데이터 정규화를 진행한다. 로 사용하는 정규화는 Min-Max Normalization 또는 Z-Score Normalization이 있다.Min-Max Normalization: 특성 범위 내의 데이터 중에서 가장 작은 수는 0으로 변환하고 가장 큰 수는 1로 ..
ROC(Receiver Operating Characteristic) CurveROC(Receiver Operating Characteristic) Curve는 이진 분류 모델의 성능을 평가하는데 사용되며 모델의 각 임계값(Threshold)에 따른 성능을 시각적으로 나타내는데 사용된다. 이전 망고 예측 예제를 예시로 아래의 표를 살펴보자. 0은 사진 속 과일이 망고가 아닌 경우고 1은 사진 속 과일이 망고인 경우를 의미한다. y $ \hat y $ 0.3 Threshold 0.5 Threshold 0.7 Threshold 00.30(True Negative)0(True Negative)0(True Negative)10.51(True Positive)0(False Negative)0(False N..
혼동 행렬(The Confusion Matrix)는 이진 분류 모델의 성능을 평가하는데 사용되며 예측 결과와 실제 결과의 차이를 비교하여 시각적으로 표현한 2x2 행렬을 의미한다. 혼동 행렬이라 불리는 이유는 알고리즘의 혼동으로 인해 오류를 시각적으로 보여주기 때문에 혼동 행렬이라 불린다. actual y 1actual y 0predicted y 1True PositiveFalse Positivepredicted y 0False NegativeTrue Negative혼동 행렬은 위와 같이 표현하며 가로는 예측값을 나타내며 세로는 실제값을 나타낸다. 망고를 예시로 들면 사진 속의 과일이 망고가 맞으면 1이고 망고가 아니면 0이다. 여기서 예측값은 머신 러닝 알고리즘의 예측값을 의미한다. 사진 속 과일을 예..
머신 러닝에서 적분(Integration)이란?적분은 함수의 넓이, 부피, 길이 등을 계산하는데 사용되는 개념으로 머신 러닝에서는 함수 그래프의 곡선 아래 영역에 대한 내용을 다룬다. 머신 러닝에서 적분은 ROC라 불리는 곡선 아래 영역을 구할 때 사용하거나 확률 변수의 기댓값을 구할 때 사용된다.import matplotlib.pyplot as pltimport numpy as npdef f(x): return x**2 +2*x + 1 # x^2 + 2x + 1x = np.linspace(0, 10)y = f(x)fig, ax = plt.subplots()ax.plot(x, y)ax.set_ylim(bottom=0) # 0보다 작은 y축 요소는 표시하지 않음ax.set_xlim(right=10) ..
선형 회귀 모델에 적용편미분을 활용하면 다변수 함수의 편미분 값 계산이 가능하다는 것을 알 수 있다. 이를 선형 회귀 모델에 적용시켜 경사도 벡터를 구한 후, 이를 활용하여 비용 함수를 최소화시킬 수 있다. 비용 함수를 최소화시키기 위해 사용하는 최적화 알고리즘으로 경사 하강법을 주로 사용하며 이를 통해 해당 모델에 주어진 m과 b 파라미터의 적합한 값을 구해낼 수 있다. 비용 함수(Cost Function)먼저 $ y = mx + b $ 라는 함수에서 $ x $ 를 입력 변수, $ y $ 를 출력 변수라면 $ x $ 값의 변화에 따라 $ y $ 값이 종속되어 결정된다. 이에 $ x $를 독립 변수, $ y $ 를 종속 변수라 칭한다. 독립 변수 $ x $ 가 1일 때, 종속 변수 $ y $ 가 5라면 ..
편미분에 연쇄 법칙을 적용하여 다변수 함수의 편미분값을 구하는 과정을 수식을 통해 알아보자. 먼저 $ y = f(u, v) $ 라는 함수가 있을 때 함수를 구성하는 u, v가 $ u = g(x, z) $, $ v = h(x, z) $ 함수로 존재한다고 가정하자. 연쇄 법칙을 통해 y에 대한 x 편미분 값을 구하는 과정은 순차적으로 수식을 나열하여 계산 과정을 파악할 수 있다.y에 대한 x의 편미분 값을 계산 과정을 순차적으로 나열하면 다음과 같다.y에 대한 u 편미분 값을 구한다.u에 대한 x 편미분 값을 구한다.이에 추가적으로 y에 대한 v 편미분 값을 구한다.v에 대한 x 편미분 값을 구한다.함수 u와 v 모두 x라는 변수를 담고 있기에 두 함수 모두를 거치는 연쇄 법칙이 작용한다. 이를 수식으로 나..