[자료구조] - (2) 스택(Stacks) with Python
·
Algorithms 💻/Basic
스택(Stacks) 역시 추상적 선형 자료 구조 중 하나이다. 본 게시글은 Python 코드로 작성되었습니다. 1. 스택의 구조 기본적으로 스택은 넣을 때는 한쪽 끝에서 밀어넣어야 하고(push), 꺼낼 때에는 같은 쪽에서 뽑아 꺼내야한다.(pop) 간단히 그림으로 나타내면 다음과 같다. 이와 비슷한 선형 자료구조 큐(Queue)는 좀 다르다. 큐는 '선입선출'의 구조로서, 먼저 들어간 요소가 가장 먼저 나오는 구조이다. 기본적으로 스택은 한쪽에서 꺼내고 빼고를 하는 반면, 큐는 한쪽에서 들어가면 다른쪽에서 나온다! 그리고 스택은 가장 마지막에 들어간 요소가 가장 먼저 나온다 (후입선출) 스택에는 정해진 저장 공간이 있다. 따라서 비어있는 스택에서 원소를 꺼내려 하거나, 꽉찬 스택에 데이터 원소를 넣으려..
[Quant] 기초 금융 지식 정리(1) - 증권, 채권, 주식
·
기초금융 💵
0. 증시 증권시장이라는 뜻 1. 증권 - 어떤 증거가 되는 문서나 서류 (권이 문서라는 뜻임) - 유가 증권 : 가치가 있는 뭔가를 증명하는 종이. 과거에는 종이였으나 요즘은 전자형태로 전환 1) 화폐 증권 : 가장 흔히 볼 수 있는 형태 ex) 지폐(한국은행권 : 이 돈에 대해 한국은행에 권리가 있음을 증명하는 것), 상품권, 쿠폰, 수표 2) 상품 증권 : 물건의 권리를 명시한 증권 ex) 배에 실려져 있는 운송된 화물들의 소유권이 나에게 있음을 보장 3) 자본 증권 : 자본이 나에게 있음을 증명하는 문서 ex) 채권, 주식, 수익증권, 선물옵션 → 증권 시장 : 자본 증권을 거래하는 시장 (그 안에 주식시장이 포함됨) 2. 채권(=본드) 1) 정의 - 빚문서 (빌린 돈 얼마를 언제까지 갚는지, 이..
[STAT & DL] 딥러닝의 전반적 구조에 대한 통계적 해석
·
Computer Vision💖/Basic
이 글은 고려대학교 통계학과 박유성 교수님의 '딥러닝을 위한 통계적 모델링' 강의를 바탕으로 재구성되었습니다. 딥러닝과 통계적 모형의 구조는 매우 유사하지만, 다른점은 은닉층의 존재 여부이다. 따라서 은닉층의 설계에 따라 딥러닝 모형이 결정된다고 봐도 무방하다. 딥러닝은 특성변수들의 선형 결합을 비선형 변환해 목적변수를 확률적으로 맞추는 전형적인 통계적 모형이다. 이러한 과정을 통해 특성변수(x)를 변형시키고, 이러한 작업은 목적변수(y)를 더 잘 예측하게 한다. 다만 여기에 '은닉층(Hidden Layer)'의 개념이 포함된다는 것! 그래서 이 포스팅에서는 통계적 모형과 전반적인 딥러닝 구조의 유사성과 차이점에 대해 비교 대조해보고자 한다. 딥러닝을 공부해본 이래로 통계적인 해석을 한 글은 찾아보기 어..
[자료구조] (1) - 연결리스트(Linked List) with Python
·
Algorithms 💻/Basic
연결리스트는 대표적인 추상적 자료구조(Abstract Data Structures) 중 하나이다. 본 게시글은 Python 코드로 작성되었습니다. 1. 단순 연결리스트의 기본 구조 각 연결리스트는 Node로 구성되어있고, Node안에는 data와 link로 구성되어있다. 안에 들어있는 data는 그림에 나와있는 정수형 말고도 문자, 레코드 등 여러 구조가 가능하다. Node를 코드로 구성해보면 다음과 같다! class Node: def __init__(self, item): self.data = item # data self.next = None # next link (다음 인자를 가리킴) 여기서 next는 다음 노드에 접근하는 방법이다. 예시 ) L.head == a a.next == b b.next ..
[Project Euler] Problem 1 ~ 7번 알고리즘 풀이
·
Algorithms 💻
1. 1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면? s = 0 for i in range(1000): if i%3==0 or i%5==0: s = s + i else: pass print(s) 2. 4백만 이하의 짝수 값을 갖는 모든 피보나치 항을 더하면 ? n1 = 0 n2 = 1 n3 = n1+n2 result = 0 while n3
[SQL] 데이터 집계(Group by, Having, Grouping set, Roll up, Cube)
·
SQL
데이터 집계는 조인 다음으로 정말 중요하다! 오늘은 집계 함수에 대해 포스팅해보고자 한다~_~ 1. Group by 각 그룹에 대한 합계, 평균, 카운트 등을 계산 select segment, count(quantity) from sales group by segment; 특이한 점은 select 다음의 count로 groupby aggregation 을 지정한다는 점! 그래서 이 부분을 마지막에 코딩하는 것도 방법인 것 같다 +) Group by로 unique한 값만 출력할 수도 있다 --1. groupby 이용 select customer_id from payment group by customer_id; --2. select distinct 이용 select distinct customer_id f..
[SQL] 데이터 조인(Inner, Outer, Full outer, Cross join)
·
SQL
SQL의 진짜 목적은 여러 데이터프레임을 합쳐서 내가 원하는 데이터 칼럼을 뽑아내는 것! 이걸 할 수 있는게 Join 인데, 오늘은 Join의 종류를 포스팅 해보고자 한다 😎 1. Inner 조인 교집합을 출력하는 조인 방식 (완죤 간단) --2개 테이블 inner join select a.customer_id, a.first_name, a.last_name, a.email, b.amount, b.payment_date --선택할 칼럼 from customer a inner join payment b -- a와 b를 merge on a.customer_id = b.customer_id --customer_id가 같은거끼리 where a.customer_id = 2 -- customer_id가 2인 row..
[NLP] Transformer(트랜스포머, Attention is all you need)
·
NLP
📚논문참고 Attention is all you need 1. 개요(기존 recurrent 모델의 한계) - Long term dependency problem : 멀리 있는 단어는 예측에 사용하지 못하는 현상 ex) "저는 언어학에 관심이 많아 인공지능 기술 중 딥러닝을 배우고 있고, 그 중 자연어 처리가 가장 흥미롭습니다"라는 문장에서, '자연어처리' 단어를 생성하는데에 가장 중요한 의미를 갖는 단어는 '언어학'일 것임. 하지만 순환신경망 모델은 가까이 있는 딥러닝을 중요하게 인식할 가능성이 높을수도 있음. '딥러닝'으로 생성을 하면 '자연어처리'가 아니라 '컴퓨터비젼' 등을 생성할 수도 있음. - Parallelization problem : 순환 신경명은 연쇄적으로 처리하기 때문에 병렬처리가 어려..