인공지능 기초 & 용어 정리

알파카파카·2025년 1월 26일


머신러닝 간단 정리

기본 개념

인공지능?

기계를 학습시켜 사용자가 원하는 결과를 도출해 내게 하는 프로그램
인공지능 > 머신러닝 > 딥러닝

지도학습?

상황과 조건에 따라 주어진(학습된) 데이터를 가지고 해당 상황에서의 정답을 도출하는 학습

  • 분류 -> 미리 정의된 여러 클레스 레이블 중 하나를 예측하는 것
    1) 이진분류 -> ex) Yes | No 분류
    2) 다진분류 -> ex) 개, 고양이 분류
  • 회귀 -> 정답을 알려주고(학습시키고) 예측시키는 것, 연속적인 값을 찾는 것

ex) KMA, Linear Regression, SVN, Decision Tree

비지도학습?

  • 군집
    비슷한 것들 끼리 묶어서 한 번에 보여주는 것(구글 알고리즘)
  • 시각화

ex) kmeans, 계층군집, 시각화, 차원군집

준지도학습?

  • 지도학습 + 비지도 학습
    ex) 사진으로 얼굴을 인식해서 그 사람을 태그하는 페이스 북의 기능
    KNA

강화학습

지도, 비지도, 준지도 학습과 다른 개념

모듈이 계속 환경을 탐색해 나가면서 행동을 해보고 보상이 극대화 되는 행동과 가까운 답을 찾게하는 것
ex) 먹이 찾는 생쥐

머신러닝과 프로그래밍의 차이

머신러닝과 프로그래밍은 잇풋을 받고 아웃풋을 내는 것은 같지만
머신러닝은 규칙과 패턴을 찾으며 자체적으로 개선(프로그래밍)을 계속하는 것이다.

일반화

학습 데이터와 Input 데이터가 달라져도 똑같은 성능으로 출력하기 위한 목적으로 머신러닝, 딥러닝의 효율이 달라지는 것이다.

  • 과대적합 -> 복잡한 학습 데이터를 너무 학습시켜서 학습 데이터로는 성능이 좋게 나오지만 실제 데이터를 넣어보면 기대치에 미치지 않게 되는 것
    훈련 데이터를 더 많이 모으거나 정규화를 시키거나 학습 데이터의 노이즈를 줄이는 방법이 해결 방법이다.
  • 과소적합 -> 과대 적합과 정 반대로, 학습시킨 데이터로는 너무 단순하여 규칙을 찾지 못하게 되어 발생하는 문제
    더 복잡한 모델을 선택하거나, 모델의 제약을 줄이거나 조기 종료되는 시점까지 학습을 시키는 등으로 해결이 가능하다.

인공지능 모델?

데이터를 학습시키며 규칙을 찾아주는 시스템, 데이터마다 적합한 모델이 달라진다.
ex) 스펨 메일을 구분하는 모델

특성?

데이터를 설명하는 입력 변수
ex) 집값을 변동을 예측할 수 있는 참조 값 -> 역세권, 평 수 등

레이블

예측하고자 하는 실제 항목

추론

학습된 모델을 사용하여 새로운 데이터에 적용하여 구축

사용하는 라이브러리

Numpy

행렬 관련 많은 기능이 있는 라이브러리

import numpy as np

data = [1, 2, 3, 4, 5]
arr = np.array(data)
arr.shape	# 행열의 모양
arr.dtype	# 데이터의 타입
np.zeros((9, 2))	# 9행 2열의 행열을 0으로 채워서 만듬
np.arange(20)	# 0부터 20개까지 1씩 증가하는 행열을 만듬 ( arrange 아님 )

Pandas

데이터를 분석하는 데에 자주 사용하는 라이브러리

import pandas as pd


pd.Series([1, 2, 3, 4, 5])	# 데이터를 넣으면 자동으로 인덱스를 매겨서 만들어줌
student_name = ["Astu", "Bstu", "Cstu", "Dstu"]
math = [12, 34, 56, 78, 90]
result = pd.DataFrame({
	"Name" : students_name,
    "math" : math
})
result
result.head(3)
result.tail(3)

Matplotlib

데이터 시각화 라이브러리

import matplotlib as plt

plt.bar(student_name.math)

Scikit-learn

지도, 비지도 학습의 알고리즘을 잘 사용할 수 있게 해주는 라이브러리

NLTK

자연어 처리에서 많이 사용되는 라이브러리, 토큰화를 해주는 라이브러리

profile
타닥,,, 타다닥,,,,,,,

0개의 댓글