머신러닝(Machine Learning)

혜쿰·2023년 11월 14일
0
post-thumbnail

📘 개념

인공지능(AI)은 어디선가 한번이상은 들어본 적 있을 정도로 실생활에 만연해 있다. 인공지능은 위 사진에서와 같이, 인간의 지적 능력을 컴퓨터를통해 구현하는 기술이라고 간단하게 설명할 수 있다. 인공지능안에는 세부 개념으로는 머신러닝, 딥러닝이 있다. 오늘은 이 머신러닝에 대해 알아보자.
머신러닝은 명시적으로 프로그래밍하는 대신, 컴퓨터가 데이터를 학습하고 경험을 통해 학습과 개선을 하도록 하는 데 중점을 둔다. 머신러닝에서 알고리즘은 대규모 데이터 세트에서 패턴과 상관관계를 찾아 분석을 해서 최적의 의사결정과 예측을 수행하도록 훈련된다. 머신러닝 애플리케이션은 적용을 통해 개선되며 이용 가능한 데이터가 증가할수록 더욱 정확해진다.

다음은 머신러닝에서 자주 쓰이는 개념에 대한 설명이다.

1. 데이터: 머신러닝은 데이터 기반으로 작동한다. 이 데이터는 입력(Features)과 출력(label)으로 구성되며, 이를 통해 모델이 학습한다.
2. 모델: 데이터를 처리하고 학습하는 알고리즘이다. 이 모델은 주어진 입력으로부터 원하는 출력을 예측하도록 학습된다.
3. 학습: 모델이 데이터를 이해하고 적합하게 만들기 위해 데이터를 사용하는 과정이다. 학습은 모델이 일반화할 수 있는 규칙이나 패턴을 파악하도록 하는 중요한 과정이다.
4. 예측: 학습된 모델을 사용하여 새로운 입력에 대한 출력을 예측하는 과정이다.

머신러닝은 다양한 알고리즘 기법을 적용하는 여러 유형의 머신러닝 모델로 구성됩니다. 데이터의 특성과 원하는 결과에 따라 지도, 비지도, 준지도, 강화 등 네 가지 학습모델 중 하나를 적용할 수 있습니다. 사용 중인 데이터 세트와 원하는 결과에 따라 각 모델 내에서 하나 이상의 알고리즘 기법을 적용할 수 있습니다. 머신러닝 알고리즘은 기본적으로 사물 분류, 패턴 발견, 결과 예측, 정보 기반 의사결정 등을 수행하도록 설계됩니다. 알고리즘은 하나씩 사용할 수도 있고 복잡하고 보다 예측 불가능한 데이터가 포함된 경우에는 정확도를 극대화하기 위해 여러 알고리즘을 결합할 수도 있습니다.

📗 과정

1. 데이터 수집: 학습에 필요한 데이터 수집 및 준비

2. 전처리: 데이터 정제, 변환, 스케일링 등의 작업

3. 모델 선택: 사용할 알고리즘 선택

4. 모델 학습: 학습 데이터를 사용하여 모델 학습

5. 평가: 학습된 모델을 평가하고 성능 확인

6. 예측: 새로운 데이터에 모델을 적용하여 예측

📕 종류

  1. 강화 학습(Reinforcement Learning): 환경과 상호 작용하며, 행동의 결과에 따라 보상을 최적화하기 위해 학습하는 방식입니다.

1. 지도 학습

지도 학습(Supervised Learning) 은 레이블 또는 타깃이 있는 데이터를 사용하여 모델을 학습시키는 방법이다. 레이블 또는 타깃은 모델이 예측하려는 것으로, 주어진 입력 데이터와 그에 상응하는 출력 데이터(레이블 또는 타깃) 사이의 관계를 모델링한다. 지도 학습에서는 주어진 데이터와 레이블을 활용하여 모델을 학습하고, 새로운 입력 데이터에 대한 레이블을 예측하는 데 사용된다.

시스템은 알고리즘을 통해 시간에 따라 이 훈련 데이터를 모두 컴파일한 다음 상관관계가 있는 유사성, 차이점, 기타 논리 지점을 결정하기 시작하며, 이 작업은 질문에 대한 답을 스스로 예측할 수 있을 때까지 계속된다. 이것은 사람이 문제의 패턴과 답을 학습하고 비슷한 문제를 풀어나가는 과정과 비슷하다. 지도 학습은 회귀(Regression), 분류(Classification), 자연어 처리(Natural Language Processing), 이미지 처리(Computer Vision), 추천 시스템(Recommendation System) 등에서 활용된다.

2. 비지도 학습

비지도 학습(Unsupervised Learning)은 레이블이나 타깃 없이 입력 데이터의 구조나 패턴을 발견하거나 학습하는 방법이다. 입력 데이터는 대부분 레이블이 없는 비정형 데이터이다. 주어진 데이터에서 명시적인 결과나 레이블을 찾지 않고, 데이터의 내부 구조를 이해하거나 요약하는 데 사용된다. 비지도 학습은 데이터의 구조나 패턴을 이해하고 탐색하는 데 사용되며, 주로 레이블이 없거나 수작업으로 분류하기 어려운 데이터를 다룰 때 유용하다.

비지도 학습은 사람이 세상을 관찰하는 방식을 기반으로 다양하게 모델링된다. 사람은 직관과 경험에 의존해 사물을 그룹화한다. 어떤 사물에 대해 경험하는 예시의 수가 많을수록 그것을 분류하고 인식하는 능력이 더욱더 정확해진다. 머신에 있어서 '경험''이용 가능한 입력 데이터의 양'입니다. 비지도 학습은 군집화(Clustering), 차원 축소(Dimensionality Reduction), 연관 규칙 학습(Association Rule Learning), 생성 모델(Generative Modeling), 이상치 탐지(Anomaly Detection) 등에서 활용된다.

3. 준지도 학습

준지도 학습(Semi-Supervised Learning) 은 지도 학습과 비지도 학습의 특성을 결합한 학습 방법이다. 이는 레이블이 있는 데이터와 레이블이 없는 데이터를 모두 사용하여 모델을 학습시키는 방법이다.
일반적으로, 실제로 레이블이 있는 데이터는 많지 않고 레이블이 없는 데이터가 많을 수 있다. 준지도 학습은 이러한 상황에서 레이블이 있는 데이터뿐만 아니라 레이블이 없는 데이터도 활용하여 모델을 향상시키고, 일반화 성능을 향상시키려고 한다. 그렇기 때문에 대량의 원시 비정형 데이터를 처리해야 하는 경우 준지도 학습은 유효한 해결책이 될 수 있다.

이 모델은 소량의 레이블이 지정된 데이터를 입력해 레이블이 없는 데이터 세트를 증강한다. 이 모델의 핵심은 레이블이 지정된 데이터를 통해 시스템이 학습을 시작하게 하며, 학습 속도와 정확성을 상당한 수준으로 개선한다. 준지도 학습 알고리즘은 레이블이 지정된 데이터를 분석해 레이블이 없는 데이터에 적용 가능한 상관관계가 있는 속성을 찾도록 머신을 훈련한다. 주로 자기 학습(Self-training), 심층 신뢰 신경망(Deep Belief Networks, DBN), 일반화 강화(Transductive Inference) 와 같은 방법을 사용한다.
그러나 이 모델에는 시스템이 레이블이 지정된 데이터에 포함된 결함까지 학습해 복제할 위험이 있다.

4. 강화학습

강화 학습(Reinforcement Learning) 특정 환경에서 에이전트(agent)가 행동을 취하고 그 결과로 받는 보상을 최대화하기 위해 학습하는 방법이다. 이는 어떤 행동을 취할지 결정하는 정책(policy)을 학습하여 주어진 환경에서 최적의 행동을 선택하는 방법이다.
강화 학습의 주요 구성 요소는 다음과 같다.

  1. 에이전트(Agent)
    • 의사 결정을 내리고 행동하는 주체로서, 환경과 상호작용한. 목표는 보상을 최대화하는 최적의 행동을 학습하는 것이다.

  2. 환경(Environment)
    • 에이전트가 상호작용하는 외부 시스템 또는 상황을 의미한다. 환경은 에이전트의 행동에 대한 반응으로 상태(state)와 보상(reward)을 제공한다.

  3. 상태(State)
    • 시간 t에서의 환경의 상태를 나타낸다. 상태는 에이전트가 행동을 결정하는 데 필요한 정보를 포함한다.

  4. 행동(Action)
    • 에이전트가 특정 상태에서 취하는 선택 또는 행위를 의미한다. 이러한 행동은 환경에 영향을 미치고, 새로운 상태로 이동하게 한다.

  5. 보상(Reward)
    • 에이전트가 특정 상태에서 특정 행동을 취했을 때 환경으로부터 받는 피드백이다. 에이전트가 받는 누적 보상(reward)을 최대화하는 것이 목표다.

  6. 정책(Policy)
    • 에이전트가 주어진 상태에서 어떤 행동을 선택할지 결정하기 위한 전략 또는 규칙이다. 목표는 최적의 정책을 학습하여 최대 보상을 얻는 것이다.

강화 학습은 여러 면에서 사람에게 체스 게임을 하는 법을 가르치는 것과 유사하다. 체스 말이 이동할 수 있는 경우를 모두 보여주는 것은 불가능하며, 그 대신 규칙을 설명해주고 연습을 통해 기술을 습득하도록 한다. 보상은 게임을 이기는 것뿐 아니라 상대방의 말을 획득하는 형태로 이루어진다. 강화학습은 게임에서의 강화학습, 자율주행 자동차, 로봇 제어, 주식 거래, 자연어 처리 등에서 활용된다.






참고 사이트
머신러닝 분류 이미지
머신러닝 개념 참고

0개의 댓글

관련 채용 정보