본문 바로가기
인공지능

Machine Learning

by oncerun 2021. 11. 14.
반응형

 

기계학습이란 초기 인공지능 시스템부터 지능적 행동능력을 갖기 위해서 외부 환경으로부터의 정보를 이용하여 시스템 내부에 지식을 형성하고 저장하는 과정입니다.

시스템의 작업이 점차 반복될수록 더욱 효율적으로 효과적으로 수행하도록 하는 시스템의 적응적인 변화입니다.

 

 

기계학습은 여러 가지 형식으로 이루어질 수 있습니다.

 

Supervised Learning 

지도 학습은 입력과 이 입력에 대해 기대하는 출력을 학습 데이터로 제시한다. 그러면 시스템이 입력이 대한 시스템의 출력이 기대하는 출력과 같아지도록 시스템을 학습시키는 방법입니다.

 

Unsupervised Learning

 

자율학습, 비지도 학습입니다. 학습 데이터는 시스템에 대한 입력 값만으로 구성합니다. 지도 학습은 입력과 기대되는 출력 값 쌍으로 데이터를 제공하는 것과 달리 입력값만 제공합니다.

이러면 유사한 입력에 대해서는 동일한 출력을 내도록 학습합니다.

 

Reinforcement Learning

 

강화 학습은 보상을 통한 학습입니다. 에이전트는 현재의 환경에 대해 행동을 결정하여 실행하고, 이에 따라 변화된 환경과 함께 보상을 받으면서 일련의 행동에 따른 보상을 최대하 하는 정책을 개발하는 것입니다.

Feedback을 통해 옳고 그름을 정함으로써 학습의 참과 거짓을 파악하는 것입니다.

 

 

귀납적 학습

 

여러 가지 표본을 보고 일반화한 지식을 만들어낸다고 할 수 있는 이러한 과정이 귀납적 과정과 비슷합니다.

 

암기식 학습(rote learning) 문제와 풀이를 그대로 저장하여 동일한 상황에서 다시 사용할 수 있도록 하는 것입니다. 

입력과 출력이 일대일 대응되는 표본에서 암기적으로 학습을 진행하면 X1은 Y1을 제공하는 시스템이 됩니다.

이러한 rote learning은 많은 표본을 저장해 야하기 때문에 성능이 효과적이지 못합니다.

바둑과 같은 입력에 대해 많은 출력을 정할 수 있는 경우에는 적용할 수 없습니다.

그렇기에 우리는 일반화를 생각해 적용시켰습니다.

 

귀낙접 추론이란 반복적인 관찰이나 경험을 기반으로 해서 일반화된 논리를 이끌어 내는 추론 방법입니다.

귀납적 학습으로 일반화된 규칙을 학습함으로써
학습 표본 집합과  유사한 입력에 대해 적절한 판단을 내리도록 학습시킵니다. 

학습에 사용되는 표본은 실제로 발생할 수 있는 모든 경우 중에서 일부에 해당됩니다.

표본의 집합은 다양하게 구성될 수 있습니다. 사용된 학습 표본 집합에 따라 동일한 입력에 대해 다른 판단을 내리는 경우도 발생할 수 있습니다.  학습 과정에서 제시되지 않은 입력에 대해서는 잘못된 판단을 내릴 수 있습니다.

 

결국 기계학습이라는 것은 필연적으로 학습 데이터의 질에 영향을 받게 되어 있습니다.

학습의 질은 학습 데이터의 질과 밀접한 관계를 형성합니다.

 

학습 예시의 결함 유형으로는 부정확한 입력 속성 값이 존재하는 경우, 학습 예를 잘못 분류한 경우 학습에 필요한 주요 속성이 빠진 경우 등등이 존재합니다.

그렇기에 기업에서 여러 데이터를 수집하고 관리하는 것에 돈을 투자하는 이유입니다.

 

 

결정 트리 (decision tree)

 - 분할 정복 방식으로 특징 공간을 분할함으로써 입력된 대상을 분류하거나, 회귀분석을 하기 위한 트리

어떠한 특성 값을 기준으로 각 노드들로 분류를 하는 것입니다.  그중에서 Root 및 내부 노드(leaf가 아닌 노드)

는 공간을 분할하는 조건을 판단하는 함수를 가지고 있습니다.

- leaf node는 최종적인 분할 영역을 나타내는 노드로, 입력에 대한 출력 값을 가지고 있습니다.

 

결정 트리는 어떻게 학습?

 

제시된 학습 표본을 이용하여 지도 학습 방식으로 학습합니다. 각각의 노드에서 그 노드에 분류된 학습 표본 부분집합에 대해 불순도 검사를 시행합니다.

불순도가 높으면 적절한 검사를 통해 이를 분할할 수 있는 결정 노드를 생성합니다.

불순도가 0 또는 정해진 임계치 미만이면 해당 클래스 (또는 다수의 표본이 속하는 클래스)를 출력하는 잎 노드를 생성합니다.

 

불순도 검사 방법은 엔트로피(entropy), 지니 지수 (Gini index) 등을 사용합니다.

표본수에서 특정 클래스의 속한 표본수의 확률 값이 클수록 불순도가 적으며, 만약 여러 클래스의 속한다면 그 값을 시그마로 뽑아낼 때  불순도 값이 커져 특정 조건을 가진 노드 분할합니다.

 

 

노드 분할 결과의 불순도가 가장 낮아지게 하는 속성을 기준으로 분할합니다.

 

엔트로피 예제

 결과가 되는 엔트로피가 더 작은 쪽을 선택하여 노드를 분할합니다.

 

이후  분할된 노드의 엔트로피 값이 임계치보다 더 높다면 반복해서 분할됩니다. 그렇게 잎 노드에 도달하면

해당 잎 노드에 결괏값이 포함됩니다.

 

 

지니 지수 예제

 

선형 회귀

 

회귀분석(regression analysis)란 독립변수(입력)와 종속변수(기댓값) 사이의 상관관계를 추정하는 기법

 

그중 선형 회귀 (linear regression)란 독립변수와 종속변수 사이의 상관관계를 선형 함수로 모델링하는 것입니다.

 

여러 개 혹은 한 개의 독립변수와 종속변수에 대한 학습 표본 집합으로부터 선형 가설 $H_L$을 구하는 것입니다.

 

 

벡터의 내적을 이용해 선형 가설 값을 구합니다.  오차에 따른 비용 함수가 최소가 되는 선형가설을 구하는 것이 목표입니다.

 

비용함수 : 평균 제곱 오차(mean squared error:MSE)

 - 적절한 값이 구해졌을 경우 비용이 적게 나오며, 적절하지 않은 값일 경우 값이 크게 설정합니다.

이때 MSE를 사용할 수 있습니다.

하나의 표본을 넣고 기대하는 출력과의 차이를 제곱 후 표본 개수로 나누면 평균 제곱 오차가 도출됩니다.

경사 하강법 ( gradient descent method)를 이용한다면 비용 함수 기울기의 음의 방향으로 경사면을 따라 내려가도록 인자 값을 조금씩 변화시키는 것을 반복합니다.

 

기울기가 음의방향으로 향하도록

 

경사의 방향을 구하기 위해 각 인자에 대해 편미분을 통해 기울기 변화 방향을 구한 벡터가 바로 경사의 방향 , 기울기의 방향으로 정하고 이 값이 음의 방향으로 향하면 됩니다.

 

 

 

로지스틱 회귀 ( logistic regression)

 

독립변수의 값에 대해 종속변수가 0 또는 1이라는 값을 낼 수 있는 가설을 구하는 것입니다.

- 종속변수가 독립변수에 따른 유형을 구분하는 값일 경우

 

z값이 무한대로 향한다면 그 값은 1로 수렴하며, 음의 무한대로 향한다면 0으로 수렴합니다.

 

로지스틱 회귀의 가설은 선형 함수 H(x)를 로지스틱 함수에 넣어 0과 1 사이의 값을 갖는 가설을 구합니다.

선형 회귀를 할 경우에는 평균 제곱 오차를 사용하여 비용 함수를 정의했지만 로지스틱 회귀에서는 다른 방법을 사용합니다.

 

w에 따라 특정 학습 표본이 발생할 확률

다음과 같이 도출된 식에서 자연로그를 통해 계산식을 더욱 간단히 할 수 있다.

이렇게 도출된 비용 함수를 교차 엔트로피라 한다.

 

이러한 비용 함수가 정의되면 경사 하강법을 통해 학습을 시작합니다. 

w에 대해서 편미분을 해서 그 하나하나가 그 개수의 변화가 사용되도록 할 수 있습니다.

이러한 가설이 구해진 후 결정 경계를 구할 수 있습니다.

 

 

군집화 (clustering)

 

군집화란 패턴 집합이 주어졌을 때, 같은 종류라고 생각할 수 있는 몇 개의 서브클래스로 분할하는 것이며 자율학습 방식을 이용합니다.

 

 

k-평균 군집화 ( k - means clustering)

 

 학습 표본 집합을 대표하는 k개의 평균 벡터를 구함.

평균 벡터의 초기 추정치로 임의의 값을 부여한 다음 반복적으로 이를 수정하여 적절한 위치로 수렴하도록 하는 방법을 사용합니다.

 

순서

 

 1. 각각의 학습 표본을 가장 가까운 평균 벡터가 무엇인가에 따라 k개의 군집으로 분류합니다. 이 k개의 평균 벡터는 처음에는 임의의 값을 부여합니다. 각 학습 표본은 가까운 평균 벡터에 해당되는 클래스로 분류가 됩니다.

 

2. 이렇게 분류된 학습 표본들이 오른가에 대해서 검증을 진행합니다.

각각의 평균 벡터에 해당되는 군집으로 분류된 표본들의 평균을 구하여 그 평균 벡터를 수정.

 

k-평균 군집화의 특성은 미리 평균 벡터의 수를 지정해주어야 합니다.

모든 표본에 대해 그 표본과 가장 가까운 평균벡터 사이의 거리의 합이 최소인 평균 벡터를 구합니다. 

이때 평균 벡터의 초깃값에 따라 군집화의 결과가 다를 수 있습니다.

 

그렇기에 여러 초깃값을 설정해서 군집화를 지정하여 여러 결과중 가장 올바른 군집화결과를 사용합니다.

 

  1. 지도 학습 : 입력과 이에 대해 기대하는 출력을 학습 데이터로 제시하여 입력에 대한 시스템의 출력이 기대하는 출력과 같아지도록 시스템을 변화시키는 학습 방법
  2. 자율 학습 : 입력값만으로 구성된 학습 데이터 집합을 사용하여 유사한 입력에 대해서는 동일한 출력을 내도록 학습한다.
  3. 강화 학습 : 에이전트는 현재의 환경에 대해 행동을 결정하여 실행하고, 이에 따라 변화된 환경과 함께 보상을 받는다. 이를 통해 에이전트는 일련의 행동에 따른 보상을 최대화하는 정책을 개발한다.
  4. 귀납적 추론 : 반복적인 관찰이나 경험을 기반으로 해서 일반화된 논리를 이끌어 내는 추론 방법
  5. 결정 트리 : 분할 정복 방식으로 입력 공간을 분할함으로써 입력된 대상을 분류하거나 회귀분석을 하기 위한 트리
  • 회귀분석(regression analysis) : 독립변수와 종속변수 사이의 상관관계를 추정하는 통계적 기법
  • 선형 회귀(linear regression) : 독립변수와 종속변수 사이의 상관관계를 선형 함수로 모델링하는 것
  • 평균 제곱 오차(mean squared error) : 실제값과 예측값 사이의 오차를 제곱한 값의 평균
  • 로지스틱 회귀(logistic regression) : 회귀분석 기법 중 종속변수가 0 또는 1, 참 또는 거짓 등 범주로 구분하기 위한 방법
  • 다항 로지스틱 회귀(multinomial logistic regression) : 3개 이상의 클래스를 식별하기 위한 로지스틱 회귀
  • 군집화 : 패턴 집합이 주어졌을 때, 같은 종류라고 생각할 수 있는 몇 개의 서브클래스로 분할하는 것
  • k-평균 군집화 : k개의 평균 벡터를 임의 위치로부터 시작하여 학습표본 집합을 이용하여 반복적으로 업데이트함으로써 학습표본 집합을 대표하는 평균벡터를 만들어 내는 군집화 방법
반응형

'인공지능' 카테고리의 다른 글

Computer vision  (0) 2021.11.13
인공지능 개요  (0) 2021.09.11

댓글