분류 전체보기 썸네일형 리스트형 RNN & LSTM 설명 및 구현 ※ 아래의 글은 Colah의 "Understanding LSTM Network"를 번역한 것입니다. Contents 1. RNN(Recurrent Neural Network) 2. RNN의 단점 3. LSTM Network 4. LSTM Network 상세 5. 다양한 LSTM Network 종류 6. 다음 방향 7. Pytorch LSTM Network 1. RNN(Recurrent Neural Network) 과거 사건(시간이 지난 사건)을 네트워크에 반영할 수 없는 것은 기존 NN(Neural Network)의 단점이었다. RNN은 루프(Loop)를 이용하여 이 문제를 해결하였다. 루프는 같은 네트워크를 반복하여 사용하지만(multiple copies of the same network), 정보가 .. 더보기 JSON (JavaScript Object Notation) in C Json 파일 읽어 들이기 //Allocation struct json_object* json_object_from_file(const char* filename) //e.g. struct json_object *pJsonroot = NULL; pJsonroot = json_object_from_file(pPath); //Free json_object_put(pJsonroot); 파일 경로(string)참고하여 json 읽어 들이고 json_object 포인터 반환. 이후 json_object_put을 이용해 해제 해줘야 한다. Json 파일 파싱하기 struct json_object* json_object_object_get(struct json_object* obj, const char* key) i.. 더보기 [MIT] 데이터 사이언스 기초 강의 요약[6 ~ 10강] Chapter 6. Monte Carlo Simulation ▶ 추리 통계학 모집단(Population) : 예시들의 집합, Set of Examples. 표본(Sample) : 모집단의 적당한 부분 집합, Subset of Population. 핵심 개념 : 랜덤 샘플(random sample)한 표본은 모집단과 동일한 특성을 갖는 경향이 있음 분산이 커질 수록 같은 수준의 신뢰도를 갖기 위해서는 더 큰 표본이 필요. ▶ 큰수의 법칙(베르누이의 법칙) 각 실행에서 특정 결과가 나올 실제 확률이 p로 독립인 사건(Independent tests with the same actual probability p)에서, 실행 횟수가 무한대로 갈수록 p와 다른 결과가 나오는 횟수의 비율이 0으로 수혐한다. ▶ 도.. 더보기 Git 명령어 정리 Pull 명령어 Branch 명령어 Pull 명령어 'origin'은 clone 할시 자동으로 설정되는 원격 저장소의 이름이다. 'master'는 로컬 브랜치 'origin/master'는 원격 저장소 'origin'의 'master' 브랜치를 나타낸다. 위의 경우와 같이 원격 저장소와 로컬 저장소 강의 차이가 발생하는 경우 pull을 실행하여 소스를 병합한다. Branch 명령어 1) Brach 목록 보기 및 관리하기 # 모든 Branch 목록 보기 $ git branch -a # Branch 생성하기 $ git branch # Branch 전환하기 $ git checkout # Branch 생성과 동시에 전환하기 $ git checkout -b # Brach 이름 변경하기 $ git branch -m.. 더보기 Miscellaneous 1) python -m 의 의미 e.g. python -m canmatrix.cli.convert [args] -m 뒤에는 모듈 이름이 온다. -m은 sys.path에서 모듈을 검색하고 모듈을 실행한다. (파일 canmatrix.cli.convert.py 의 __main__ 모듈을 실행 한다) 즉, 인터프리터로 하여금 canmatrix.cli.convert를 모듈 취급하게 한다. 해당 옵션은 빌트인 모듈이나, C로 작성된 확장 모듈 파이썬 모듈 파일을 가지고 있지 않기 때문에 사용할 수 없다. 2) for-else문 - 파이썬에는 for-else문이 있다. - for문을 모두 완수(?) 하고 통과할 경우 else: 구문이 실행된다. - break 등으로 for문이 완료 되지 않았다면 실행되지 않는다. f.. 더보기 수준 높은 회사가 C언어 자료형을 사용하는 방법 Win32, MFC 등과 같은 큰 규모의 시스템 프로그래밍 API 혹은 칩 벤더사의 SDK를 보면 자료형을 예술적(?)으로 사용한다. 본인이 느낀 공통점은 다음과 같다. Base 자료형을 먼저 정의 Base 자료형을 상속받은(혹은 원소로 하는) 새로운 자료형 정의 상황에 맞는 혹은 라이브러리 별 자료형을 새로 정의 이런 식으로 자료형을 만들면, 구조체 형변환을 통해 필요한 부분만을 읽어와서 수정하는 등 자유 자재로 활용이 가능하다. 말로 표현하긴 쉽게 와닿지 않을 것 같아서 예시를 들어 설명을 해본다. 먼저, BaseType typedef struct _BASE { uint16_t ByteAllocated; # 데이터를 표현하는 정보 1 uint8_t Bitlength; # 데이터를 표현하는 정보 2 u.. 더보기 A* 알고리즘(A Star Algorithm) 1. 개념 2. 시각화 3. 코드 1. 개념 최단경로를 찾는 그래프 탐색 알고리즘 중 하나입니다. 다익스트라 알고리즘과 유사하나 차이점은 각 꼭지점 x에 대해 그 꼭지점을 통과하는 최상의 경로를 추정하는 순위값인 "휴리스틱 추정값" h(x)를 매기는 방법을 이용한다는 점에서 차이가 있습니다. (h(x) 값을 정확하게 구할 수 없어도 괜찮습니다) 시작노드와 목적지 노드를 분명하게 정해 놓고, 이 두 노드간의 최단 경로를 파악합니다. 휴리스틱 추정값을 어떤 방식으로 제공하느냐에 따라 최단경로 파악 성능이 결정됩니다. A* 알고리즘은 출발 꼭지점으로 부터 목표 꼭지점까지의 최적 경로를 탐색하기 위한 것입니다. 이를 위해서는 각각의 꼭지점에 대한 평가 함수 f(n)를 정의해야 합니다. $ f(x) = g(x) .. 더보기 입 출력 속도 개선 한 줄 입력 from sys import stdin n = int(stdin.readline()) 리스트 입력 _list = list(map(int, stdin.readline().split())) # 한줄 읽어 들이고, 공백을 기준으로 분할 한뒤, int로 맵핑한다. 2차원 배열 입력 arr = [] for i in range(col_len): arr.append(list(map(int, stdint.readline().split()))) # append를 쓰는 것이 arr[i]로 접근 하는 것 보다 조금 빠르다. [Reference] https://breakcoding.tistory.com/109 더보기 이전 1 ··· 20 21 22 23 24 25 26 다음