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..
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을 진행할 때 ..
Linear Fileter(선형 필터링) 마스크를 주어진 영상 위에서 이동하면서 처리하는 방식이다. Filter는 마스크와 함수를 결합한 것으로, 마스크는 일반적으로 양변의 길이가 모두 홀수인 직사각형 행렬을 말한다. 즉 마스크를 이용해서 영상을 덮어서 영상의 일부분을 한정해서 영역을 산정할 수 있는 어떠한 영상을 의미함! 이렇게 마스크와 함수가 결합한 형태를 필터(Filter)라고 하고, 필터링 과정에서 마스크가 사용된다. Mat myCopy(Mat srcImg) { int width = srcImg.cols; int height = srcImg.rows; Mat dstImg(srcImg.size(), CV_8UC1); //입력한 영상과 동일한 크기의 Mat 생성 uchar* srcData = srcI..
1. 개요 정렬 알고리즘을 배운 것을 토대로 아래 네 가지 정렬 알고리즘을 만들고, 다양한 Case를 나누어 프로그램의 동작 방식을 이해하는 과제이다. 프로젝트 파일의 구성도는 다음과 같다. 1) SortAlgorithm.h Insertion Sort, Selection Sort, Merge Sort, Quick Sort를 수행하는 네 가지 알고리즘을 구현한 파일이다. 이때 이전에 구현한 ArrayVector와 그 내장함수를 사용하여 정렬할 배열을 선언하였다. - Insert/ InsertionSort : 삽입 정렬 - SelectionSort : 선택 정렬 - Merge/ MergeSort : 합병 정렬 - QuickSort : 빠른 정렬 - Swap/printVector : 두 개의 값을 바꾸는 Sw..
Stock Span problem 이란? https://thebook.io/006952/ch01-01/ 리얼월드 알고리즘: 1장 주가 스팬 - 1 thebook.io 배열이 주어졌을 때, 각각의 인덱스에서 해당하는 값과 앞의 인덱스와 연쇄적으로 비교한다. 이때 자신을 포함한 앞의 인덱스의 값들 중에서 자신의 값과 작거나 같은 인덱스의 개수를 스팬이라고 정의한다. Stock Span Problem 을 해결하는 코드는 두 가지 종류가 있는데, Quadratic-Time Algorithm O(n^2)의 Big Oh Notation을 가지는 알고리즘이다. #include using namespace std; int main() { int arr[7] = { 1,1,1,2,1,4,6 }; int ans[7] = ..
#include using namespace std; void printArray(int* S, int n) { for (int i = 0; i > arr[i]; } mergeSort(n, arr); printArray(arr, n); } #include #include using namespace std; vector buff; void __mergeSort(int a[], int left, int right) { if (left < right) { int center = (left + right) / 2; int p = 0; // 왼쪽 배열의 인덱스 int i; ..