AI Boostcamp 2기 자가 진단 해설

냥린이·2021년 12월 9일
0

AI Tech 프리코스

목록 보기
2/2

유클리드 벡터

  1. 한 벡터에서 다른 벡터를 더하는 것은 한 벡터로부터 상대적 위치 이동을 표현한다.
  2. 벡터는 숫자를 원소로 가지는 리스트 또는 배열이다. (크기와 방향을 모두 가지는 물리적 개념을 설명할 때 이용된다)
  3. 벡터에 양수인 숫자를 곱해주면 길이만 변한다. (스칼라가 1 이상이면 벡터는 커지고 1 이하면 벡터는 작아진다)
  4. 벡터는 원점으로부터 상대적 위치를 표현한다.

행렬 곱셈

두 개의 행렬에서 한 개의 행렬을 만들어내는 이항연산
첫째 행렬의 열 갯수와 둘째 행렬의 행 갯수가 동일해야 한다.
(M x N) x (N x P) 일 때 matrix multiplication 가능
결과로 만들어진 새 행렬 (M X P)를 행렬곱 (matrix product)라고 한다.

위를 만족하는 C의 차원은 13 X 256이다.

자연로그의 밑

상수 E (약 2.718)는 위와 같은 극한값으로 표현된다. (야코프 베르누이 방법)

정적분으로 표현하면 위와 같다.
e는 좌표평면상의 네 개의 그래프 y=1/x, x축, x=1, x=t(>1)로 둘러싸인 부분의 넓이가 1일 때, t의 값이다. 이 정의는 로그함수, 극한, 정적분의 선행 없이 쓸 수 있는 정의이다.

무한급수로 표현하면 위와 같다. 로그함수를 나타내는 테일러 급수 e^x에 대하여 x=1일 때의 값이다.

시간복잡도

3중 for 문이 range(300), range(n), range(n)일 때
시간복잡도는 계수 300을 뺀 O(n^2)이다.

코드 읽고 출력값 예측하기

연산자 //, % 이해하기

오류 종류

def input_string(num = int()):

위와 같이 파라미터 타입을 명시해 준 후,

print(input_string(str(12345))

인자값을 str으로 주었을 때 TypeError 발생

정답 외 선택지: SyntaxError, NameError, indentationError

NameError가 발생하는 경우
  1. 변수 선언 없이 연산식에 사용하거나 출력하는 경우
  2. 함수 선언 없이 함수를 사용하고자 하는 경우
  3. 대소문자 구분을 하지 않는 경우
  4. 외장 함수를 import 하지 않고 사용하려고 하는 경우
  5. 예약어의 스펠링이 잘못된 경우

Data Sample, Learning Step, Batch Size

Learning step은 하나의 batch를 모델의 입력 데이터로 넣어서 모델 매개변수를 한 번 업데이트하는 것

500번의 learning step 동안 총 샘플 수 25000개를 학습하기 위해서는 batch size를 25000/500으로 설정해야 한다.

샘플수/러닝스텝=배치사이즈

데이터를 n번 본다는 것은 샘플수 x n 인 것이다.
데이터를 러닝스텝으로 나누었을 때 나머지가 남는다면 +1 해주어야 한다.

경사하강법

손실 함수에서 극소값의 위치를 구하기 위해 사용하는 방법

경사하강법은 최적화를 위해 사용하며, 함수의 기울기(경사)를 구하고 경사의 절댓값이 낮은 쪽으로 계속 이동시켜 극소값에 이를 때까지 반복시키는 것이다.

시그모이드 함수

시그모이드는 인공 뉴런의 활성화 함수로 로지스틱 함수라고도 한다.
통계학에서 로지스틱 분포, 정규 분포, 스튜던트 t 분포 등의 누적 분포 함수로 시그모이드 곡선이 자주 등장한다.

profile
홀로서기 기록장

0개의 댓글