본문으로 건너뛰기

인공지능과 머신러닝 + 파이썬 복습

1. 인공지능, 머신러닝, 딥러닝의 정의 및 관계

인공지능(Artificial Intelligence): 인간 지능을 모방하여 수행하는 작업 또는 시스템을 의미하며, 더 넓게는 인간처럼 사고하고 예측하려는 컴퓨터 기술 전반을 지칭합니다. 이는 학습, 문제 해결, 추론, 지각 능력을 구현하려는 기술을 포함합니다.

  • 강 인공지능: 자의식이 있으며 일반적인 문제 해결이 가능한 이론적 기술입니다
  • 약 인공지능: 자의식이 없으며 특정 영역의 문제를 해결하는 현재 대부분의 인공지능 기술입니다

머신러닝(Machine Learning): 인공지능의 한 분야로 데이터 학습을 통한 예측이 가능하도록 하는 기술입니다. 1959년 아서 사무엘에 의해 만들어졌으며, 대량의 데이터를 학습한 후 기계가 스스로 결과를 추론할 수 있도록 합니다. 학습 가능한 데이터가 증가할수록 알고리즘의 성능이 향상됩니다.

딥러닝(Deep Learning): 머신러닝의 한 분야로 인공신경망을 통하여 비선형 데이터에 대한 유의미한 분석 및 예측이 가능하도록 하는 기술입니다. 인공신경망을 이용하여 데이터를 심층적으로 학습하고 결과를 예측하며, 이미지, 음성, 자연어 등 학습이 가능합니다. 수백만 개의 뉴런을 이용한 학습과 유사합니다.

정보

관계 요약: 인공지능은 가장 큰 개념이며, 머신러닝은 인공지능의 하위 분야, 딥러닝은 머신러닝의 하위 분야입니다.

2. 머신러닝 기술 종류

머신러닝은 크게 세 가지 유형으로 분류됩니다.

지도 학습(Supervised Learning)

개념: 정답지가 있는 데이터를 활용하여 데이터 학습합니다. 입력값(x)과 정답지(y)가 함께 제공되며, 정답지를 'target' 또는 'Label'이라고 부릅니다.

종류:

  • 분류(Classification): 이진 분류나 다중 분류가 가능하며, KNN, 나이브 베이즈 등의 알고리즘이 있습니다 (예: 스팸메일 분류)
  • 회귀(Regression): 연속된 값들이 주어진 경우에 사용되며, Linear Regression, Logistic Regression 등이 있습니다. 입력값에 대한 결과를 실수 등으로 추정합니다 (예: 강수량에 따른 쌀값 예측)

비지도 학습(Unsupervised Learning)

개념: 정답이 없는 데이터를 활용하여 데이터를 군집화하고 새로운 데이터에 대한 결과를 예측합니다. 입력값(x)으로부터 패턴이나 형태를 찾아 학습합니다.

종류:

  • 군집화(Clustering): 입력 데이터에 대해 여러 개의 클러스터(부분 그룹)로 나눕니다 (예: k-Means). (예: 고객에 대하여, 성별, 연령별 변수에 따라 고객군 그룹화)
  • 차원 축소(Dimensionality Reduction): 다차원(여러 개의 변수)의 수를 축소하여 분석과 시각화를 쉽게 합니다 (예: PCA, NMF). 속성 간 유사성/비유사성을 측정하여 속성 간 거리를 최대한 유지합니다

강화 학습(Reinforcement Learning)

개념: 입력 데이터에 대한 정답 데이터가 존재하지 않으며, 입력데이터에 대한 행동을 통하여 보상(reward)을 받으며 학습합니다. User(agent)가 게임의 환경(environment)에서 현재(state) 가장 높은 점수(reward)를 얻는 패턴을 학습하며 행동(action)하는 학습 방법입니다.

사례: 알파고, Game AI, 로봇 내비게이션 등

3. 인공지능의 다양한 적용 사례

인공지능 기술은 이미 다양한 분야에서 활용되고 있습니다.

  • AI 에이전트: 브라우저 내에서 업무 자동화 및 주문/예약 수행 (OpenAI Operator)
  • 자율주행 자동차: End-to-end 뉴럴 네트워크 기반 자율주행 (테슬라 로보택시). 라이다, 레이더 등 고가 센서 없이 카메라와 FSD 컴퓨터로 인식합니다
  • 헬스케어: 의료계 비대면 진단 및 수술, 약 처방, X-ray, CT 데이터 학습, 환자 컨디션 및 회복 속도 예측 등
  • 인공지능 반려 로봇: 딥러닝 알고리즘 기반으로 정서적 교감 및 사회적/정서적 보조 역할 수행. 감성 인공지능, 자연어 처리, 컴퓨터 비전 기술 활용
  • 스마트 홈: AI와 로보틱스 융합으로 집안일 보조, 사람과 객체, 손동작, 표정 등 인식
  • 스마트 그리드: 전기, 가스 등 전력망을 스마트하게 조절하여 전력 소모 스케줄링 및 환경 문제 대응 (예: 발전 시설 가동 시점 및 규모 계산)
  • 기타: 스마트 팜, 인공지능 게임, 스마트 팩토리, 쇼핑몰 추천 알고리즘, 범죄 예방, 챗봇 등

4. 머신러닝을 위한 파이썬 핵심 기술 복습

기본 문법

기본 연산자(+, -, *, /, //, %), 변수(자동 자료형 변경), 주석(#, ''' ~ '''), 조건문(if, elif, else), 반복문(for, while), 사용자 정의 함수(def), 클래스(class)를 포함합니다.

주요 자료형

리스트(list)

순서 있는 값들의 목록으로, 생성, 삽입, 삭제, 수정, 인덱싱, 슬라이싱이 가능합니다.

예시: a=[1,2,3]

튜플(tuple)

순서 있는 값들의 목록으로, 생성, 추가(튜플+튜플), 인덱싱, 슬라이싱이 가능하지만, 기존 목록에 대한 값 변경 불가합니다.

예시: a=(1,2,3)

참고: 1개의 값만 가질 때는 값 뒤에 ,를 붙여야 합니다 (a=(1,))

딕셔너리(dict)

순서가 없는 값들로, key:value 쌍으로 나열됩니다. 수정, 삽입, 삭제, key에 의한 value 검색이 가능하지만, 인덱싱, 슬라이싱은 불가합니다. key는 고유해야 합니다.

예시: a={'name':'hycu', 'phone':'0222901111'}

집합(set)

순서가 없는 값들로, 중복된 자료 허용 불가합니다. 생성, 삽입, 삭제, 수정이 가능하며, 합집합, 교집합, 차집합 등 다양한 집합 연산이 가능합니다.

예시: a={1,2,3} 또는 a=set([1,2,3])

참고: 인덱싱을 위해서는 리스트나 튜플로 변환해야 합니다

5. 추가 학습 및 실습 자원

딥러닝 모델링: 텐서플로, 케라스 등을 통한 딥러닝 모델링과 인공신경망 기반의 다양한 딥러닝 기술을 학습합니다.

실습 도구