반응형

⚡AI

    eigen vector & eigenvalue

    1. 고유값(eigen value)와 고유벡터(eigen vector)이 무엇이고 왜 중요한지 설명해주세요. nxn 행렬 A를 선형 변환으로 봤을 때, A에 의한 변환 결과가 자기 자신의 상수 배가 되는 0벡터가 아닌 벡터를 eigenvector라 하고 이 상수배 값을 eigenvalue라 한다. 선형 변환(Linear Transformation) : 선형 결합을 보존하는, 두 벡터 공간 사이의 함수 T(a+b) = T(a) + T(b), T(ca) = cT(a)를 만족하는 변환. 즉, 아래와 같은 식을 만족하는 열벡터 v를 eigenvector, 상수람다를 eigenvalue라 한다. $$ Av = \lambda v $$ 이때, eigen vector, eigen value는 행렬의 가장 중요한 정보를..

    [DL]Optimizer

    Intro Optimization, Optimizer, Adam, SGD 등등 다들 많이 들어본 단어같긴 한데 대체 뭘 하는 녀석들일까요? 먼저, Optimize의 사전상 뜻은 최대한 좋게[적합하게] 만들다입니다. 과연 뭘 최적화한다는 것일까요? Optimization은 딥러닝뿐 아니라 수학, 물리같은 분야에서 함수를 모델로 한 시스템의 함수 값 등을 최소/최대화 되는 상태를 해석하는 문제에서 사용됩니다. 딥러닝에서는 주로 모델링한 것들의 cost(loss값 등)를 최소화하는데 사용되고 이는 학습속도를 높이거나 안정된 방향으로 학습이되도록 도와줍니다. Gradient Decent Methods 우리가 가장기초적으로 알고있는 Gradient Decent도 어떻게 사용하냐에 따라 다른 결과를 가져올 수 있습..

    [DL]딥러닝 개요

    Intro 딥러닝(Deep Learning, DL)이란 무엇일까? 아래는 위키피디아의 정의이다 딥러닝은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계학습의 한 분야이다(출처 : wikipedia) 여기저기서 많이 들어본 말로 표현하자면, 흔히 알고있는 인공신경망(neural networks)을 통해 학습시키고 원하는 결과를 얻어내는 작업들이다 Key Components of Deep Learning 딥러닝에서 가장 중요한 4가지 요소가 있다 1. 데이터 모델이 학습할 수 있는 데이터가 필요하다. 아마 가장 중요하다고 말할 수 있는 부분이다, 딥러닝은 데이터가 성능을 좌우한다고..

    공분산과 상관계수

    공분산(covariance)과 상관계수(correlation coefficient) Intro 세상에 대부분의 것들은 서로 독립적이지 않다. 서로 아무 관련도 없어 보이는 것들 조차도 알고보면 관련이 있을 때도 있다. 서로 얼마만큼의 연관이 있는지 알 수 있는 방법이 있을까? 단순히 A가 올라갈 때 B도 올라가니 서로 연관이 있어! 같은 무식한 소리는 하면 안되니 이에 대해 아라보자 공분산 집 앞 편의점 매출데이터를 살펴보자, X = 맥주 판매량, Y = 마른안주 판매량이라 가정해보자, 편의점 사장님께 둘은 연관이 있으니 맥주가 많이 팔리면 마른안주의 발주량을 늘리라거나 마른안주가 많이 팔리면 맥주를 늘리라고 조언을 해드렸다. 과연 어떻게 됐을까? 썩 꺼지고 다음부터 오지말라는 소리를 들었다. 사장님이 ..

    딥러닝을 위한 통계학 맛보기

    Q) 통계적 모델링의 목표는 무엇일까? 적절한 가정 위에서 확률분포를 추정하는 것이 목표이다! 이는 머신러닝과 통계학이 공통적으로 추구하는 목표와 같다 But, 모든 데이터를 관측하기는 힘들다 그렇다고 해서 일부 데이터만 보고서 모집단의 분포를 정확하게 알아낼 수도 없다. 그렇기에 우리는 근사적으로 확률분포를 추정하는 수 밖에 없다!!! 정확하게 분포를 맞추는 것이 아닌 데이터와 추정 방법의 불확실성을 고려해 리스크를 최소화하는 것이 목적이다 모수적 방법론 vs 비모수방법론 모수적(parametric)방법론 : 데이터가 특정 확률분포를 따른다고 선험적(a priori)가정한 후 그 분포를 결정하는 모수를 추정하는 방법 비모수방법론 : 특정 확률분포를 가정하지 않고 데이터에 따라 모델의 구조 및 모수의 개..

    딥러닝을 위한 확률론 맛보기

    딥러닝에서 확률론이 필요한 이유는 무엇일까? 딥러닝은 확률론 기반의 기계학습 이론에 바탕을 두기 때문 손실함수(loss function)들의 작동 원리는 데이터 공간을 통계적으로 해석해서 유도하기 떄문 우리의 목표는 결국 정답을 맞추는 것인데 예측이 틀릴 위험을 최소화하려면 통계적 기계학습의 방법을 사용해야한다. 이에 대한 예시는 다음과 같으며 이는 오차 또는 불확실성을 최소화하도록 유도한다 회귀분석에서 사용되는 loss func으로 사용되는 L2 분류 문제에서 사용되는 cross-entropy 결국 분산 및 불확실성을 최소화하기위해서는 기준을 세워야 하고 이를 측정하는 방법을 알아야한다 이 때, 두 대상을 측정하는 방법을 통계학에서 제공한다! 확률변수 확률변수는 확률분포에 따라 이산형(discrete)..

    딥러닝 학습방법(비선형모델 학습)

    비선형모델의 학습방법을 AraBoza 아래와 같이 데이터 X와 가중치 W사이의 행렬곱과 bias b벡터로 구성된 식이 있다고 가정해보자 이 때 우리는 W와 b를 수정해나가면서 정답과 가까운 O를 예측하는 것이 목표이다! 계산 결과를 살펴보면 n차원이던 X벡터가 p차원으로 변환되는 것을 살펴볼 수 있다. 다중분류 문제를 풀기위해서 출력벡터 O에 소프트맥스(softmax)라는 함수를 합성하면 특정 클래스에 속할 확률로 해석할 수 있는 확률벡터로 변환해준다 아래는 소프트맥스를 합성한 식이다. 추론을 할 때는 원-핫(one-hot)벡터를 사용해 sofrtmax를 사용하지는 않는다 one-hot벡터 : 최대값을 가진 주소를 1로 나머지를 0으로 표현 여기까지만 본다면 우리는 단순히 선형모델을 푸는 것밖에 되지 않..

    경사하강법(Gradient Decent)

    경사하강법에 대해 Araboza 최적화 문제를 다루기 위해 목적함수를 설정하고 우리는 목적함수(손실함수)의 손실을 최소화가 필요하다 이 때 경사하강법을 사용할 수 있따! 경사하강법은 기울기 변화를 통해 함수의 최솟값을 찾는 알고리즘이다 먼저 경사하강법에 대해 알기 위해 미분의 개념이 필요하다 Def) 미분(Differential) 어떤 운동이나 함수의 순간적인 움직임을 서술하는 방법, 그것의 도함수를 도출해내는 과정으로 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로 최적화에 자주 쓰임 아래는 파이썬의 sympy 라이브러리를 이용한 미분계산 과정이다 import sympy from sympy.abc import x sym.diff(sym.ply(x**3 + 3*x**2 + 3 ), x) 다변수..