![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bD77z3/btqxTLkk1NA/pE5okzPk7poXY604JQEZ5k/img.png)
예시 데이터는 fruit를 사용한다. 1. str_detect(string, pattern) string 문자열내에 pattern의 위치에 상관없이 존재하는지의 여부를 알려준다. 2. str_which(string, pattern) str_detect와 달리 pattern이 있는 string의 index를 반환한다. (문자열 내부 index는 str_locate) 3. str_locate(string, pattern) str_which가 pattern을 포함하는 string의 index를 알려주는 것이라면 str_locate는 string 문자열 내우베엇 pattern이 시작되고 끝나는 index를 반환한다. 4. str_count(string, pattern) string 문자열 내 pattern의 개..
HashTable 특징 HashTable의 경우, 데이터 변경 메소드가 모두 Synchronized (동기화) 메소드로 선언되어 있다. 메소드 호출 전에 멀티 쓰레드 환경에서 쓰레드 간에 Synchronized Lock (동기화 락) 을 걸기 때문에 데이터의 무결성을 보장한다. Synchronized Lock은 시간이 오래걸리기 때문에 HashTable은 속도가 느리다. 멀티 쓰레드 환경에서 사용하기 적합하다. HashMap 특징 HashMap의 경우, HashTable와는 달리 동기화 (Synchronized) 처리를 하지 않기 때문에 데이터의 무결성을 보장하지 않지만 속도가 빠르다. 단일 쓰레드 환경에서 사용하기 적합하다. HashMap을 사용하여 동기화 문제 해결? SynchronizedMap을 이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/pC3oc/btqxTL4xxfq/kI9jvSd2UzpXoQGnkknl8k/img.png)
1. 해시 (Hash) 해시 함수 (Hash Function) : 효율적인 데이터 관리를 위해 임의의 길이를 가지고 있는 데이터를 고정된 길이의 데이터로 매핑 (Mapping) 하는 함수 키 (Key) : 매핑 전 원래 데이터의 값 해시 값 (Hash Value) : 매핑 후의 데이터 값 해싱 (Hashing) : 매핑하는 과정 자체 특징 해시 함수는 언제나 동일한 해시 값을 반환하고, 해당 인덱스만 알면 해시 테이블의 크기에 상관없이 데이터에 빠르게 접근할 수 있으며, 인덱스는 간단한 함수 (상수 시간) 로 계산되기 때문에 매우 효율적이다. 결국, 해시는 데이터 액세스 (삽입, 삭제, 탐색) 시 계산 복잡도가 \(O(1)\) 이 되도록 한다. 해시 함수는 원래의 문장을 복호화 할 수 없게 뭉개버린다는 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Ici8b/btqxx3dNeNv/RSklok4veEkg7DDUKjPbdk/img.png)
1. 스택 (Stack) ? 한 방향에서만 데이터를 뽑아낼 수 있는 선형 구조인 LIFO 형태의 자료구조이다. LIFO - Last In First Out의 줄임말이며, 말 그대로 마지막에 들어온 데이터가 첫 번째로 빠져나간다는 의미이다. 화물차안에 짐을 넣을 때를 생각해보자. 가장 먼저 넣은 짐은 가장 나중에 빠지고, 가장 늦게 넣은 짐은 가장 먼저 빠지는 원리이다. 1-1. Stack의 연산 Top : 연산이 아닌 Stack의 최상위층 인덱스라고 보면 된다. push : Stack내에 데이터를 삽입할 때 사용한다. pop : Stack내에서 맨 꼭대기인 Top부분에 위치한 데이터를 꺼낼 때 사용한다. peek : pop과의 차이점은 peek은 데이터를 조회만 할 뿐 꺼내지는 않는다. empty : S..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/AP8sy/btqxwFRVS24/SkssK3aMYWB1X2NzEwUOhk/img.png)
1. Array (배열) ? 동일한 자료형의 데이터를 한꺼번에 관리하기 위한 자료구조이다. 배열을 이용하여 하나의 변수에 여러 데이터를 담을 수 있으며, 반복문을 이용하여 효율적으로 처리가 가능하다. 1-1. 배열의 특징 크기가 정해져 있기 때문에 바꾸지 못한다. 고유한 인덱스 값을 가지고 있으며, 인덱스를 통해 특정 위치의 데이터를 빠르게 조회할 수 있다. 데이터가 중간위치에서 추가 또는 삭제 될 경우, 빈번한 이동을 요구하며 남아있는 공간으로 인해 메모리 낭비가 발생할 수 있다. 특별한 기능이 없기 때문에 다른 자료구조의 부품으로 사용할 수 있다. 2. List (리스트) ? 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조이다. 노드의 포인터가 다음이나..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bXwgcg/btqxhK0M2B4/LURYV8LQHULy46bymGMoKK/img.png)
논문 https://arxiv.org/pdf/1810.04805.pdf Abstract 우리는 BERT라 부르는 새로운 언어 표현 모델을 소개함. 트랜스포머 양방향 인코더 표현 (BERT, Bidirectional Encoder Representations from Transformers) 최신 언어 표현 모델들과는 다르게, BERT는 모든 계층에서 왼쪽 & 오른쪽 문맥을 함께 조정하여 레이블이 없는 텍스트에서 심층 양방향 표현을 Pre-training 하기 위해 설계됨. 결과적으로, Pre-train된 BERT 모델은 Task-Specific을 위해 상당한 아키텍처 수정없이, 다음과 같은 광범위한 작업에 대해 최신 모델을 만들기 위해 한 개의 Output 계층만 추가하여 Fine-tuning 할 수 있..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/xcilA/btqxfFxWjOy/gyvwX6CUNkgzDzsJ40eIQ1/img.png)
원본 https://machinelearningmastery.com/reshape-input-data-long-short-term-memory-networks-keras/ 당신의 LSTM 모델의 입력 시퀀스 데이터를 준비하는 방법에 대해 이해하는 것이 어려울 수 있음. 종종 LSTM 모델에 대해 입력층을 정의하는 방법에 대해 혼란이 있음. 또한, 당신의 숫자의 1차원 또는 2차원 행렬일 수 있는 시퀀스 데이터를 LSTM layer에 필요한 3차원 형식으로 변환하는 방법에 대한 혼란도 있음. 이 튜토리얼에서 당신은 LSTM 모델의 input layer를 정의하는 방법과 LSTM 모델에 대해 당신이 로드한 데이터를 재구성하는 방법을 발견할 것임. 이 튜토리얼을 완료한 후에, 당신을 알 것임: LSTM 입력층..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bh8XAu/btqw87frvWo/vcGVikKxlm1r0XTo3gKo80/img.png)
Triplet Loss (wiki) Triplet loss는 baseline인 anchor를 positive, negative input들과 비교하는 인공 신경 네트워크에 대한 손실 함수 (loss function)임. anchor input과 positive input 사이의 거리는 최소화 되야하며, negative input과의 거리는 최대가 되야함. 보통 워드 임베딩 (word embeddings), 심지어는 벡터, 행렬 학습과 같은 임베딩 학습의 목적으로 유사성을 학습하는 데 사용됨. 이 손실 함수는 유클리디안 거리 (Euclidean distance) 함수를 사용하여 설명할 수 있음. A : anchor input. P : A와 동일한 클래스의 positive input. N : A와 다른 클래..