내가 정리하는 자료구조 04 - 해쉬 테이블
대표적인 데이터 구조6: 해쉬 테이블 (Hash Table)1. 해쉬 구조 Hash Table: 키(Key)에 데이터(Value)를 저장하는 데이터 구조 Key를 통해 바로 데이터를 받아올 수 있으므로, 속도가 획기적으로 빨라짐 파이썬 딕셔너리(Dictionary) 타입이 해쉬 테이블의 예: Key를 가지고 바로 데이터(Value)를 꺼냄 보통 배열로 미리
대표적인 데이터 구조6: 해쉬 테이블 (Hash Table)1. 해쉬 구조 Hash Table: 키(Key)에 데이터(Value)를 저장하는 데이터 구조 Key를 통해 바로 데이터를 받아올 수 있으므로, 속도가 획기적으로 빨라짐 파이썬 딕셔너리(Dictionary) 타입이 해쉬 테이블의 예: Key를 가지고 바로 데이터(Value)를 꺼냄 보통 배열로 미리
알고리즘 복잡도 표현 방법1. 알고리즘 복잡도 계산이 필요한 이유하나의 문제를 푸는 알고리즘은 다양할 수 있음 정수의 절대값 구하기 1, -1 ->> 1 방법1: 정수값을 제곱한 값에 다시 루트를 씌우기 방법2: 정수가 음수인지 확인해서, 음수일 때만, -1을 곱하기 다양한 알고리즘 중 어느 알고리즘이 더 좋은지를 분석하기 위해, 복잡도를
대표적인 데이터 구조: 링크드 리스트 (Linked List)1. 링크드 리스트 (Linked List) 구조 연결 리스트라고도 함 배열은 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조 그렇기 때문에 미리 연결된 공간을 예약을 해놓아야 한다는 것이 단점! 링크드 리스트는 위와 같은 배열의 단점을 보완하고자 떨어진 곳에 존재하는 데이터를 화살표로
Stack꼭 알아둬야 할 자료 구조: 스택 (Stack) 데이터를 제한적으로 접근할 수 있는 구조 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조 큐: FIFO 정책 -> 줄 세우기 스택: LIFO 정책 -> 책 쌓기 1. 스택 구조 스택은 LIFO(Last In, Fisrt
Decision tree 배경 의사결정나무의 장점은 해석력이 좋다. 우리가 모델을 만들때 성능이 좋은 것도 중요하지만, 어떻게 사람들한테 메세지를 줄 수 있는가처럼 어떻게 활용할 수 있는가가 더 중요한 경우도 있다. 예측력이 조금 떨어지더라도 이야기로 풀어서 어떠한 근거로 인해 Y는 이렇게 된다는 식으로 풀어서 설명할 수 있다는 의미이다. 결정트리는 매
커널 서포트 벡터 머신 - SVM의 심화적 이해 12345678910111213np.random.seed(0)X_xor = np.random.randn(200, 2)y_xor = np.logical_xor(X_xor[:, 0] > 0, X_xor[:, 1] > 0)y_xor = np.where(y_xor, 1, 0)plt.scatter(X_xor
Support Vector Machine(SVM) 데이터의 분포가 정규분포를 띈다고 보이지 않는다면 이전에 말했던 LDA나 QDA를 사용하기 힘들다. 이런 경우 클래스간 분류를 하려고 할 때 사용될 수 있는 방법 중 하나가 SVM이다. 아래 그림과 같이 클래스 집단을 분류할 수 있는 벡터를 기준으로 최대한의 마진을 주어 분류하는 방식이다. 아래 그림과
퍼셉트론 퍼셉트론(perceptron)은 가장 오래되고 단순한 형태의 판별함수기반 분류모형 중 하나이다. 퍼셉트론은 입력 x=(1,x1,⋯,xm)에 대해 1 또는 −1의 값을 가지는 y를 출력하는 비선형 함수이다. 1을 포함하는 입력 요소 xi에 대해 가중치 wi를 곱한 값 $a = w^{T
LDA(선형판별분석법), QDA(이차판별분석법) 선형판별 분석법(Linear discriminant analysis, LDA)과 이차판별 분석법(quadratic discriminant analysis, QDA)는 대표적인 확률론적 생성모형이다. 가능도 y의 클래스값에 따른 x의 분포에 대한 정보를 먼저 알아낸 후, 베이즈 정리를 사용하여 주어진 x에 대한
K-Nearest Neighbors(KNN) k의 개수만큼 주변에 있는 sample들의 정보를 이용해서 새로운 관측치의 종속변수를 예측하는 방법이다. 아래 그림에서 기존의 파란색 네모와 빨간색 세모라는 2가지 클래스를 갖는 데이터 집합이 있다고 할 때, 여기서 새로운 관측치인 녹색에 대해 어떻게 예측할지를 생각해 보자. k=3인 경우(실선): 빨간색 세모
분류모형 현실적인 문제로 바꾸어 말하면 어떤 표본에 대한 데이터가 주어졌을 때 그 표본이 어떤 카테고리 혹은 클래스에 속하는지를 알아내는 문제이기도 하다. 흔히들 많이 사용하는 모형들의 분류모형 종류를 아래의 표로 기재해 놓았다. 이전에 기재했던 로지스틱 회귀 분석도 실질적으론 분류문제에 많이 사용된다. 모형 방법론 나이브 베이지안
차원의 저주 먼저 PCA를 하는 이유에 대해 설명해 볼 것이다. 전에 언급했던 변수(또는 피처)들이 많아질수록 변수들이 있는 공간의 차원수 또한 점차적으로 늘어나게 된다. 차원의 저주는차원이 늘어남에 따라서 같은 영역의 자료를 갖고 있음에도 전체 영역 대비 모델을 통해 변수로 설명할 수 있는 데이터의 패턴은 줄어들게 되는 것을 의미한다. 다른 관점에서
로지스틱 회귀분석 로지스틱(Logistic) 회귀분석은 회귀분석이라는 명칭과 달리 회귀분석 문제와 분류문제 모두에 사용할 수 있다. 로지스틱 회귀분석 모형에서는 종속변수가 이항분포를 따르고 그 모수 θ 가 독립변수 x 에 의존한다고 가정한다. p(y \mid x) = \text{Bin} (y; \theta (x), N) 위 식에
Feature and Feature vector Feature와 Feature vector에 대해 설명하기 위해 아래 몽타주를 예를 들어 설명해 볼 것이다. 몽타주는 목격자들에 의해 범인의 특징을 합쳐 만든것으로 범인을 대표할 만한 특징을 알 수 있도록 해야할 것이다.
Computer Vision Computer Vision 컴퓨터를 이용하여 정지 영상 또는 동영상으로부터 의미 있는 정보를 추출하는 방법을 연구하는 학문 즉, 사람이 눈으로 사물을 보고 인지하는 작업을 컴퓨터가 수행하게끔 만드는 학문 아래 그림과 같이 사과라는 이미지를
Least Squares Problem 앞서 말했던 것과 같이 크기가 m×n 행렬에 대해 Ax=b를 푼다면, 풀려는 방정식의 개수가 미지수의 개수보다 많기 때문에 해가 존재하지 않게 된다. 우리가 분석하려는 데이터들은 대체로 이런 Over-d
아래 내용은 김도형 박사님의 선형대수 강의안, edwith의 인공지능을 위한 선형대수 강의와 KOCW의 한양대학교 이상화 교수님의 선형대수학 강의를 보고 정리한 내용이다. 행렬에 의해서의 변환 또는 함수에 대해 정리해 볼 것이다. Transformation Domain
아래 내용은 김도형 박사님의 선형대수 강의안, edwith의 인공지능을 위한 선형대수 강의와 KOCW의 한양대학교 이상화 교수님의 선형대수학 강의를 보고 정리한 내용이다. 우선 이전에 언급했듯이 solution가 존재하려면 solution 벡터가 선형시스템이 이루는 S