밑바닥부터 시작하는 딥러닝 - 자연어(2)
벡터 간 유사도 이전 글에서 동시발생 행렬을 활용해 단어를 벡터로 표현하는 방법을 알아봤다. 이번 글에서는 벡터 간 유사도에 대해 알아볼 것이다. 벡터 사이의 유사도를 측정하는 방법은 다양하다. 대표적으로 벡터의 내적이나 유클리드 거리가 있다. 그 외에도 단어 벡터의 ...
벡터 간 유사도 이전 글에서 동시발생 행렬을 활용해 단어를 벡터로 표현하는 방법을 알아봤다. 이번 글에서는 벡터 간 유사도에 대해 알아볼 것이다. 벡터 사이의 유사도를 측정하는 방법은 다양하다. 대표적으로 벡터의 내적이나 유클리드 거리가 있다. 그 외에도 단어 벡터의 ...
이번 글부터는 자연어 처리에 대해 기초적인 것들을 알아볼 것이다. 한국어와 영어 등 우리가 평소에 쓰는 말을 자연어(Natural Language)라고 한다. 자연어 처리(Natural Language Processing)를 문자 그대로 해석하면 '자연어를 처리하는 분...
저번 글까지 신경망의 대해 알아보았다. 이번 글에서는 준비된 데이터셋으로 신경망을 학습시켜 볼 것이다. 스파이럴 데이터셋 Spiral(나선형) 데이터를 불러오는 클래스를 구현한다. import sys sys.path.append('..') from dataset imp...
신경망의 학습 손실 함수 신경망 학습에는 학습이 얼마나 잘 되고 있는지를 알기 위한 '척도'가 필요하다. 일반적으로 학습 단계의 특정 시점에서 신경망의 성능을 나타내는 척도로 '손실'을 사용한다. 손실은 학습 데이터(학습 시 주어진 정답 데이터)와 신경망이 예측한 결과...
지난 글에 이어 신경망에 대해 알아볼 것이다. 신경망에서 수행하는 작업은 크게 두 단계로 나눌 수 있다. '학습'과 '추론'이다. 이번 글에서는 '추론'에 대해 알아볼 것이다. 신경망의 추론 신경망 추론 그림 입력층에는 뉴런 2개, 출력층에는 뉴런 3개를 각각 준비한다...
벡터와 행렬 벡터 : 크기와 방향을 가진 양 숫자가 일렬로 늘어선 집합 1차원 배열로 취급 행렬 : 숫자가 2차원 형태로 늘어선 것 벡터와 행렬은 np.array() 메서드로 생성 가능 넘파이의 다차원 배열 클래스인 np.ndarray 클래스를 생성 ndim : 차원 ...
스태킹은 Stacked Generalizaion의 줄임말로, 여러 가지 머신러닝 기법으로 만들어진 예측기들의 예측을 취합하는 방법이다. 보팅처럼 간단한 함수를 사용하는 대신 이러한 여러 예측기의 예측을 입력으로 받아들여 이들을 취합하는 모델을 훈련하는 것이 기본적인 아...
부스팅 기법이란 여러 개의 약한 머신러닝 기법을 차례대로 학습하는 과정에서 오류를 개선해 가면서 최종 성능을 높여 가는 앙상블 기법이다. 부스팅 기법은 여러 나무를 병렬 방식으로 학습하는 랜덤 포레스트 등의 방식보다는 느릴 수밖에 없다. 그 이유는 여러 나무 또는 머신...