일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- DeepLearning
- 신경망
- backward
- Heap
- skip-gram
- MySQL
- stak
- Word2vec
- Python
- 딥러닝
- dl
- que
- affine
- select
- PPMI
- Numpy
- FullyConnectedLayer
- sort
- SQL
- Stack
- Programmers
- 프로그래머스
- CBOW
- 자연어처리
- hash
- kakao
- algorithm
- Sigmoid
- 파이썬
- boj
- Today
- Total
목록Python (29)
혜온의 이것저것
문제 이해 및 설명 문제를 읽고 우선 종류에 따라 딕셔너리를 만들어줘야 겠다고 생각했다. 처음에는 리스트로 딕셔너리를 만들어주었다가 옷 이름은 별로 중요하지 않고 몇 개의 옷을 가지고 있는지가 중요해서 Counter를 사용하여 종류와 개수를 알려주는 딕셔너리를 만들었다. 이후 규칙을 찾아서 답을 return해주었다. 한 종류의 옷이 a,b,c 있을 때 하나도 포함 안되는 경우, a만 포함되는 경우, b만 포함되는 경우, c만 포함되는 경우 이렇게 4가지 종류로 등장 가능하다. 다른 종류의 옷들도 마찬가지로 적용된다. 따라서 각 옷 종류마다 가능한 경우의 수를 모두 곱해주고 모두가 다 포함안되는 경우를 제외하기 위해 1을 빼주면 답이 나온다 최종코드 def solution(clothes): answer=1..
문제 이해 및 풀이 우선 phone_book을 정렬하여 전체 다 확인하지 않고 바로 다음 번호만 확인할 수 있도록 해준다. 이후 for문을 돌면서 해당하는 숫자로 시작하는지 확인해주었다. 최종코드 def solution(phone_book): phone_book.sort() for i in range(len(phone_book)-1): check=phone_book[i] if check == phone_book[i+1][:len(check)]: return False return True 다른 사람 코드 숫자의 시작을 확인할 때 나는 숫자의 길이로 슬라이스 해주었는데, startswith라는 함수를 사용하면 더 간단하게 코딩이 가능하다. def solution(phone_book): phone_book...
문제 이해 및 풀이 맨 처음에는 set을 이용해서 빼기를 하면 된다고 생각했다 하지만 동명이인이 있는 경우에는 두 이름을 하나로 합쳐버리기 때문에 원하는 결과를 얻을 수 없었다. 다르게 생각한 방법은 두 명단을 정렬한 후 같은 위치에 다른 이름이 있는 경우 participant의 이름을 return해주었다. 그리고 다른 경우를 발견하지 못한 경우에는 participant의 마지막 이름이 완주하지 못한 경우이므로 마지막 이름을 return하였다. 최종 코드 def solution(participant,completion): participant.sort() completion.sort() for i in range(len(completion)): if participant[i]!=completion[i]:..
문제 이해 및 풀이 정답이 될 수 있는 값은 N/2이거나 포켓몬 종류의 수이다. 따라서 두 수 중에 더 작은 값을 return 해주면 된다. 포켓몬 종류의 수를 구하기 위해서 set을 사용해주었다. 최종 코드 def solution(nums): num1=len(nums)/2 num2=len(set(nums)) return min(num1,num2) 문제출처 프로그래머스 코딩테스트 고득점 kit https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

3.1.1 통계 기반 기법의 문제점 통계 기반 기법에서는 주변 단어의 빈도를 기초로 단어를 표현했다. 단어의 동시발생 행렬을 만들고 그 행렬에 SVD를 적용하여 밀집벡터를 얻었다. 하지만 이 방식은 대규모 말뭉치를 다룰 때 문제가 발생한다. 통계 기반 기법은 말뭉치 전체의 통계를 이용해 단 1회의 처리만에 단어의 분산 표현을 얻는다. 추론 기반 기법에서는 신경망을 이용하는 경우 미니배치로 학습한다. 통계 기반 기법은 학습 데이터를 한꺼번에 처리한다. 이에 반해 추론 기반 기법은 학습 데이터의 일부를 사용하여 순차적으로 학습한다. 이 말은 말뭉치의 어휘 수가 많아 SVD 등 계산량이 큰 작업을 처리하기 어려운 경우에도 신경망을 학습시킬 수 있다는 뜻이다. 여러 머신과 여러 GPU를 이용한 병렬 계산도 가능..