일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Python
- 딥러닝
- sort
- Heap
- select
- Sigmoid
- boj
- Numpy
- skip-gram
- PPMI
- 자연어처리
- FullyConnectedLayer
- Programmers
- 신경망
- 프로그래머스
- SQL
- DeepLearning
- dl
- backward
- 파이썬
- Stack
- algorithm
- hash
- CBOW
- affine
- stak
- que
- kakao
- MySQL
- Word2vec
- Today
- Total
목록전체 글 (105)
혜온의 이것저것
한국어와 영어 등 우리가 평소에 쓰는 말을 자연어(natural language)라고 한다. 자언어처리(NP)는 우리의 말을 컴퓨터에게 이해시키기 위한 기술이다. 자연어는 프로그래밍 언어와 달리 똑같은 의미의 문장도 여러 형태로 표현할 수 있고, 문장의 뜻이 애매할 수 있듯이 그 의미나 형태가 유연하게 바뀐다. 컴퓨터에게 자연어를 이해시킬 수 있다면 수많은 사람에게 도움되는 일을 컴퓨터에게 시킬 수 있다. 그 예로 대표적인 것이 검색엔진이나 기계 번역이다. 이 밖에도 질의응답 시스템, IME(입력기 전환), 문장 자동요약과 감정분석 등 우리 주변에는 이미 자연어 처리 기술이 널리 사용되고 있다. 2.1.1 단어의 의미 우리의 말은 문자로 구성되며, 말의 의미는 단어로 구성된다. 단어가 최소 단위인 셈ㅇ다..
[문제 이해 및 풀이] 후보키가 될 수 있는 수는 1개부터 relation의 column수까지 가능하다. column의 수를 받아와 조합(combination)을 만들어주어 후보키가 될 수 있는 후보들을 combi에 저장해두었다. combi에 저장해둔 후보들을 한번씩 돌면서 그 값에 해당하는 변수들을 뽑아 튜플형태로 lst에 저장해주었다. 튜플형태로 저장하지 않을 경우에는 set()을 사용할 때 원하는 결과를 얻을 수 없기 때문에 같은 인덱스로 묶인 값끼리 함께 처리될 수 있도록 하기 위해서 튜플이 필요하다. lst에 저장된 값과 lst에 set을 적용한 것의 길이가 같을 경우는 유일성이 만족되므로 flag를 True로 설정해주었다. flag가 True은 경우에는 해당하는 인덱스의 값을 check리스트에..
신경망의 학습과 추론에 드는 연산량은 상당하다. 그래서 신경망에서는 얼마나 빠르게 계산하느냐가 매우 중요한 주제이다. 1.5.1 비트 정밀도 넘파이의 부동소수점 수는 기본적으로 64비트 데이터 타입을 사용한다. (OS나 파이썬/넘파이 버전 등에 따라 바뀔 수 있음) 실제로 64비트 부동소수점 수가 사용되는지 다음 코드를 통해 확인 가능하다. import numpy as np a=np.random.randn(e) a.dtype # dtype('float64') 넘파이는 64미트 부동소수점 수를 표준으로 사용한다. 그러나 신경망의 추론과 학습은 32비트 부동소수점 수로도 인숙률을 거의 떨어뜨리는 일 없이 수행할 수 있다고 한다. 메모리관점에서는 항상 32비트가 더 좋다고 말할 수 있고, 신경망 계산 시 데이..
1.4.1 스파이럴 데이터셋 import sys sys.path.append('..') from dataset import spiral import matplotlib.pyplot as plt x,t=spiral.load_data() print('x',x.shape)#입력데이터 (300,2) print('t',t.shape)#정답레이블 (300,2) t는 원핫 벡터로, 정답에 해당하는 클래스에는 1이, 그 외에는 0이 레이블 되어 있다. 이 데이터가 어떤 모습인지 그려보면 아래와 같다. 입력은 2차원 데이터이고, 분류할 클래스 수는 3개가 있다. 이 그래프를 보면 직선만으로는 클래스들을 분리할 수 없음을 알 수 있다. 따라서 비선형 분리를 학습해야 한다. 1.4.2 신경망 구현 은닉층이 하나인 신경망을 ..
학습되지 않은 신경망은 좋은 추론을 해낼 수 없다. 그래서 학습을 먼저 수행하고, 그 학습된 매개변수를 이용해 추론을 수행하는 흐름이 일반적이다. 신경망의 학습은 최적의 매개변수 값을 찾는 작업이다. 1.3.1 손실함수 신경망 학습에는 학습이 얼마나 잘 되고 있는지를 알기 위한 척도가 필요하다. 일반적으로 학습단계의 특정 시점에서 긴경망의 성능을 나타내느 척도로 손실(loss)을 사용한다. 손실은 학습 데이터와 신경망이 예측한 결과를 비교하여 예측이 얼마나 나쁜가를 산출한 단일 값이다. 신경망의 손실은 손실함수(loss function)를 사용한다. 다중 클래스 분류 신경망에서는 손실함수로 교차 엔트로피 오차(Cross Entropy Error)를 이용한다. 교차 엔트로피 오차는 신경망이 출력하는 각 클..