[AI 미션코드 Week1]

Shin Dae Hwan·2025년 11월 9일

① AI, ML에 있어서 기본적인 라이브러리에 대해 탐색해보자.

  • Numpy: 수치 연산(벡터, 행렬 등)을 빠르고 효율적으로 처리하기 위한 배열 기반 계산 라이브러리

  • Pandas: 표(데이터프레임) 형태의 데이터를 다루기 위한 데이터 분석용 라이브러리
    엑셀처럼 행과 열을 기반으로 데이터 조작, 필터링, 통계 분석을 수행

  • TensorFlow: 딥러닝 모델을 구축·학습·배포하기 위한 머신러닝 프레임워크
    수학적 연산 그래프 기반으로 GPU/TPU를 활용해 대규모 연산을 수행

② Keras 많이 들어보긴 했는데 도대체 뭐지?

  • 딥러닝 모델을 쉽고 빠르게 설계하고 학습시킬 수 있도록 도와주는 고수준 API
    TensorFlow의 한 부분이며, TensorFlow의 복잡한 기능을 더 쉽게 사용할 수 있도록 만든 인터페이스

그러면 Tensorflow와 Keras는 어떤 차이가 있는데?

TensorFlow          			 | Keras
-------------------------------------------------------------------
저수준(엔진, 연산)				 | 고수준(모델 설계, 학습)
수학적 계산, GPU 연산, 자동 미분    | 신경망 설계, 학습 관리, 평가
복잡하고 코드가 김 				 | 직관적이고 코드가 짧음
tf.GradientTape(), tf.Variable() | Sequential(), Dense(), fit()
엔진(Back-end)					 | 인터페이스(Front-end, API)

③ Training Data? Test Data?

  • 훈련 데이터 (Training Data)
    모델이 학습하는 데 사용되는 데이터.
    입력값(Input)과 정답(Label, Target)이 모두 주어져 있으며,
    모델이 데이터의 패턴, 규칙, 관계를 학습하는 데 사용.

  • 테스트 데이터 (Test Data)
    학습 완료된 모델이 새로운 데이터에 대해 얼마나 잘 작동하는지 평가하는 데이터.
    모델은 이 데이터를 처음 보는 것처럼 예측을 수행.


④ Overfitting?

  • 과적합 (Overfitting)
    모델이 훈련 데이터에 지나치게 맞춰져서,
    테스트 데이터에는 잘 작동하지 못하는 현상.

    즉, 모델이 훈련 데이터의 ‘패턴’뿐 아니라 ‘노이즈’까지 외워버린 상태.
    이 경우 훈련 정확도는 높지만, 테스트 정확도는 떨어짐.

※ 지도학습의 목적은, 입력(X)로부터 출력(Y)를 정확히 예측하는 함수 f를 학습하는 것이다!


⑤ 지도학습? 비지도학습?

지도학습 (Supervised Learning)
입력(Input)과 정답(Label, Target)이 함께 주어지는 데이터를 이용하여 학습하는 방법.
“이 입력에는 이런 결과가 나온다”는 것을 이미 알고 있는 상태에서, 모델이 그 관계를 학습하도록 하는 방식.

비지도학습 (Unsupervised Learning)
입력 데이터만 주어지고 정답(Label,Target)이 없는 데이터를 이용해 학습하는 방법.
“정답이 없는 상황에서 데이터의 구조나 패턴을 스스로 찾아내" 학습하도록 하는 방식.

  • 지도학습: “정답을 보고 배우는 학습” → 예측 중심
  • 비지도학습: “정답 없이 스스로 규칙을 찾는 학습” → 패턴 탐색 중심

⑥ 전처리(Preprocessing)란?

  • 원시(raw) 텍스트 데이터를 모델이 이해할 수 있는 형태로 정리하는 과정

TextVectorization이란?

  • Keras에서 제공하는 문자열 → 숫자 벡터로 변환하는 전처리 레이어.
    위 전처리 단계 중 “토큰화 + 벡터화 + 패딩 일부 기능”을 자동으로 수행해주는 도구.

⑦ TextVectorization은 왜 필요한가?

  • 자연어는 문자나 단어로 구성되어 있지만, 머신러닝/딥러닝 모델은 숫자 연산만 처리 가능.
    따라서 텍스트를 숫자 형태(벡터)로 변환하는 과정이 반드시 필요하다.
    문자 데이터를 수치 형태로 바꿔서 모델이 계산할 수 있게 만드는 것.
  • 계산 가능성 확보 (수학적 연산을 위해 텍스트를 숫자로 변환해야 함)
  • 의미 표현 가능 (단어 간 유사도를 벡터 공간에서 표현 가능)
  • 딥러닝 입력 형태 통일 (신경망의 입력은 반드시 숫자 행렬이어야 함)

⑧ 패딩(Padding)이란?

  • 길이가 다른 문장들을 동일한 길이로 맞춰주는 과정.
    모델에 입력되는 텐서의 크기가 일정해야 하므로, 짧은 문장은 0(또는 다른 지정값)으로 채워 넣는다.
    ex)
    [1, 2, 3]    -> [1, 2, 3, 0]
    [4, 5, 6, 7] -> [4, 5, 6, 7]
    [8, 9]       -> [8, 9, 0, 0]

⑨ Matplotlib이란?

Python에서 데이터를 시각화(Visualization)하기 위한 대표적인 그래프 라이브러리.
기본적이면서도 강력한 데이터 시각화 도구로, 선 그래프(line plot), 막대그래프(bar chart), 히스토그램(histogram), 산점도(scatter plot) 등 다양한 형태의 그래프를 그릴 수 있다.


0개의 댓글