전과하고 나서 공부한 것 올려보겠다고 시작했는데 내용도 없으면서 괜히 강박이 생겼던 것 같다.매일 공부한 내용 올리는 것은 내가 게을러서 힘들 것 같고 시간될 때마다 현재 상황, 생각 써보려고 한다.10년 뒤에 보면 기록이 될 수 있으니깐
RNN(순환신경망) 에서의 용어
·
아무거나
RNN(순환신경망) : 데이터를 순환시킴으로써 과거, 현재, 미래로 데이터를 흘려보냄, 따라서 시계열 데이터와 같이 과거의 상황이 현재, 미래의 예측에 영향을 미치는 상황에서 사용할 수 있다. 자연어 처리 분야에서 많이 사용한다. 언어모델 : 단어에 확률을 부여해서 다음에 출현할 단어를 예측하는 모델 시계열 데이터 : 시간에 관계되는 데이터, 과거의 데이터가 현재, 미래에 영향을 준다. Perplexity(복잡도) : 언어모델을 평가하는 지표, 확률의 역수, 분기수라고 생각할 수 있다.
CNN(합성곱신경망) 에서의 용어
·
아무거나
합성곱(필터연산) : 필터를 일정 간격으로 이동하면서 입력데이터에 적용시키는 과정, 연산은 각 원소끼리의 곱을 더해준다. 필터를 적용시키는 과정은 기계학습, 완전연결계층에서 가중치와 입력데이터를 dot(점곱)해주는 것과 동일하다. 즉 CNN에서 필터는 가중치라고 생각할 수 있다. 패딩 : 합성곱 연산을 수행하기 전에 입력데이터 주변을 특정 값으로 채워주는 행위. 보통 0으로 채운다. 채우는 이유는 합성곱 연산을 하면 출력의 크기가 줄어드는데 패딩을 통해 입력데이터의 크기를 넓혀서 출력의 크기를 유지시키기 위함이다. 스트라이드 : 필터를 이동시키는 간격 완전연결계층(Affine 계층) : 완전연결 신경망에서 본 것, 인접하는 계층의 뉴런이 모두 연결되어 있는 계층 채널 : 3번째 차원의 특성. 이미지를 예..
차원 축소(Dimensionality Reduction), PCA
·
머신러닝
데이터 X의 차원(특성)이 너무 크면 모델을 만들고 예측하는데 너무 많은 연산량이 요구될 수 있고 정확도가 떨어질 수 있다. 이럴때 차원축소를 통해 중요한 특성 몇가지만 가지는, 좀 더 가벼운 데이터를 얻을 수 있다. 10,000차원 벡터로 표현되는 데이터 X가 linear mapping을 통해 10차원 벡터로 표현되는 데이터 Y가 되었다. 여기에서 linear mapping을 할 때 행렬 W를 곱해주는데 이 W를 찾는 것이 Linear Dimensionality Reduction에서 중요하다. 차원 축소는 아래의 상황을 통해 이해할 수 있다. 5차원 벡터로 표현되는 x는 각각의 basis 벡터와 x를 만드는데 어떤 basis 벡터가 더 크게 작용하는지에 대한 크기 S1,..,Sn을 통해 나타낼 수 있다..
군집(Clustering), K-평균 알고리즘(K-mean)
·
머신러닝
군집(clustering)은 label (정답)이 없는 상황에서 사용하는 비지도학습의 예이다. 모델 스스로 데이터들 간의 상관관계를 찾아서 비슷한 것끼리 묶는(군집) 방법으로 모델을 만든다. 데이터가 2차원으로 표현가능하다고 가정하자. 위의 그림처럼 데이터가 분포되어 있을 때 결정경계(빨간색)를 찾고, 새로운 데이터가 들어오면 어떤 그룹 속해 있는 것인지 판단하는 것이 군집의 목적이다. ### K-mean 알고리즘 ### 군집에서 많이 사용되는 알고리즘 중 하나가 K-mean 알고리즘이다. 그렇지 않은 다른 향상된 알고리즘이 있다고는 하지만 기본적으로 K-mean 알고리즘에서는 K(몇개의 그룹으로 나눌 것인지)를 사용자가 지정해주어야 한다. 밑의 상황에서는 K=5이다. K-mean 알고리즘에서는 평균(m..