본문 바로가기
개인 프로젝트/대학원 수업 정리

기계학습특론 2주차 정리

by 응_비 2026. 3. 12.

과제, 학번 이름으로 변경 후 제출하기.

파일 그대로 제출해도 됨.

 

시험은 기본 개념 위주로 공부하면 됨.

1주차_인공지능기본개념 (1).pdf
0.74MB
2주차_인공지능기초수학.pdf
1.95MB

벡터(Vectors)

◦ 벡터의 정의:

◦ 컴퓨터 과학 : 벡터는 실수 값을 갖는 성분으로 구성된 1차원 배열

◦ 물리 : 벡터는 크기와 방향을 가진 값 (방향은 화살표로 표기, 크기 는 수치 값으로 표현)

◦ 벡터는 값의 모임인데, 벡터를 구성하는 값에는 순서가 존재

◦ 유클리디안 공간의 벡터는 열 또는 행으로 표현

◦ 굵은 소문자로 표기

◦ 벡터 x에 대하여 𝑥 𝑇는 전치 (Transpose) 연산의 결과물로 전 치 연산은 열벡터를 행벡터로 혹은 행벡터를 열벡터로 변환하게 됨

 

* 벡터 형태로 변환

1 2
3 4

(2 x 2)

5 6
7 8

(2 x 2)

 

◦ n차원 공간과 n 벡터

◦ N개의 성분이 있는 일반 형식의 벡터 (“n벡터”라 호칭)는 n차원 공 간 x∈ ℝ𝑛에 존재 (ℝ은 실수를 의미)

◦ 벡터의 표현: ◦ 벡터는 x = (𝑥1, 𝑥2, 𝑥3)와 같은 형태로 표현하기도 함

◦ 벡터는 x = < 𝑥1, 𝑥2, 𝑥3>와 같은 형태로 표현하기도 함

◦ 행렬과 함께 다루어질 때는 옆에 표현한 형태로 표현

◦ 열벡터 (column vector)

◦ 행벡터 (row vector)

◦ Tip : 기계학습에서 벡터, 행렬, 텐서는 데이터, 모델의 가중치등을 표현할때 쓰임 벡터의 기하

 

< 시험문제 > 

* 지도학습(예측, 분류) X Y -> AI 학습

◦ 지도학습(Supervised learning)
◦ 정답(label)이있는데이터를모델에학습함으로써, 새로운데이터에대한결과를예측하는방법
◦ 주로회귀분석과분류가이에해당된다.

 

* 비지도학습
◦ 비지도학습(Unsupervised learning)
◦ 정답(label)이없는데이터를모델에학습함으로써데이터를군집화(clustering)을하거나새로운데이터를생성등에해당된다
◦ 강화학습(Reinforcement learning)
◦ 학습할데이터가필요없이에이전트(Agent), 환경(Environment), 행동(action), 보상(reward)으로구성되며보상이최대화되도록에이전트가행동하도록학습하는방법

 

데이터셋

훈련데이터셋(training dataset)

검증데이터셋(validation dataset)

테스트데이터셋(test dataset)

 

기계학습에는 대규모 데이터가 매우 중요
◦ 원하는 임무를 잘 해결하는 기계학습 모델을 찾으려면 해당임무에 대한 데이터가 확보되어야 하는데,

해당임무에 대하여 수집한 데이터를 훈련데이터라고 호칭


◦ 훈련데이터
◦ 모델이 해결해야 하는 임무에 따라 변화하지만 일반적으로 상기와 같이 훈련 데이터를 표현
◦ 상기표현은 기계학습모델에게 주어진 훈련데이터는 개의관측값으로 구성된 샘플로 번째 관측값은로 구성된다는 의미.
◦ x1 를 특징벡터, 를 참값, 레이블, 목표값 등으로 호칭

 

* 퍼셉트론 -> 오버피팅(OverFiting)

* 딥러닝 -> 0 ~ 1사이의 값으로 구성되어야 함.

 

2  x 3  | 2 x 2 (계산불가, 둘이 순서 바뀌어야 함)

 

전치 중요,

벡터 곱셈 중요! (곱셈해보기)

API 텐서플로우 등 가져와서 쓰지 말고,

np 수준으로 직접 만들어보고 해봐야 함.

 

행렬, 역행렬 토이 프로젝트로 직접 바뀌는지 반드시 해보라고 말하심.

 

미분은 할 수 있어야 함.

Chain rule -> 역전파 알고리즘 사용시 사용되는 내용

편미분 -> 기호에 주목!

* 기계학습특론 -> 경사하강법(기울기를 이용하여 모델의 인자 값을 탐색하는 방법)

확률(가볍게 읽어보기) -> 베이즈 정리 기억하기!

 

 

이런거 빈칸 뚫어놓고 내신 적 있음.

a = np.full((2,5), 5)  ## 2바이5 행렬, 안에 5라는 성분(element)을 full

# full((배열의모양),들어갈숫자)
# 5를 2바이5 배열로 만들어주세요. 채워주세요.
a

 

# 3차원 텐서의 인덱스와 슬라이싱(Indexing and slicing a 3D tensor)
a = np.arange(4*3*2).reshape((4, 3, 2))
print_obj(a, "a")
print_obj(a[2, 1, 0], "a[2, 1, 0]")  
## 대괄호 개수로 인덱스를 잘 파악하자!

# 퀴즈 9: a[0]은 무엇인가?
# 퀴즈 10: a[0, 1]은 무엇인가?
# 퀴즈 11: [[0, 2, 4], [6, 8, 10]] 를 생성하시오 (Hint : [0, 2, 4]는 무엇일까? [0,2,4]를 출력할 수 있는 방법은 무엇일까?).

 

# 스택(Stack), concatenation (열 등을 이어서 연결하기)
# 스택은 쌓자!! h -> horizontal 수평  / v -> vertical 수직
# 컨캣은 연결하자!! 축의 방향을 axis 로 설정해서 연결가능. 스택과 비슷한 기능.
## 중요!!!
a = np.ones((3,2))
b = np.zeros((3,2))
print_obj(a, "a")
print_obj(b, "b")

print_obj(np.vstack([a, b]), "a,b vstack")
print_obj(np.hstack([a, b]), "a,b hstack")
print_obj(np.hstack([a, b, a]), "a,b hstack")

print_obj(np.concatenate([a, b], axis=0), "a,b concat axis=0")
print_obj(np.concatenate([a, b], axis=1), "a,b concat axis=1")

# 퀴즈 17: 두 텐선의 shape 가 (4, 3, 2) and (4, 3, 3) on axis=2 일 때, 두 텐서를 concatenation 하기.

 

vstack

hstack

(행으로 붙이는지, 열로 붙이는지 확인)

 

(개념) broadingcasting이 안나도록 해야 함.

'개인 프로젝트 > 대학원 수업 정리' 카테고리의 다른 글

기계학습특론_4주  (0) 2026.03.26
기계학습특론_3주차  (0) 2026.03.19
[CV] 기말고사 정리  (0) 2025.12.03
[CV] Classification, Segmentation  (0) 2025.12.02
[CV] 과제3_3번  (0) 2025.11.20

댓글