강화학습의 핵심은 일단 시도해 보고, 결과에 점수를 매기는 것인데요. 행동의 결과가 자신에게 유리했다면 보상을 받고, 불리했다면 벌을 받습니다. 이를 계속 반복하면서 더 나은 점수(보상)를 받기 위한 방향으로 학습하는 것이죠. 게임을 예시로 한번 생각해 보겠습니다. 플레이어는 게임에서 보다 높은 점수를 얻기 위해 장애물을 더 잘 피하는 방법이나, 함정의 위치 등을 학습하고 그에 맞는 대응을 할 것입니다. 즉, 판단력이 강화되어 게임을 더 잘하게 됩니다. 강화학습은 이러한 과정을 모방하여 기계를 학습시킵니다.
지도 학습의 경우, 과거의 원인과 결과를 바탕으로 결과를 알 수 없는 원인이 발생했을 때, 어떤 결과를 가져올지 추측하는 것이 목적입니다. 따라서 독립변수(원인)에 따른 종속변수(결과)를 학습해야 하기 때문에, 독립변수와 종속변수를 구분 짓는 것이 중요합니다. 반면 비지도 학습은 미지의 세계를 파악하는 탐험가처럼, 데이터들의 성격을 파악하는데요. 정해진 정답은 없어서, 독립변수와 종속변수를 구분 짓는 것이 중요하지 않습니다. 그보다는 데이터들의 연결 상태와 서로 얼마나 가까운지가 더 중요합니다.
오늘은 머신러닝의 비지도 학습 방법 중 군집화에 대해 알아보겠습니다. 먼저 군집화란 그룹이라는 일종의 카테고리(군집)를 만들고, 이후 데이터 값을 보고 특정 군집으로 결정짓는 것(군집화)을 말합니다. 보통 여러 데이터가 쌓인 표를 보면 어떻게 묶어줘야 할지 쉽게 결정하기 어려운데요. 이때 데이터의 양이 적은 경우, 좌표 평면을 사용하면 가까운 것들끼리 묶을 수 있습니다. 그러나 더 많은 양의 복잡한 데이터는 어떨까요? 2차원의 표로 정리하는 게 불가능할 수도 있습니다. 이때 군집화 방법을 이용하면 3차원 또는 4차원으로 정리된 데이터를 묶어줄 수 있습니다.
지금까지 데이터 산업에서 데이터를 표나 그래프로 정리해서 본다는 것을 배웠습니다. 그렇다면 표에 정리했을 때, 독립변수와 종속변수는 어떻게 표현될까요? 표에서 어떤 열의 값이 변할 때 함께 변하는 다른 열이 있고, 이러한 상황이 해당 열에 모두 적용된다면 두 변수는 서로 엮여있다고 볼 수 있습니다. 이런 변화의 모습은 상관관계와 인과관계로 나뉘며, 상관관계가 인과관계를 포함하고 있습니다. 모든 인과관계는 상관관계이지만, 모든 상관관계가 인과관계는 아닐 수도 있습니다. 예를 들어, 바깥 기온이 높아질수록 실내 에어컨 온도가 낮아진다면, 실내 온도에 따라 실내 에어컨 온도가 변화해 둘은 인과관계에 있다고 볼 수 있습니다.
독립변수와 종속변수는 통계학과 머신러닝에서 중요한 개념입니다. 얼핏 보면 어려워 보일 수 있지만 이렇게 생각하면 이해하기 쉬울 것입니다. 독립변수를 "왜?", 종속변수를 "결과가 어떻게 달라질까?"라고 말이죠. 원인은 결과와 상관없이 일어나는 사건, 즉 결과에 영향을 받지 않는 독립적인 사건이지만 결과는 원인에 종속되어 발생하는 사건입니다. 원인은 독립적이기 때문에 독립변수, 결과는 원인에 종속되어 있기 때문에 종속변수라고 합니다. 독립변수가 변할 때 종속변수도 변화하며 이 관계를 통해 우리는 어떤 영향을 예측하거나 설명할 수 있습니다.