Loading...
2022. 1. 3. 20:21

벡터 사이의 거리 norm

벡터의 norm은 벡터 사이 거리로 정의된다. 그런데 벡터 사이 거리를 어떻게 정의할까? 일반적으로 유클리드 거리를 생각하지만 사실 거리를 정의하는 방법은 다양하다 임의의 n차원에서 거리를 정의한다는 것이 중요하다. 첫번째는 L1 norm, 두번째는 L2 norm이라고 부른다 1. L1 norm의 기하학적인 의미 L1 norm이란 원점에서 x까지의 거리를 위 그림에서 빨간 선분의 총 길이로 정의하는 것이다. 2. L2 norm의 기하학적 의미 L2 norm은 x까지의 거리를 위와 같이 직선거리로 정의하는 것이다. 3. norm에 따른 원 원은 원점에서 거리가 r인 점의 집합이라는 사실로부터 3-1) L1 norm을 사용한 원 robust 방법, lasso 회귀 등에서 사용 3-2) L2 norm을 사용한..

2022. 1. 3. 20:06

cross validation이란?

k-fold validation이라고도 한다. 보통 모형의 성능을 높이기 위해서 주어진 전체 data를 train data + validation data와 test data로 나눈다. train data는 학습을 위해 사용되는 부분이고 validation data는 학습한 모형의 성능을 평가하면서 hyperparameter를 튜닝하기 위해 사용한다. test data는 오직 최종 모형의 성능을 평가하기 위해서만 사용한다. 그런데 이들을 어떻게 나눠야 할까? train data를 k개의 fold로 나누고 그 중 k-1개를 train, 나머지 1개를 validation data라 하고 학습을 진행한다. 1-1) k-1개를 선택하는 모든 경우에 대해 반복하여 진행하고 그들의 적절한 평균으로 최종 모형 선택 ..

2022. 1. 3. 01:44

오름차순 배열과 내림차순 배열을 동시에 적용하는 방법?

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게..

2022. 1. 2. 23:01

경사하강법(gradient descent)의 한계

1. 선형회귀분석 주어진 n개의 데이터에서 이들을 가장 잘 설명하는 선형모형을 찾는다 이전에는 무어펜로즈 역행렬을 이용하여 찾았다 무어펜로즈 역행렬을 이용하여 오차의 norm을 최소화하여 회귀계수 $\beta$를 찾는다. 무어펜로즈 역행렬은 컴퓨터 계산 시간 측면에서 비효율적이다 변수 수 m에 따라 $O(m^{2})$이라고 한다. 대안으로 경사하강법을 이용하여 회귀계수를 추정할 수 있다. 2. 선형회귀분석에서의 경사하강법 선형회귀분석은 위에서도 보였지만 \[y-X\beta\]의 norm을 최소화하는 $\beta$를 찾는것. 그러므로 \[y-X\beta\]의 norm을 $\beta$로 미분한 그래디언트 벡터를 구한다 그래디언트 벡터를 구하면 경사하강법을 이용하여 $\beta$에 그래디언트 벡터를 빼서 얻은..

2022. 1. 2. 21:14

선형구조와 비선형구조

1. 자료구조 자료를 효율적으로 접근하고 수정하기 위해 자료를 조직, 관리, 저장하는 방법 상황에 따라 데이터를 다루는데 시간과 메모리를 효율적으로 사용할 수 있는 자료구조를 사용해야함 선형 구조와 비선형 구조로 나뉜다 2. 선형구조 자료를 구성하는 데이터들이 직선 형태로 순차적으로 나열되어 있는 구조 전후 데이터들 간에 일대일 관계 대표적으로 스택(stack), 큐(queue), deque, 리스트(list) 등이 모두 선형구조이다. 3. 비선형구조 하나의 자료 뒤에 여러개의 자료가 존재할 수 있는 구조 전후 데이터들 간에 1:N 관계를 가짐 대표적으로 트리(tree), 그래프(graph)가 비선형구조이다. 4. 참고 https://noahlogs.tistory.com/28 [자료구조] 스택, 큐, 데..

2022. 1. 2. 21:01

파이썬의 스택(stack)과 큐(queue)

1. 스택(stack) 나중에 넣은 데이터를 먼저 반환하도록 설계된 자료구조 Last In First Out(LIFO) Data 입력을 push, 출력을 pop 위 그림1은 스택을 가상적으로 표현한 그림 4를 먼저 넣고 다음에 10을 넣었다 마지막에 들어간 10을 처음으로 빼내는 모습 ------------------------------------------------------------------------------------------------------------------------ 이름 그 자체를 생각해보면 외울것이 아니다 데이터를 넣을수록 계속 쌓이는(stack) 자료구조 쌓여있는 구조(stack)에서 무언가 빼낼려면 안에있는 것보다 밖에있는 것을 먼저 뺄수있다는 것을 생각한다면? --..