내 삶을 차리는 독서의 시작
<알고리즘을 만드는 알고리즘 그리고 모델과 기계 학습>에 이어 <AI 최강의 수업> 2부 <사람보다 똑똑한 인공지능을 위한 기술> 중에서 <스스로 배우는 기계 학습> 후반부를 읽고 밑줄 친 내용을 토대로 생각을 담습니다.
기계 학습 알고리즘에 대한 분류 중에서 먼저 '지도 학습'에 대한 내용에 밑줄을 쳤습니다.
지도 학습Supervised Learning은 입력과 출력 간의 관계를 학습하는 데 사용된다. 입력과 그에 해당하는 출력이 쌍으로 주어진 훈련 데이터집합에서 입력과 출력 간의 함수관계를 배운다. 이렇게 얻어진 함수를 모델이라고 한다.
입력과 출력 간의 함수관계로 얻어진 함수가 모델이라고 합니다. 지도 학습으로 수행하는 문제는 주로 패턴 분류와 회귀분석이라고 합니다.
패턴 분류Pattern Classification 문제에서 입력은 패턴의 표현이고 출력은 라벨, 즉 패턴 범주의 명칭이다.
패턴 분류에서 입력이 패턴의 표현이면 출력은 라벨 즉, 패턴 범주의 이름이라고 합니다. 패턴의 표현과 범주 쌍으로 이뤄진 함수가 모델이 되는 것이죠.
인공 신경망에서는 패턴 분류에 사용할 특성과 그 경곗값을 학습 알고리즘이 스스로 찾는다. 그런 의미에서 인공 신경망 학습은 패턴 분류 알고리즘을 시작부터 끝까지 자동으로 만드는 능력이 있다고 할 수 있다. 이런 능력이 인공 신경망 기법이 가장 두드러진 장점이라고 할 수 있다.
이어서 패턴 분류 관점에서 의사결정 트리의 기능을 설명합니다.
의사결정트리Decision Tree는 패턴 분류 전략을 표현하는 단순 간결한 도구다. 의사결정과 그 결정의 결과로 발생하는 사건, 비용, 효과 등을 표현한다. 직관적이고 간단해서 전략 계획 등에 많이 사용된다.
의사결정트리는 인공지능과 무관하게도 널리 쓰였기 때문에 확인하려고 위키피디아를 잦아보았습니다.
A decision tree is a decision support recursive partitioning structure that uses a tree-like model of decisions and their possible consequences, including chance event outcomes, resource costs, and utility.
그렇군요!
의사결정트리는 논리적 판단을 위한 진리표Truth Table의 다른 표현이다.
나무처럼 뻗어나가는 모양을 표 형태로 바꾸면 진리표가 되는군요. 진리표 역시 위키피디아 정의를 찾아봅니다.
A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra, Boolean functions, and propositional calculus—which sets out the functional values of logical expressions on each of their functional arguments, that is, for each combination of values taken by their logical variables.
한편, 회귀분석에 대한 포기말에도 밑줄을 쳤습니다. 회귀분석을 보니 다시 패턴 분류란 범주를 떠올릴 수 있습니다.
회귀분석Regression Analysis은 입력과 출력이 연속형 숫자로 주어졌을 때 이들의 함수관계를 학습하는 문제다.
이번에는 비지도 학습에 대한 내용입니다.
비지도 학습Unsupervised Learning은 명시적으로 입력에 해당하는 바람직한 출력 정보가 주어지지 않는 상황에서 데이터의 특성을 학습하는 방법이다. 학생이 선생님 없이 스스로 배워야 하는 상황과 같다.
두 아들의 자기 주도 학습을 코칭하는 입장이라 비지도 학습에 대한 비유에 더욱 관심이 갑니다. 비지도 학습 역시 지도 학습의 경우와 마찬가지로 전형적인 쓰임새가 있네요.
비지도 학습으로 수행하는 대표적인 문제는 군집화와 차수축약이 있다. <중략> 군집화를 위해서는 유사성의 판단 기준을 미리 정해야 한다. 유사성은 데이터 간의 '거리'를 갖고 판단할 수 있다. 하지만, '거리'라는 개념은 공간 개념과 같이 다양할 수 있다.
학창 시절 배웠던 집합의 정의가 떠오릅니다. 이커머스 관련 경험으로 귀에 익은 추천 알고리즘이 군집화에 속하는군요.
소비자의 구매 이력을 이용하여 신상품을 추천하는 데에는 군집화 방법이 사용된다.
다음으로 차수축약은 차원 감소 문제라고도 부릅니다.
너무 많은 수의 특성으로 데이터를 표현하면 그 데이터가 갖는 깊은 의미를 나타내지 못하는 경우가 많다. 꼭 필요한 특성만으로 데이터를 표현하면 데이터가 갖는 깊은 의미를 표현할 수 있고, 계산도 간편할 수 있다. 적은 수의 중요한 특성으로 데이터를 표현하기 위해 차원 축소Dimensionality Reduction라는 작업을 한다.
'꼭 필요한 특성만으로 데이터를 표현'이라는 문구를 읽을 때면 요즘 널리 쓰이는 '육각형'이란 표현이 떠오릅니다.
단락의 제목인 '일반화 능력'과 '좋은 모델'의 특성이 유사한 뜻처럼 읽힙니다.
우리는 훈련 결과로 '좋은' 모델이 학습되었기를 기대한다. 여기서 '좋은'의 의미는 다양하게 해석될 수 있다. 첫째, 능력이 광범위하다는 의미다. 다양한 경우에서 인식이나 예측의 성능이 높다는 뜻이다. 둘째, 얻어진 모델이 간단해서 표현하기도 좋고 적은 계산으로도 답을 구할 수 있다는 것이다. 훌륭한 과학 이론일수록 간단하면서도 다양한 현상을 설명해 준다.
특히 마지막 포기말(문장)[1]이 이러한 느낌을 강화합니다. 더불어 아인슈타인이 발견한 그 유명한 공식도 떠오릅니다.
한 마디로 일반화 능력은 하나를 보면 열을 아는 것이군요.
학습된 모델이 새로운 입력 데이터에 대해서도 '합리적인' 출력값을 생성하길 기대하는데 이를 일반화 능력이라고 한다. 일반화 능력이 부족한 모델은 학습에 사용한 입력에는 옳은 값을 도출하지만 처음 보는 입력에서는 엉뚱한 결과를 낸다. 일반화 능력이 우수한 모델은 새로운 환경에서도 합리적 성능을 낼 가능성이 크다.
뒤이어 일반화 능력의 중요성을 드러내는 포기말도 보입니다.
데이터로부터 새로운 지식을 도출하는 것이 기계 학습이다.
한편, 모델의 복잡도의 척도로 파라미터의 수가 쓰인다고 합니다.
모델의 복잡도는 모델에 사용되는 파라미터의 수라고 할 수 있다.
[1] <한국말 말차림법>에서 제안한 문장에 대한 토박이 말입니다. 왜 포기말인지는 <언어에 대한 일반이론>에서 일부 답을 얻을 수 있습니다.
8. 알고리즘을 만드는 알고리즘 그리고 모델과 기계 학습
(106회 이후 링크만 표시합니다.)
106. 감정의 민첩성을 얻기 위해 감정에서 한 걸음 비켜나기
107. 생각이 살아서 여행을 멈추지 않도록 돕는 동반자다
108. 감정의 민첩성을 얻어 자기 목적에 맞는 길을 걸어가기
109. 사람보다 똑똑한 인공지능을 위한 기술
110. 인공지능이 불러올 피할 수 없는 질문
111. 어떻게 감정의 덫에 걸리게 되는 걸까
113. 무엇 때문에 소통하고, 일하고, 존재할 것인가?
114. 감정은 이렇게 우리를 낚는다
115. 거짓말이 지배하는 출세를 극복하는 거대한 직면
116. 안물안궁 2024년 안영회 독서 목록