Home
Hangil's Note
Cancel

[AI] Time Series 개요

Time Series Forecasting model Time SERIES Forecasting model의 분류 Univariate : 하나의 특성을 사용 Multivariate: 여러 개의 특성 사용 TIme series Forecasting model 알고리즘 Autoregressive (AR) : 시계열의 이전 값과 이후 ...

[AI] R-CNN/Fast R-CNN/Faster R-CNN 정리

Object Detection 참고 1-stage detector : 1-stage는 2-stage와 다르게 RoI영역을 먼저 추출하지 않고 전체 image에 대해서 convolution network로 classification, box regression(localization)을 수행 2-stage detector : ...

[AI] 딥러닝 논문 일반적인 구현 패턴

딥러닝 논문 구현 방법 개요 일반적인 구현 패턴 1) train.py : 모델 class를 인스턴스로 선언하고 For-loop을 돌면서 gradient descent를 수행하면서 파라미터를 업데이트하는 로직 원하는 epoch만큼 파라미터를 업데이트 하는 실제 트레이닝 수행 - 추가적으로 파라미터 저장, 텐서보드 로그 저장등 추가...

[AI] 딥러닝 논문 읽기 팁

일반적인 딥러닝 논문의 구성 1) Abstract : 논문의 전체적인 컨셉을 요약 설명 2) Introduction : 논문의 아이디어 전개 방식 등에 대한 설명 3) Method : 논문의 기법과 구현에 대한 아이디어 상세한 설명 - Model - Loss - Techniques 4) Experiment : 논문의 기법의 성능...

[AI] Object Detection 문제영역과 metric 정리

컴퓨터 비전의 대표적인 문제 1) Image Classification 이미지를 알고리즘에 입력하여 그 이미지가 어떤 클래스 라벨에 속하는지 분류 하는것 2) Semantic Image Segmentation 단순히 사진을 보고 분류하는 것에 그치지 않고 그 장면을 완벽하게 이해하는 수준의 문제 위의 사진 처럼 모든 픽셀을 해당하...

[Python] 메모리 관리 개념 - 01

메모리 할당 (Memory allocation) 정적 메모리 할당 프로그램 컴파일시 메모리가 할당 (C/C++) 고정 크기로만 정적 배열 선언 메모리는 컴파일할 때 할당되며, 스택은 정적 할당을 구현하는데 사용 이 경우 메모리 재사용이 불가능 동적 메모리 할당 프로그...

[Data Engineering] Hadoop 생태계 정리

Hadoop Echo System 하둡에서 데이터를 분석 유지 저장 관리 할 때 필요한 모든 것들 작업 구분별 주요 기술 구분 주요 기술 데이터 수집 플럼(Flume), 스쿱(Sqoop) 데이터 저장,활용 ...

[Data Engineering] Spark RDD 정리

Spark RDD(Resillient Distributed Data) 스파크의 데이터 구조 RDD (Resillient Distributed Data) Dataframe Dataset RDD : 스파크 도입 초창기부터 적용되었던 가장 첫번째 데이터구조 RDD Resillient(회복력 있는, 변하지 않는)...

[AI] 회귀분석 개념

회귀분석 (Regression Analysis) 둘 이상의 변수 간의 관계를 보여주는 통계적 방법. 일반적으로 그래프로 표현되며 종속 변수와 독립 변수 간의 관계를 테스트한다. 독립변수(independent variable) : 종속변수에 영향을 미치는 변수 (변수 변화 원인이 모형 밖에 있음) 종속변수(depen...

[Data Engineering] Spark 개요 및 구조

Spark란? Spark은 “General Purpose High Performance Distributed Platform (범용 목적의 분산 고성능 클러스터링)”이다. 빅데이터 처리를 위한 오픈소스 분산 처리 플랫폼 Scala로 개발되었으며 Python/Java/R을 추가로 지원한다 spark 등장 배경 빅데이터의 개념이 등장하였을...

[AI] CNN 기본 이론

CNN(Convolutional Neural Network) - 합성곱 신경망 CNN 에서 특별히 합성곱이 일어나는 층을 합성곱층, 풀링이 일어나는 층을 풀링층이라고 부름 합성곱층과 풀링층에서 만들어진 결과를 특성 맵(feature map)이라고 부른다. 입력이 합성곱층을 통과할 때 합성곱과 활성화 함수가 적용되어 특성 맵...

[Data Engineering] Hadoop 개념 정리

Hadoop 기본 개념 Hadoop (High-Availability Distributed Object-Oriented Platform) 자바 소프트웨어 프레임워크로 빅데이터 분산 처리 프레임워크 하나의 컴퓨터가 처리할 일을 여러 대의 컴퓨터가 병렬적으로 처리함으로써 처리속도를 현저히 단축시켜주고 데이터 파일도 분산 저장할 ...

Dynamic Programming

Dynamic Programming 프로그래밍에서 다이나믹이란? ‘프로그램이 실행되는 도중에 ‘ 라는 의미 다이나믹 프로그래밍 사용 조건 1) 큰 문제를 작은 문제로 나눌 수 있다. 2) 작은 문제에서 구한 정답은 그것을 포함하는 큰 문제에서도 동일하다. Memoization(메모이제이션) 기법이란? ...

Binary Search

BinarySearch # 이진 탐색 재귀 구현 ''' - 인덱스 시작점, 끝점 확인 - 양끝의 인덱스 나누어 가운데 인덱스 저장 - 찾는 수가 가운데 인덱스 값보다 크면 오른쪽, 작으면 왼쪽 탐색 - 위 단계 반복 - array 전체 배열, target 찾는 값, start 시작 인덱스, end 끝 인덱스 ''' def binary(array, ...

Design Patterns 개요

SOLID 원칙 객체지향 설계 원칙 1) Single Responsibility Principle 하나의 클래스는 하나의 역할만을 수행 2) Open - close Principle 확장(상속)에는 열려있고, 수정에는 닫혀 있어야 함 3) Liskov Substitution Principle 자식이 부모의 자리에 항상 교...

Object Detection 개요

객체 탐지 (Object Detection) 한 이미지에서 객체와 그 경계 상자(bounding box)를 탐지 객체 탐지 알고리즘은 일반적으로 이미지를 입력으로 받고, 경계 상자와 객체 클래스 리스트를 출력 경계 상자에 대해 그에 대응하는 예측 클래스와 클래스의 신뢰도(confidence)를 출력 Applications 자율...

[SQL] SQL 기본 문법 정리

SQL 기본 문법 정리 SELECT # 기본 구조 SELECT 필드이름 FROM 테이블 # 여러 필드 조회 SELECT 필드이름1, 필드이름2 FROM 테이블 # 모든 필드 조회 SELECT * FROM 테이블 # 중복데이터 제외하고 조회 SELECT DISTINCT 필드이름 FROM 테이블 # 조건식 사용 SELECT * FROM 테...

[Python] Observer Pattern 정리

Observer Pattern 옵저버 패턴은 하나의 관찰대상, 여러 개의 관찰자 구조가 필요할 때 쓰인다. 주체에 종속된 관찰자들에게 주체가 변경됨을 자동을 알리는 디자인 패턴으로, 분산 이벤트 처리 시스템 구현시 사용한다. Subject 관찰 대상이 되는 객체 자신을 관찰하는 옵저버 리스트를 가지고 관리도 ...

[Python] with as 구문 정리

Python with ~ as 구문 with as는 파일을 열고 > 쓰고 > 닫기 를 자동으로 해준다. 사용법 with [expression] as [변수명] with open('textfile.txt', 'r') as file: contents = file.read() # 위 구문과 동일한 내...

[Python] Class, Object, Instance 정리

Class, Object, Instance 개념 정리 Class 주로 어떤 틀에 비유됨, 즉 같은 무엇을 계속 만들어 내는것 클래스는 객체(Object)를 정의하고 만들기 위한 변수와 메서드의 집합 class의 객체(object)가 sw에서 실체화 되면 그것이 instance class car: de...

[Python] NameSpace 정리

Python NameSpace 정리 네임스페이스(namespace, 이름공간)란 프로그래밍 언어에서 특정한 객체(Object)를 이름(Name)에 따라 구분할 수 있는 범위 파이썬 내부의 모든것은 객체로 구성되며 이들 각각은 특정 이름과의 매핑 관계를 가짐 이 매핑을 포함하는 공간이 네임스페이스 프로그래밍언어에...

[Python] deepcopy - 깊은복사 정리

객체 복사 개념 파이썬에서 변수는 자신에게 대입된 객체를 가리키는 일종의 포인터 같은 존재이다. 그러므로 변수 자체는 저장공간을 할당받지 않으며 객체를 가리키는 개념이다. Mutable 객체 : 가변 속성 Immutable 객체 : 불변 속성 a = 1 b = a print(a, b) # 1 1 b = 2 print(a, b) # 1 ...

[Python] weakref 약한참조 사용 및 python 메모리 확인

weakref 정리 파이썬은 Objective-C와 비슷하게 참조 카운트(Reference Count)기반의 자동 메모리 관리 모델을 따르고 있다. 파이썬의 모든 변수는 값을 담는 영역이 아니라 객체에 바인딩 되는 이름이다. → 객체와 이름이 바인딩 되면, 해당 객체는 그 이름에 의해 참조 되고 참조 카운트를 1 증가...

[Python] Numpy 기본 문법

Numpy python에서 벡터,행렬등 수치 연산을 수행하는 선형대수(Linear algebra) 라이브러리 내부적으로 C로 구현되었으며 연산이 빠르다. N차원 배열(array)객체이며 모든 배열의 값이 기본적으로 같은 타입이어야 한다. import numpy as np import numpy.random as np a = np.a...

[Python] OOP(Object Oriented Programming) 기본 개요

Object Oriented Programming class(설계도), object(객체), attribute(변수), method(함수) # 파이썬에서 모든 attribute, method는 기본적으로 public 즉 클래스 외부에서 attribute, method 접근 가능 # public class Quadrangle: def ...

[Python] List Comprehension, 정렬 기본 문법 정리

Python List Comprehension 리스트를 초기화 하는 방법중 하나로 대괄호 안에([]) 조건문과 반복문을 넣는 방식으로 리스트를 초기화 array = [i for i in range(21) if i%2==0] array= [i*i for i in range(1,9) if i%2==0] print(array) [4, 16...

[Python] 특징 및 개요

python 특징 특징 1. 인터프리터 언어 파이썬은 컴파일 과정 없이 인터프리터(Interpreter, 해석기)가 소스 코드를 한 줄씩 읽어 들여 곧바로 실행하는 스크립트 방식 컴파일 과정이 필요하지 않아 실행 결과를 바로 확인하고 수정하면서 손쉽게 코드를 작성할 수 있다. 컴파일 언어 : ‘컴파일’ 과정을 통해...