본문 바로가기

딥러닝 & 머신러닝/머신러닝 지식

(12)
자료구조 / 알고리즘 짧막 지식 for 면접 # 시간 복잡도 - Big-O 표기법: 알고리즘 최악의 실행 시간 표기. 아무리 최악의 상황이여도 이정도의 성능은 보장한다는 의미다. - 입력 n의 크기에 따른 순서: O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(2^n) # 배열 데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조 # 큐 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 자료구조. First In First Out # 스택 가장 나중에 넣은 데이터를 가장 먼저 꺼낼 수 있는 자료구조. Last In First Out # 링크드 리스트 물리적으로 떨어진 곳에 존재하는 데이터를 포인터, 즉, 다음 데이터를 가리키는 주소값을 이용해 연결하고 나열하는 데이터 구조. 배열은 미리 특정한 공..
통계학 짧막 지식 for 면접 # 확률이란? 여러 가지 가능한 결과 중 하나가 일어나는 실험에서, 그 중 일부가 일어날 가능성을 0과 1사이의 값으로 나타낸 것. # 조건부 확률이란? (conditional probability) 어떤 사건이 일어났다는 정보가 주어졌을 때, 또 다른 사건이 발생할 확률. 즉, 두 가지 사건에 대한 관계를 나타낼 때 쓰임. ex) 사건 B가 일어났을 때 사건 A가 일어날 확률 = P(A|B) = P(A,B)/P(B) = P(A∩B)/P(B) # 확률 변수란? (random variable) 특정 사건(=표본)들을 실수로 대응한 것. ex) 카드에서 A가 뽑힐 확률을 1, ... , king이 뽑힐 확률을 13으로 확률 변수로 대응하면 A가 뽑힐 확률은 P(X=1)로 표현 가능하다. 이때 카드 예시처럼 ..
선형대수학 짧막 지식 for 면접 # 머신러닝(또는 딥러닝)에서 선형대수학의 의미 행렬과 벡터를 이용해 수많은 데이터를 한번에 묶어 계산을 쉽게 도와준다. 묶인 데이터의 고유 특징들을 알려줌으로써 겉으로 보기 힘든 다양한 특성을 알려줌. 벡터라는 것은 크기와 방향을 가진 물리량. 머신러닝에서는 데이터 샘플들을 각각의 특징 벡터로 나타낸다. # 머신러닝(또는 딥러닝)에서 행렬이 어떻게 쓰이는가? 특징 벡터로 나타내어진 데이터 샘플들을 담아서, 데이터를 간결하게 표현하는데 쓰인다. (ex. 4개의 특징을 가진 붓꽃 샘플 150개 → (150, 4) 행렬) 또는 신경망의 가중치나, 데이터의 상관관계를 나타내는 공분산 표현에도 쓰인다. # 기저벡터(basis)의 의미 어떤 벡터 공간을 구성하는 벡터들의 기본재료, 기준. n차원에 존재하는 다른 ..
나이브 베이즈 분류기 (Naive Bayes Classifier) 이번 글에서는 나이브 베이즈 분류기(Naive Bayes Classifier)에 대한 이론적 지식을 알아보겠습니다. 베이즈 정리, 최대 우도 추정, 최대 사후확률 추정, 둘 간의 비교, '나이브'의 뜻, 라플라스 스무딩, 나이브 베이즈 분류기의 특징 순서로 정리하겠습니다. 1. 베이즈 정리 베이즈 정리(Bayes Theorm)는 이름에서도 알 수 있듯이, 나이브 베이즈 분류기의 근본이 되는 수학 정리입니다. 베이즈 정리는 두 사건 X, Y에 대한 조건부 확률(conditional probability) 간에 성립하는 확률 관계이며, 수식은 다음과 같습니다. 수식 중 P(X|Y), P(Y|X)라는 것이 바로 조건부 확률을 나타내는 표현입니다. 예를 들어 P(A|B)라는 확률은 사건 B가 일어났다는 가정 하..
예측 모델 : 회귀(Regression) 예측 모델은 주어진 변수들 사이의 상관관계를 찾아내어 어떠한 결과값을 예측하기 위한 모델입니다. 예측 모델로는 회귀(Regression) 모델과 분류(Classification) 모델이 있습니다. 회귀는 결괏값이 연속적인 값이고, 분류는 결괏값이 명확한 라벨(Label)이라는 차이가 있습니다. 이번 게시물에서는 그 중 회귀 모델에 대해서 간단히 알아보겠습니다. y = a1x1 + a2x2 + a3x3 위 식처럼 '회귀 계수(a)'를 '변수(x)'와 선형 결합해서 표현 가능한 모델을 선형 회귀 모델이라고 합니다. 반면 비선형 모델은 회귀 계수들을 선형 결합해서 표현하지 못하는 모델을 뜻합니다. 따라서 선형 회귀 모델은 모델의 형태가 반드시 "선형", 즉 직선 형태여야 합니다. 그것이 1개의 변수로 1개의 ..
바이어스와 분산 트레이드 오프 (bias and variance trade-off) 바이어스(Bias)와 분산(Variance)은 머신러닝에서 가장 중요한 통계 개념 중 하나입니다. 바이어스와 분산에 대한 정의를 기반으로, 머신러닝 모델이 데이터에 대해 가지게 되는 오류를 바이어스와 분산으로 나누어 설명할 수 있기 때문입니다. 바이어스란 머신러닝 모델이 잘못된 가정을 함으로써 생기는 오차입니다. 즉 바이어스가 크다는 것은 실제 데이터 분포와 모델이 예측한 데이터 분포 사이의 차이가 크다는 것입니다. 따라서 바이어스가 클수록 모델이 과소적합(underfitting)될 가능성이 높습니다. 분산이란 훈련용 데이터에 내재된 변동(fluctuation) 때문에 발생하는 오차입니다. 즉 훈련용 데이터 사이사이의 차이가 커서 값이 일정한 패턴을 보이지 않고 제멋대로 튄다면, 즉, '퍼진 정도'를 나..
선형 함수 (linear function) 선형 함수(linear function)란 데이터의 관계가 서로 직선 형태를 띠는 함수를 의미한다. ex) y = x, y = x+2, y = 2*x1 + 3*x2 -5, ... 그러나 엄밀히 말하면 superposition 형태를 만족할 때 선형 함수라고 말할 수 있다. superposition : f(a) + f(b) = f(a+b) 이 관점에서 보면, 다항 함수도 결국 선형 함수다. ex) y = x^2+1에서, x^2을 하나의 새로운 변수인 z로 치환하면 y = z+1이 되어 선형 함수가 된다. 따라서 이 관점을 채택한다면 단순 선형 회귀, 다중 선형 회귀라는 용어 뿐만 아니라 '다항 선형 회귀'라는 용어도 사용가능하다. 그러나 보통은 맨 처음의 설명을 많이 따르기에, '다항 회귀'라는 용어를 사..
L1, L2 Norm & L1, L2 loss & L1, L2 규제 # L1, L2 Norm Norm은 벡터의 크기를 측정하는 방법이고, 두 벡터 사이의 거리를 측정하는 방법이기도 합니다. L1 Norm은 서로 다른 두 벡터를 나타내는 각 원소들의 차이의 절댓값의 합입니다. L2 Norm은 서로 다른 두 벡터 사이의 유클리드 거리(직선 거리)입니다. # L1, L2 loss L1 loss는 실제값과 예측값 사이의 오차의 절댓값 합입니다. 그리고 L2 loss는 실제값과 예측값 사이의 오차 제곱 합입니다. L2 loss는 오차의 제곱 합을 더해나가기 때문에 Outlier(이상치)에 더욱 민감하게 반응합니다. 따라서 L1 loss가 L2 loss에 비해 Outlier에 좀 더 robust, 즉 둔감하다고 할 수 있습니다. 그렇기에 Outlier가 중요한 상황이라면 L1 lo..