Numpy (1차원, 2차원, 3차원 배열 / 배열 인덱싱) Data Split Numpy를 사용하기 위해서, numpy 모듈을 import한다 import numpy as np Array 동일한 자료형으로 가지는 값들이 격자판 형태로 있는 것이다. 각 값들은 tuple 형태로 색인되고, rank는 배열이 몇 차원 배열인지 알려준다. shape는 각 차원이 크기를 알려주는 정수들이 모인 tuple이다. a = np.array([1,2,3]) print(type(a), a.shape, a[0], a[1], a[2]) print(a) #[5,2,3] b = np.array([[1,2,3], [4,5,6]]) print(b) ``` [[1 2 3] [4 5 6]] ``` print(b.shape) # (2, ..
(1) BubbleSort ExchangeSort라고도 함.6t 배열을 쭉 순회하면서 현재 인덱스의 요소를 기준으로 뒤에 있는 요소들을 한 번씩 순회 큰 요소(내림차순), 작은 요소(오름차순) 이 있다면 swap하며 정렬을 수행한다. void bubbleSort(int* a, int size) { int i, j; for (int i = 0; i a[i]) { swap(a[j], a[i]); } } } } if문에서 a[j]가 더 크면 내림차순 정렬이다. 왜냐하면 큰 요소를 앞으로 가져온다는 뜻이기 때문이다. (2) Insertion Sort Sorting되고 있는 구간, Sort되지 않..
Model Parameters (Learnable) vs Hyperparemeters (User-defined) 차이점 서술하기 Linear Regression 1) Supervised Learning 2) 주어지는 인풋 x에 대해서 target y를 구한다. - Training Data points n개의 (x,y)를 Input으로 넣으면, 학습 이후 이에 해당하는 Model parameter가 나온다. - Testing 실제 x와 Model Parameter를 입력했을 때 Predictor( Parameteric Approach 파라미터 기반으로 작동 non-Parameteric Approach Optimization 가우시안 함수의 파라미터는 mean, variance이다. 1) Data point..
def add(x, y): return x + y; add(1, 2); # 3 파이썬에서 함수 정의 (lambda x, y : x + y) (10, 20) # 30 람다 형식을 이용해 이렇게 표현할 수 있음. lambda (매개변수) : (실행문) t = lambda x : x * 2 + 1 t(6) # 13 t = lambda x : print("test : {}".format(x+3)) 반복문 for문은 list형 자료 작성 시에도 활용 가능하다. x = [i ** 2 for i in range(10)] x # [[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] while문으로 커피가 떨어지면 판매를 중단하고 "판매 중지"라는 문구를 보여준다. coffee = 5 money = 300..
영상 신호의 주파수 영역에서 분석하여 공간 영역에서 잘 보이지 않던 정보를 쉽게 발견할 수 있다. Fourier Transform은 time domain에서의 영상을 frequency domain으로의 성분으로 변환하는 것이다. 즉 임의의 입력 신호를 다양한 주파수를 갖는 주기함수들의 합으로 분해하여 표현하는 것이다. 이 푸리에 변환으로 F(w) 스펙트럼을 얻을 수 있고 w는 실수부와 허수부로 구성된다. 이를 Specturm 또는 magnitude라고 부르고, F(w)의 각도 Φ를 phase angle(또는 phase spectrum)라고 부른다 . Discrete Fourier Transform 2D DFT Mat doDft(Mat src_img) { Mat float_img; src_img.conve..
지네릭스 : 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크 (Compile-time type check) 기능이다. 타입 안정성 제공, 타입체크와 형변환을 생략할수 있어 코드가 간결해지는 장점이 있다. public class Box { T item; void setItem(T item) { this.item = item; } T getItem(){ return item; } } 객체 생성 시 타입 변수 T에 따로 타입을 지정한 상태에서 지네릭 클래스를 사용하여야 한다. Box b = new Box(); b.setItem("ABC"); b.setItem(new Object()); 지네릭스의 제한된 역할로 Box를 생성할 경우, 모든 객체에 대해 동일하게 동작하는 static..
Regression Model Parameters (Learnable) 컴퓨터 내부에서 모델이 스스로 목표를 세우기 위해서 바꿔가는 Key의 값이다. 즉 HyperParameters와 동일하게 변경되는 값이 모델의 정확도에 영향을 미치지만, 사용자가 직접 선택하지 않고, 최적의 답안을 추론해내가며 모델이 직접 학습한다. Linear Regression (선형 회귀) Classification이 Input Data의 Label를 맞추는 것이 답안이었다면 Linear Regression의 경우 Input된 데이터를 기반으로 직선을 그어 수식을 만들어서 특정 Input x에 대해 y를 예측할 수 있다. 선형 회귀 역시 Supervised Learning의 일종이다 트레이닝 데이터셋은 (x, y)처럼 좌표값처럼..
Machine Learning vs Deep Learning 1) Machine Learning은 Feature extraction을 기본적으로 거쳐 Feature vector로 바꾼 후 Classfication / Regression을 수행한다. 2) Deep Learning에서는 Feature extraction과 Classification을 동시에 수행하여 Output을 도출한다. 여기서 사용하는 방법론은 Deep Neural Network. 컴퓨터가 스스로 분류 레이블을 만들어내고, 반복학습 사전학습 하여 알고리즘을 만들어낸다. . Supervised Learning이란, Input data와 Label을 모두 입력으로 받아 모델을 학습시켜, 새로운 데이터를 받아 Evaluation을 진행할 때 ..