목록파이썬 (62)
Note
문제 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. a,b = input().split() print(int(a)+int(b)) print(int(a)-int(b)) print(int(a)*int(b)) print(int(int(a)/int(b))) print(int(a)%int(b)) 입력값 : 7 3 출력값 : 10 4 21 2 1
Java Script Object Notation, JSON 경량의 데이터 교환 형식으로 프로그래밍 언어가 아닌 단순히 데이터를 표시하는 표현 방법. 자료형으로 string, number, true, false, null, object, array 가 올 수 있다. key (문자열) : value (기본 자료형, 객체, 배열)의 형태를 가지고 있다. { "나이" : 28, "이름" : "WJ", "취미" : ["축구", "음악"] } object는 중괄호{}, array는 대괄호[] key : value는 비순서, array는 순서 장점 내용이 함축적이므로 최소한의 정보만을 가지고 있으며, 용량이 적고 속도가 빠르다. 언어에 독립적이며 사용하기가 쉽다. 단점 함축적인 내용으로 의미 파악이 어렵다. 대용량..
역전파 과정에서 입력층으로 갈수록 기울기가 점차적으로 작아지는 현상이 발생할 수 있다. 입력층에 가까워질수록 가중치 업데이트가 잘 이루어지지 않는 것을 기울기 소실 ( Gradient Vanishing ) 이라고 한다. 반대의 경우를 기울기 폭주 ( Exploding ) 라고한다. 1. ReLU와 Leaky ReLU 시그모이드 함수를 사용할 때, 역전파 과정에서 기울기가 점차 사라져 제대로 작동하지 않는 기울기 소실이 발생할 수 있다. 1) 은닉층의 활성화 함수로 시그모이드를 사용하지 않는다. 2) Leaky ReLU를 사용하면 모든 입력값에 대해 기울기가 0에 수렴하지 않는다. 2. 그래디언트 클리핑 ( Gradient Clipping ) 기울기 값을 임계값이 넘지 않도록 잘라내어 임계치만큼 크기를 감..
1. 잠재 의미 분석 ( Latent Semantic Analysis, LSA ) 토픽 모델링을 위해 최적화된 알고리즘은 아니지만, 아이디어를 제공하여 밑바탕이 된 알고리즘이다. BoW에 기반한 알고리즘은 기본적으로 단어 빈도수에 기반한 수치화 방법이기 때문에 의미를 고려하지 못한다는 단점이 있는데, 의미를 고려하지 못하는 것을 보완하기 위해 잠재적인 의미를 끌어내는 방법으로 사용한다. 특이값 분해를 통해 차원을 축소하고 축소된 차원에서 근접 단어들을 토픽으로 묶는다. 2. 잠재 디리클레 할당 ( Latent Dirichlet Allocation, LDA ) LDA는 문서 집합으로부터 어떤 토픽이 존재하는지 알아내기 위한 알고리즘이며, 단어의 수는 신경 쓰지 않는다. 즉, 단어가 특정 토픽에 존재할 확률..
Word2Vec은 추론 기반 방법이다. 여기서 사용하는 추론이란 주변 단어나 맥락이 주어졌을 때, 무슨 단어가 들어가는지를 추측하는 것이다. 통계기반 방법의 단점 대규모 말뭉치를 다룰 때 메모리상의 문제가 발생한다. 한 번에 학습 데이터 전체를 진행한다. 학습을 통해서 개선하기가 어렵다. Word2Vec은 위 단점을 보완하기 위한 방법이다. 정의 - 단어간 유사도를 반영하여 단어를 벡터로 바꿔주는 임베딩 방법론이다. 원-핫 벡터 형태의 sparse matrix가 가지는 단점을 보완하기 위해 저 차원의 공간에 벡터로 매핑하는 것이 특징이다. - Word2Vec은 비슷한 위치에 등장하는 단어들은 비슷한 의미를 가진다라는 가정을 기반으로 학습을 진행한다. 1) CBOW 주변에 있는 단어들을 가지고 중간에 있는..