본문 바로가기

분류 전체보기124

Feature scaling 과 머신러닝 학습 머신러닝 모델을 학습시키기 전 feature engineering 과정 중에 feature scaling을 하기도 한다.feature scale이 학습에 있어서 영향을 주기 때문인데,이번 포스팅에서는 feature scaling과 머신러닝 학습의 상관 관계에 대해 알아보도록 하겠다. Standardization과 Normalization먼저 feature scaling에 대표적인 방법인 standardization과 normalization에 대해 짚고 넘어가보자. Standardization (표준화)(표준화를 대체로 Z-score로 설명하기 때문에, 여기서도 Z-score를 기준으로 설명하겠다)표준화는 데이터가 표준정규분포의 속성(평균($\mu$)이 0이고 표준편차($\sigma$)가.. 2024. 4. 26.
ReLU의 활성 함수으로써의 사용과 미분 가능성 ReLU는 여러 딥러닝 모델에서 activation function으로써 쓰이고 있다. (ReLU에서 생기는 문제를 해결하기 위한 다양한 variation들이 있긴 하지만) $$ ReLU(x) = max(0, x) $$ 더보기 import numpy as np import matplotlib.pyplot as plt x = np.linspace(-5, 5, 100) y = np.maximum(0, x) plt.plot(x, y) plt.grid(True) plt.xlabel("x") plt.ylabel("ReLU(x)") 딥러닝에서는 모델 훈련 시 Gradient descent를 통해 Loss를 최소화하는 파라미터를 계산하는데, Gradient descent를 위해서는 미분값을 필요로 한다. 하지만 ac.. 2024. 4. 23.
엔지니어링 팀을 위한 Slack 테크 뉴스 피드 셋업 업무를 하면서 가끔 좋은 개발 아티클을 발견하면 엔지니어링 팀 메신저에 아티클을 공유하곤 한다. 그 아티클이 현재 회사에서 관심이 가는 기술이나 인사이트를 주는 글이라면 관련된 주제에 대해 논의의 장이 열리곤 한다. 이러한 공유는 분명 팀 내 커뮤니케이션 활성 및 좋은 개발자 경험, DX(Developer Experience)에도 도움이 된다고 생각한다. 하지만 매번 새로운 아티클이 올라왔는지 확인하고 공유하는 일은 꽤나 번거롭기도 하고 블로그 목록을 관리하는 것도 쉽지 않다. 이번 포스팅에서는 Slack 메신저에서 테크 뉴스 피드를 셋업하는 방법에 대해 알아보도록 하겠다. 이를 통해서 다양한 블로그나 사이트의 새로운 아티클을 Slack으로 받아볼 수 있다. GeekNews Slack bot GeekN.. 2024. 3. 4.
Perceptron perceptron은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 아래는 2개의 입력을 받는 perceptron이다. $ x $ : 입력 $ w $ : 가중치(weight)로 말 그대로 해당 입력이 얼마나 중요한지를 나타낸 값이다. 이 값이 크면 출력에 영향을 더 크게 미친다. $ b $ : 편향(bias)으로 해당 뉴런이 얼마나 쉽게 활성화될 수 있느냐를 조절하는 값이다. 이 값이 크면 입력이 작더라도 활성화될 수 있다. $ y $ : 출력 출력의 경우 노드에 전달된 값의 합이 0을 넘을 때 1을 출력하며, 0을 넘지 않으면 0을 출력한다. 그러면 이 임계값에 대해서는 아래와 같이 나타낼 수 있다. $ y = \begin{cases} 0 & \text{if } w_1x_1 + w_2x_2 +.. 2024. 3. 3.
Gradient Descent Gradient descent(경사하강법)란 함수의 특정 위치에서 함수의 경사(기울기)를 구하고 그 반대 방향으로 이동하는 것을 반복함으로써 함수의 최소값을 찾아가는 알고리즘이다. 앞서 Gradient 벡터에서 살펴보았듯 Gradient를 사용하면 특정 지점에서 가장 기울기가 가파른 곳으로 향하는 벡터를 구할 수 있기 때문에 이 반대로 이동한다면 값이 줄어드는 원리를 사용하는 것이다. https://devs0n.tistory.com/152 Gradient Vector 다음과 같은 다항식이 있을 때 $$ f(x, y)=x^2+2 x y+y^2 $$ Gradient 벡터는 각 항에 대한 편미분을 원소로 갖는 벡터의 형태를 가진다. $$ \nabla f(x, y)=\frac{\partial f(x, y)}{\.. 2024. 3. 3.
Gradient Vector 다음과 같은 다항식이 있을 때 $$ f(x, y)=x^2+2 x y+y^2 $$ Gradient 벡터는 각 항에 대한 편미분을 원소로 갖는 벡터의 형태를 가진다. $$ \nabla f(x, y)=\frac{\partial f(x, y)}{\partial x} \vec{i}+\frac{\partial f(x, y)}{\partial y} \vec{\jmath} $$ 여기서 𝑖 는 x축, 𝑗 는 y축에 대한 단위벡터이다. 이 Gradient 벡터는 어느 지점에서의 기울기를 나타내는 벡터이며, $ f(x, y) $ 의 특정 지점에서 기울기가 가장 가파른 곳으로 향하는 벡터이다. 그래프로 확인해보면 아래와 같다. 먼저 $ f(x, y) $를 확인해보자. 수식적인 표현이 아니더라도 $ f(x, y) $ 그래프를 .. 2024. 2. 19.