본문 바로가기

자연어 처리 과정

(62)
Overfitting과 underfitting 그리고 regularization 개요 데이터를 학습하는 과정에서 발생하게 되는 overfitting과 underfitting이 무엇인지에 대해 알아보자. 그리고 그 overfitting과 underfitting을 해결할 수 있는 방법은 무엇인지 알아보자. Overfitting과 underfitting 인공지능 분야에서 가장 골치 아픈 문제라고 봐도 무방하다고 한다. 이 overfitting과 underfitting이라는 문제는 데이터셋을 학습하는 과정에서 발생한다. 우리는 지도학습의 과정으로 훈련 데이터를 기계에게 학습시킨 다음 검증을 하고 테스트를 한다. 이 과정에 있어서 훈련 데이터에 대해 학습을 진행하는 것은 필수적이다. 검증 데이터셋과 테스트 데이터셋에서 사용할 최적의 가중치를 얻을 수 있기 때문이다. 이때, 훈련 데이터에 있어..
Softmax function and cross-entropy loss 개요 multi-class classification 상황에서는 예측값을 구할 때 보통 sigmoid function을 사용하지 않고 Softmax function을 사용한다고 한다. 그리고 이 softmax function을 사용하기 위해서는 cost function으로 cross-entropy loss function을 사용한다고 한다. 이에 대해 알아보자. Sigmoid function 복기 binary classification에서 사용했던 sigmoid function에는 1개의 feature값만 넣어서 확률을 계산할 수 있었다. 즉, y = 1일 때 sigmoid function에 feature값을 넣어 y=1일 때에 feature도 1일 상대적 확률을 나타냈다. 우리는 x 대신 z로 정의했고..
Cost function for Logistic regression 개요 지도 학습에 속하는 Regression과 Classification 중 Classification의 범주에 들어가는, Logistic regression에 대해 알아보았다. 우리는 보통 우리에게 주어진 task를 해결하기 위해 아래와 같은 과정을 겪게 된다고 한다. 다양한 모델 중에서 한 가지를 선택 다양한 cost function 중에서 한 가지를 선택 gradient descent 과정을 진행 최적의 가중치 획득 이 과정에서 우리는 스팸 메일, 악성 종양 등의 분류를 위해 classification의 logistic regression model을 택했다. 이제 cost function에 대해 알아볼 시간이다. Linear regression에서 만났던 cost function Linear re..
Feature scaling에 대해 개요 Feature scaling이란 무엇인지, 언제 쓰이는 것인지 알아보자. Feature scaling이 필요한 이유 각 feature에는 저장되어 있는 데이터가 존재할 것이다. 예를 들어, 집값을 예측하는 모델을 만들기 위해서 데이터셋을 준비한다고 해보자. 땅의 크기, 건축년도, 방의 개수 등의 다양한 feature들이 집값 예측에 영향을 줄 것이다. 생각해보면 이 3개의 feature들은 모두 data값의 단위가 달라서 scale이 천차만별이다. 땅의 크기와 건축년도는 둘 다 천의 자리 숫자로 나오기에 그렇다고 쳐도 땅의 크기와 방의 개수를 비교해보자. 아래와 같은 데이터쌍이 존재한다고 해보자. 땅의 크기: 190m^2 방의 개수: 5개 각 데이터를 위한 단위 자체가 다르기에 값의 scale에 차..
경사하강법 개요 머신러닝 중 선형회귀에서 쓰이는 방법론인 경사하강법이 무엇인지 알아보자. 지도학습인 선형회귀의 경사하강법으로 어떻게 데이터의 값에 가장 근접하게 예측할 수 있을까? 경사하강법? 경사하강법은 linear regression의 방법론이다. 지도학습 중 하나인 linear regression의 방법론답게 학습을 위해서는 학습데이터가 주어져야 한다. 그 주어진 학습 데이터로 학습을 한 그 모델로 새로운 데이터가 들어왔을 때 근사한 해를 예측할 수 있도록 한다. 경사하강법의 과정 그렇다면 이제 경사하강법은 어떻게 적용되는 것인지 알아보자. 일단 우리가 원하는 것은 훈련데이터와 우리가 그린 직선이 가깝게 붙어있는 것이다. 위의 그림을 보면 직선과 훈련데이터들의 값이 많이 떨어져있는 것으로 보인다. 그 떨어져있..
determinant가 0이라는 것의 의미는? 개요 determinant가 0이라는 것은 무엇을 의미하는 걸까? 물론 역행렬이 없다는 걸 의미한다. 하지만, 이걸 기하학적으로 이해한다면, determinant가 0인 벡터는 어떤 모습일까? 기하학적으로 determinant는 어떤 수치일까? determinant란? 일단 matrix는 linear transformation으로 바라볼 수 있다. 그래서 Ax=b로 A라는 선형 변환이 벡터 x에 변환을 일으켜 벡터 b가 된다는 걸 배웠다. 선형 변환의 과정에서는 분명 벡터에 어떤 "변화"가 일어난다. determinant는 그 변환의 정도를 나타낸다. 변환의 정도를 나타내는 대상은 2가지가 있다. 1. 부피 2. 방향 즉, 선형 변환 A가 벡터 x에 부피와 방향의 측면에서 변환을 일으킨 결과가 바로 벡터..
SVD의 이해 개요 SVD라는 건 무엇인지 알아보자. SVD란? 지금까지 행렬을 분해하는 방법으로서 한 가지를 배웠는데, 그것은 바로 eigendecomposition이다. eigendecomposition의 수식은 A = VΛV^-1로 나타낼 수 있었다. 그리고 수식에 대한 이해를 해보자면 선형 변환 A를 3개의 layer로 쪼개는데 V는 벡터를 회전시키고, Λ는 벡터를 scaling하는 역할을 맡는다. (V^-1도 마찬가지로 회전이지만 반대 방향으로 회전하는 것이다.) 이런 행렬 분해법인 EVD는 사용하기 위해서 약간의 제약 조건들이 있었다. A가 Diagonalizable 해야 eigendecomposition을 가질 수 있다. A는 무조건 square matrix여야 한다. V는 무조건 invertible 해야..
Change of basis의 이해 개요 개인적으로 정말로 정말로 정말로 이해하기 힘들었던 linear transformation에 의한 change of basis를 알아보기로 하자. 일단 선형 변환 A가 벡터 x를 통과해서 벡터 b가 된다는(Ax=b) 이 말을 제대로 이해를 할 필요가 있다. 나는 이게 무슨 말인지 알고 있는 줄 알고 넘어갔는데, 알고 보니 그냥 의미를 아예 모르는 거였다. 그래서 change of basis를 이해하는 데 엄청 애를 먹었던 것 같다. 물론, 100%로 change of basis, linear transformation을 이해했다고는 못하겠다. 그냥 이제야 좀 무슨 말인지 알겠다는 말이다. 밑바탕이 될만한 지식 그럼 Ax=b라는 게 도대체 뭘까? 선형대수학을 시작할 때 알려준 내용인 것 같은데 지금까지..
Eigendecomposition의 기하학적 이해 개요 Eigendecompostion이 뭔지 조금 살펴보고 Eigendecompostion을 기하학적으로 이해해보자. Eigendecompostion? 선형 변환과 함께 이해하자. Linear transformatioin 즉, 선형 변환 A를 고윳값으로 분해를 해볼 수 있다는 것이 바로 eigendecompostion이 의미하는 바이다. 일단 선형 변환의 의미를 잘 알아야 기하학적 해석에서도 이해를 할 수 있을 것 같다. 나는 선형 변환과 change of basis를 제대로 이해하지 못한 상태에서 eigendecompostion에 대해 설명을 들었다. 이해하기가 개인적으로 너무 어려웠다. 사실 지금도 제대로 이해했는지 확실하지는 않다... 가볍게 선형 변환을 짚고 넘어가보자면, Ax=b꼴이 있다고 가정..
Gram-schmidt process를 알아보자. 개요 Gram-schmidt가 뭔지 알아보자. 그리고 Gram-schmidt가 진행되는 과정을 살펴보자. 과정을 살펴보고 마지막엔 Gram-schmidt를 통해 얻은 벡터에 대해 알아보자. Gram-schmidt란 뭘까? 우리는 Ax=b의 해가 존재하지 않을 때 Least square로 최적의 솔루션을 얻을 수 있는 수식인 x = (A^TA)^-1A^Tb를 얻었다. 이 과정에서 우리는 무엇을 알 수 있었나? 뭔가 최적의 해를 구하려면 b와 최대한 가까운 지점을 찾아야 한다는 사실을 알았다. 위에서의 x를 이용하면 b = Ax로 최적의 b hat 지점을 찾을 수 있었으니까. 여기까지는 Least square의 내용이었다. Gram-schmidt와 무관하기는 하다. 그래도 Least square에서 gram..