스킨 인 더 게임

스킨 인 더 게임 Skin in the Game

<행운에 속지마라>와 <블랙 스완>으로 유명한 나심 탈레브의 최신간. –책 표지의 ‘제 2의 블랙스완’이 다가온다’와 같은 문구는 그냥 무시하는 편이 낫다.

앞선 두 책을 모두 읽기도 했고 –안티프래질은 읽지 않았지만– 나심 탈레브의 생각이 나랑 비슷하다는 것과 더는 새로운 얘기 보다는 기존 이야기의 답습일 것 같아서 안 읽으려다가 우연히 서점에서 훑던 중에 <21세기 자본>의 피케티를 비판하는 대목을 보고 구입해서 읽게 되었는데, 아쉽게도 그에 대한 내용은 큰 비중 없이 –나심 탈레브가 구체적으로 어떻게 비판했는지는 이 책에 나오지는 않는다. 피케티의 주장에 오류가 있다는 부분만 언급 됨– 지나가서 좀 허탈했다.

기본적인 생각이 비슷해서 나에게는 큰 감흥은 없었는데 –그렇다고 나심 탈레브의 모든 생각과 비슷한 것은 아니다. 유전자 조작 식품에 대해서는 명백히 반대의 입장을 취하는데, 육종은 안전한 반면 유전자 조작 식품은 믿을 수 없다는 나심 탈레브의 주장에는 실소가 나왔다. 유전자 조작 식품은 빠르고 정확한 육종이다. 나심 탈레브는 유전자에 대해 잘 모르는 것 같다. 덕분에 책의 다른 부분에 대해서도 신뢰가 좀 떨어졌음– 그래도 꽤 흥미로운 이야기가 많이 언급되고 있으므로 관심 있으시다면 읽어볼 만한 책이라 생각 됨.

이상엽/ 최적화 문제

곡선 적합

보간법

개념

주어진 특징 점들을 포함하는 함수를 구하는 방법

정리) 좌표평면에 있는 임의의 서로 다른 n 개의 점을 지나는 k 차 다항함수는 유일하게 존재한다. (단 k k < n 인 자연수)

사례

네 점 (1, 3), (2, -2), (3, -5), (4, 0) 을 모두 지나는 3차 함수

f(x) = a_{0} + a_{1} x + a_{2} x^{2} + a_{3} x^{3}

를 구하자. 우선 다음의 방정식을 세운다.

Step 1)

\left( \begin{array}{rrrr} 1 & x_{1} & x_{1}^{2} & x_{1}^{3} \\ 1 & x_{2} & x_{2}^{2} & x_{2}^{3} \\ 1 & x_{3} & x_{3}^{2} & x_{3}^{3} \\ 1 & x_{4} & x_{4}^{2} & x_{4}^{3} \end{array} \right) \left( \begin{array}{rrrr} a_{0} \\ a_{1} \\ a_{2} \\ a_{3} \end{array} \right) = \left( \begin{array}{rrrr} y_{1} \\ y_{2} \\ y_{3} \\ y_{4} \end{array} \right)

Step 2) 네 점을 대입하고 첨가행렬을 만든다.

\left( \begin{array}{rrrrr} 1 & 1 & 1 & 1 & 3 \\ 1 & 2 & 4 & 8 & -2 \\ 1 & 3 & 9 & 27 & -5 \\ 1 & 4 & 16 & 64 & 0 \end{array} \right)

Step 3) 첨가행렬을 가우스-조던 소거법을 이용하여 풀이한다.

\left( \begin{array}{rrrrr} 1 & 1 & 1 & 1 & 3 \\ 1 & 2 & 4 & 8 & -2 \\ 1 & 3 & 9 & 27 & -5 \\ 1 & 4 & 16 & 64 & 0 \end{array} \right) \Rightarrow \left( \begin{array}{rrrrr} 1 & 0 & 0 & 0 & 4 \\ 0 & 1 & 0 & 0 & 3 \\ 0 & 0 & 1 & 0 & -5 \\ 0 & 0 & 0 & 1 & 1 \end{array} \right)

Step 4) 

a_{0} = 4, a_{1} = 3, a_{2} = -5, a_{3} = 1 이므로 f(x) = 4 + 3 x - 5 x^{2} + x^{3} 이다.

  • 곡선 접합은 현재 가진 데이터에 대해 분석은 잘 할 수 있지만, 신규 데이터가 현재 그려 놓은 곡선 위에 존재한다는 보증이 없음. 유연성이 매우 떨어진다.
    • 애초에 데이터를 모두 포함하는 함수가 존재하지 않는 경우도 많음.

최소제곱법

  • 곡선 접합의 단점을 보완할 수 있는 방법.
  • 가우스가 창안한 방법으로 가우스는 이 방법을 통해 소행성 ‘세레스’ 의 궤도를 정확히 예측해 냄.

개념

특징 점들을 포함하는 함수를 특정 지을 수 없을 때, 실제 해와의 오차 제곱 합이 최소가 되는 근사적인 해를 구하는 방법

정리) 방정식 Ax = B 을 변형한 방정식 A^{T}Ax = A^{T}B (정규방정식)의 모든 해는 Ax = B 의 최소제곱해이다.

  • 요게 결국 선형회귀이다.
  • A^{T}Ax = A^{T}B (정규방정식)의 모든 해는 Ax = B 의 최소제곱해이라는 부분은 증명이 복잡하므로 강의 상에서는 생략.

사례

네 점 (0, 1), (1, 3), (2, 4), (3, 4) 에 근사하는 일차 함수 f(x) = a_{0} + a_{1} x 을 구하자. 우선 다음의 방정식을 세운다.

Step 1) Ax = B

\Leftrightarrow \left( \begin{array}{rrrr} 1 & x_{1} \\ 1 & x_{2} \\ 1 & x_{3} \\ 1 & x_{4} \end{array} \right) \left( \begin{array}{rr} a_{0} \\ a_{1} \end{array} \right) = \left( \begin{array}{rrrr} y_{1} \\ y_{2} \\ y_{3} \\ y_{4} \end{array} \right)

Step 2) 네 점을 대입하고 정규방정식 A^{T}Ax = A^{T}B 으로부터 방정식 x = (A^{T}A)^{-1} A^{T}B 을 구성한다.

A^{T}A = \left( \begin{array}{rr} 4 & 6 \\ 6 & 14  \end{array} \right) 이므로

(A^{T}A)^{-1} = \left( \begin{array}{rr} 4 & 6 \\ 6 & 14  \end{array} \right)^{-1} = {1 \over 10} \left( \begin{array}{rr} 7 & -3 \\ -3 & 2  \end{array} \right)  

\therefore x = {1 \over 10} \left( \begin{array}{rr} 7 & -3 \\ -3 & 2  \end{array} \right) \left( \begin{array}{rrrr} 1 & 1 & 1 & 1 \\ 0 & 1 & 2 & 3  \end{array} \right) \left( \begin{array}{rrrr} 1 \\ 3 \\ 4 \\ 4  \end{array} \right)

Step 3) x = \left( \begin{array}{rr} a_{0} \\ a_{1}  \end{array} \right) = \left( \begin{array}{rr} {2 \over 3} \\ 1 \end{array} \right) 이므로 구하고자 하는 함수는 f(x) = {3 \over 2} + x 이다.

n차 일반화

m 개의 자료점 (x_{1}, y_{1}), (x_{2}, y_{2}), ... , (x_{m}, y_{m}) 에 대해 n 차 다항식 y = a_{0} + a_{1} x + ... + a_{n} x^{n} 을 최소제곱법을 이용하여 근사하기 위해서는 Ax = B

A = \left( \begin{array}{rrrr} 1 & x_{1} & ... & x_{1}^{n} \\ 1 & x_{2} & ... & x_{2}^{n} \\ ... & ... & ... & ... \\ 1 & x_{m} & ... & x_{m}^{n} \end{array} \right), x = \left( \begin{array}{rrrr} a_{0} \\ a_{1} \\ ... \\ a_{n} \end{array} \right), B = \left( \begin{array}{rrrr} y_{1} \\ y_{2} \\ ... \\ y_{m} \end{array} \right)

로 설정하면 된다.

두 방법의 비교

  보간법 최소제곱법
목표 데이터를 모두 포함하는 함수 데이터의 경향을 반영하는 함수
데이터의 수 적을 수록 좋음 많아도 무방함
정밀도 매우 높음 상대적으로 낮음
신축성 조절이 어려움 조절이 자유로움

이차형식의 최적화

이차형식

가환환 K 위의 가군 V 에 대해 다음 세 조건을 만족시키는 함수 Q : V \to K

  • \forall k, l \in K, \forall u, v, w \in V
    • Q(kv) = k^{2} Q(v)
    • Q(u + v + w) = Q(u + v) + Q(v+w) + Q(u+w) - Q(u) - Q(v) - Q(w)
    • Q(kv + lv) = k^{2} Q(u) + l^{2} Q(v) + kl Q(u+v) - klQ(u) - klQ(v)

ex 1) R^{2} 상의 일반적인 이차형식은 다음과 같다.

a_{1}x_{1}^{2} + a_{2}x_{2}^{2} + 2a_{3}x_{1}x_{2} \Leftrightarrow \left( \begin{array}{rr} x_{1} & x_{2} \end{array} \right) \left( \begin{array}{rr} a_{1} & a_{3} \\ a_{3} & a_{2} \end{array} \right) \left( \begin{array}{rr} x_{1} \\ x_{2}  \end{array} \right)

ex 2) R^{3} 상의 일반적인 이차형식은 다음과 같다.

a_{1}x_{1}^{2} + a_{2}x_{2}^{2} + a_{3}x_{3}^{2} +  2a_{4}x_{1}x_{2} + 2a_{5}x_{1}x_{3} + 2a_{6}x_{2}x_{2}

\Leftrightarrow \left( \begin{array}{rrr} x_{1} & x_{2} & x_{3} \end{array} \right) \left( \begin{array}{rrr} a_{1} & a_{4} & a_{5} \\ a_{4} & a_{2} & a_{6} \\ a_{5} & a_{6} & a_{3} \end{array} \right) \left( \begin{array}{rrr} x_{1} \\ x_{2} \\ x_{3} \end{array} \right)

제약된 극값

개념

특정 제약 하에 결정되는 원하는 식의 최댓값 또는 최솟값

정리) n \times n 행렬 A 의 고윳값을 큰 순서대로 \lambda_{1}, \lambda_{2}, ... , \lambda_{n} 이라 하자. 이때 \|v\| = 1 제약 하에 v^{T}Av 의 최댓(솟)값은 \lambda_{1} (\lambda_{n}) 에 대응하는 단위고유벡터에서 존재한다.

사례

제약 x^{2} + y^{2} = 1 하에서

  • 위 제약 조건은 \vec{v} = (x, y) 로 정한 것과 같다. \|v\| = 1 이 된다.

z = 5 x^{2} + 5 y^{2} + 4xy

의 최댓값과 최솟값을 구하자. 우선 z 를 이차형식 v^{T} Av 형태로 변환한다.

Step 1) a_{1}x^{2} + a_{2}y^{2} + 2a_{3}xy

\Leftrightarrow \left( \begin{array}{rr} x & y \end{array} \right) \left( \begin{array}{rr} a_{1} & a_{3} \\ a_{3} & a_{2} \end{array} \right) \left( \begin{array}{rr} x \\ y \end{array} \right) = v^{T} A v

즉, z = \left( \begin{array}{rr} x & y \end{array} \right) \left( \begin{array}{rr} 5 & 2 \\ 2 & 5 \end{array} \right) \left( \begin{array}{rr} x \\ y \end{array} \right)

Step 2) 행렬 A = \left( \begin{array}{rr} 5 & 2 \\ 2 & 5 \end{array} \right) 의 고윳값과 고유벡터를 구한다.

\Rightarrow \begin{cases} \lambda_{1} = 7 & v_{1} = (1, 1) \\ \lambda_{2} = 3 & v_{2} = (-1, 1) \end{cases}

Step 3) 고유벡터를 정규화한다.

\Rightarrow \begin{cases} \lambda_{1} = 7 & v_{1} = ({1 \over \sqrt{2}}, {1 \over \sqrt{2}}) \\ \lambda_{2} = 3 & v_{2} = (-{1 \over \sqrt{2}}, {1 \over \sqrt{2}}) \end{cases}

Step 4) 따라서 (x, y) = ({1 \over \sqrt{2}}, {1 \over \sqrt{2}}) 일 때 z 는 최댓값 7을 갖고, (x, y) = (-{1 \over \sqrt{2}}, {1 \over \sqrt{2}}) 일 때 z 최솟값 3을 갖는다.

물론 v_{1} = (-1, -1), v_{2} = (1, -1)   등으로 설정해도 무방하며, 최댓(솟)값은 변하지 않는다.

머신 러닝 교과서/ 컴퓨터는 데이터에서 배운다

데이터를 지식으로 바꾸는 지능적인 시스템 구축

  • 20세기 후반 데이터에서 지식으 추출하여 예측하는 자가 학습(self-learning) 알고리즘과 관련된 인공 지능의 하위 분야로 머신 러닝이 출현했다.
    • 사람이 수동으로 대량의 데이터를 분석하여 규칙을 유도하고 모델을 만드는 대신, 머신 러닝이 데이터에서 더 효율적으로 지식을 추출하여 예측 모델과 데이터 기반의 의사 결정 성능을 점진적으로 향상시킬 수 있게 됨.

머신 러닝의 세 가지 종류

  • 머신 러닝은 3가지 종류로 구분해 볼 수 있다.
    • 지도 학습 (supervised learning)
    • 비지도 학습 (unsupervised learning)
    • 강화 학습 (reinforcement learning)

지도 학습으로 미래 예측

  • 지도 학습의 주요 목적은 레이블(label) 된 훈련 데이터에서 모델을 학습하여 본 적 없는 미래 데이터에 대해 예측을 만드는 것. 
    • 지도(supervised)는 희망하는 출력 신호(레이블)가 있는 일련의 샘플을 의미한다.
  • 지도 학습은 다시 데이터를 범주(category)를 구분하는 분류(classification)와 연속적인 값을 출력하는 회귀(regression)으로 구분할 수 있다.

분류: 클래스 레이블 예측

  • 분류는 과거의 관측을 기반으로 새로운 샘플의 범주형 클래스 레이블을 예측하는 것이 목적.
    • 클래스  레이블은 이산적(discrete)이고 순서가 없어 샘플이 속한 그룹으로 이해할 수 있다.
    • 스팸 이메일 감지는 전형적인 이진 분류(binary classification) 작업의 예이다.
  • 두 개 이상의 클래스 레이블을 가진 경우 지도 학습 알고리즘으로 학습한 예측 모델은 훈련 데이터셋에 있는 모든 클래스 레이블을 새로운 샘플에 할당할 수 있다.
    • 이런 다중 분류(multiclass classification)의 전형 적인 예는 손글씨 인식 문제.
  • 아래 그림은 30개의 훈련 샘플이 있는 이진 분류 작업의 개념을 나타낸다.
    • 15개의 샘플은 음성 클래스(negative class)로 레이블(뺄셈 기호)되어 있고, 다른 15개의 샘플은 양성 클래스(positive class)로 레이블(덧셈 기호) 되어 있다.
    • 각 샘플이 두 개의 x_{1}, x_{2} 값에 연관되어 있으므로 2차원 데이터 셋이다.
    • 지도 학습 알고리즘을 사용하여 두 클래스를 구분할 수 있는 규칙을 학습한다. 이 규칙은 점선으로 나타난 결정 경계(decision boundary)이다.
    • 새로운 데이터의 x_{1}, x_{2} 값이 주어지면 두 개의 범주 중 하나로 분류한다.

회귀: 연속적인 출력 값 예측

  • 회귀는 예측 변수(predictor variable)(또는 설명 변수(explanatory variable), 입력(input))와 연속적인 반응 변수(response variable) (또는 출력(outcome), 타겟(target)) 가 주어졌을 때 출력 값을 예측하는 두 변수 사이의 관계를 찾는다.
    • 학생들의 수학 점수를 예측하는 것이 그 예
  • 아래 그림은 선형 회귀(linear regression)의 개념으로 입력 x 와 타깃 y 가 주어지면 샘플과 직선 사이 거리가 최소가 되는 직선을 그을 수 있다. 
    • 일반적으로 평균 제곱 거리를 사용한다.
    • 이렇게 데이터에서 학습한 직선의 기울기와 절편(intercept)을 사용하여 새로운 데이터의 출력 값을 예측한다.

강화 학습으로 반응형 문제 해결

  • 강화 학습은 환경과 상호 작용하여 시스템(에이전트(agent))의 성능을 향상하는 것이 목적이다.
    • 환경의 현재 상태 정보는 보상(reward) 신호를 포함하기 때문에 강화 학습을 지도 학습과 관련된 분야로 생각할 수 있다.
    • 강화 학습의 피드백은 정답(ground truth) 레이블이나 값이 아니라 보상 함수로 얼마나 좋은지를 측정한 값이다.
    • 에이전트는 환경과 상호 작용하여 보상이 최대화 되는 일련의 행동을 강화 학습으로 학습한다.
    • 탐험적인 시행착오(trial and error) 방식이나 신중하게 세운 계획을 사용한다.
    • 강화 학습의 대표적인 예는 체스이다.

  • 강화 학습에는 여러 하위 분류가 있는데, 일반적인 구조는 강화 학습 에이전트가 환경과 상호작용하여 보상을 최대화 하는 것이다.
    • 각 상태는 양의 보상이나 음의 보상과 연관된다. 보상은 체스 게임의 승리나 패배처럼 전체 목표를 달성하는 것으로 정의할 수 있다.

비지도 학습으로 숨겨진 구조 발견

  • 지도 학습에서는 모델을 훈련할 때 사전에 옳은 답을 알고 있고, 강화 학습에서는 에이전트의 특정 행동을 어떻게 보상할지 그 측정 방법을 정의하는 반면, 비지도 학습에서는 레이블되지 않거나 구조를 알 수 없는 데이터를 다룬다.
    • 비지도 학습을 사용하면 알려진 출력 값이나 보상 함수의 도움을 받지 않고 의미 있는 정보를 추출하기 위해 데이터 구조를 탐색할 수 있다.

군집: 서브그룹 찾기

  • 군집(clustering)은 사전 정보 없이 쌓여 있는 그룹 정보를 의미 있는 서브그룹(subgroup) 또는 클러스터(cluster)로 조직하는 탐색적 데이터 분석 기법이다.
    • 분석 과정에서 만든 각 클러스터는 어느 정도 유사성을 공유하고 다른 클러스터와는 비슷하지 않은 샘플 그룹을 형성한다. 군집을 비지도 분류(unsupervised classification)이라고 하는 이유가 여기에 있다.
    • 클러스터링은 정보를 조직화하고 데이터에서 의미 있는 관계를 유도하는 도구이다.
    • 마케터가 관심사를 기반으로 고객 그룹을 나누는 것이 그 예

차원 축소: 데이터 압축

  • 비지도 학습의 또 다른 하위 분야는 차원 축소(dimensionality reduction)이다.
    • 고차원의 데이터를 다루어야 하는 경우 하나의 관측 샘플에 많은 측정 지표가 존재하는데, 이로 인해 머신 러닝 알고리즘의 계산 성능과 저장 공간의 한계에 맞닥뜨릴 수 있다.
    • 비지도 차원 축소는 잡음(noise) 데이터를 제거하기 위해 특성 전처리 단계에서 종종 적용하는 방법이다. 이런 잡음 데이터는 특정 알고리즘의 예측 성능을 감소시킬 수 있다.
    • 차원 축소는 관련 있는 정보를 대부분 유지하면서 더 작은 차원의 부분 공간(subspace)으로 데이터를 압축한다.
  • 차원 축소는 데이터 시각화에도 유리하다. 아래 그림은 고차원 특성을 1, 2, 3차원 특성공간으로 시각화하는 예

기본 용어와 표기법 소개

  • 아래 그림 1-8의 표는 머신 러닝 분야의 고전적인 예제인 붓꽃(Iris) 데이터셋 일부를 보여준다. 붓꽃 데이터 셋은 Setosa, Versicolor, Virginica 세 종류 150개의 붓꽃 샘플을 담고 있다.
    • 각 붓꽃 샘플은 데이터셋에서 하나의 행(row)으로 표현된다.
    • 센티미터 단위의 측정값은 열(column)에 저장되어 있으며, 데이터셋의 특성(feature)라고도 한다.

  • 데이터는 선형대수학(linear algebra)을 사용하여 행렬(matrix)과 벡터(vector) 표기로 데이터를 표현한다.
    • 일반적인 관례에 따라 샘플은 특성 행렬 X 에 있는 행으로 나타내고, 특성은 열을 따라 저장한다.
    • 150개의 샘플과 네 개의 특성을 가진 붓꽃 데이터셋은 150 x 4 크기의 행렬 X \in \mathbb{R}^{150 \times 4} 로 쓸 수 있다.

\left[ \begin{array}{rrrr} x_{1}^{(1)} & x_{2}^{(1)} & x_{3}^{(1)} & x_{4}^{(1)} \\ x_{1}^{(2)} & x_{2}^{(2)} & x_{3}^{(2)} & x_{4}^{(2)} \\ ... & ... & ... & ... \\ x_{1}^{(150)} & x_{2}^{(150)} & x_{3}^{(150)} & x_{4}^{(150)} \end{array} \right]

  • 기호 설명)
    • 위 첨자 i는 i번째 훈련 샘플을(지수가 아니다 주의), 아래 첨자 j는 데이터셋의 j번째 차원을 나타낸다.
    • 굵은 소문자는 벡터 (x \in \mathbb{R}^{n \times 1} )를 나타내고 굵은 대문자는 행렬 (X \in \mathbb{R}^{n \times m} )을 나타낸다.
    • 벡터나 행렬에 있는 하나의 원소를 나타낼 때는 이탤릭체를 사용한다. x^{n} 또는 x_{m}^{n}
    • 예컨대 x_{1}^{150} 은 150번째 샘플의 1번째 차원인 꽃받침 길이를 나타낸다. 특성 행렬의 각 행은 하나의 꽃 샘플을 나타내고 4차원 행 벡터 x^{i} \in \mathbb{R}^{1 \times 4} 로 쓸 수 있다. 

x_{i} = \left[ \begin{array}{rrrr} x_{1}^{(i)} & x_{2}^{(i)} & x_{3}^{(i)} & x_{4}^{(i)} \end{array} \right]

  • 각 특성 차원은 150차원의 열 벡터 x_{j} \in \mathbb{R}^{150 \times 1} 이다. 예컨대 다음과 같다.

x_{j} = \left[ \begin{array}{rrrr} x_{j}^{(1)} \\ x_{j}^{(2)} \\ ... \\ x_{j}^{(150)} \end{array} \right]

  • 비슷하게 타깃 변수(여기서는 클래스 레이블)를 150차원의 열 벡터로 저장한다.

y = \left[ \begin{array}{rrrr} y^{1} \\ y^{2} \\ ... \\ y^{150} \end{array} \right] (y \in \{ Setosa, Versicolor, Virginica \})

  •  

머신 러닝 시스템 구축 로드맵

  • 아래 그림은 예측 모델링에 머신 러닝을 사용하는 전형적인 작업 흐름을 보여준다.

전처리: 데이터 형태 갖추기

  • 데이터 전처리는 모든 머신 러닝 어플리케이션에서 가장 중요한 단계이다.
    • 많은 머신 러닝 알고리즘에서 최적의 성능을 내려면 선택된 특성이 같은 스케일을 가져야 한다. 특성을 [0, 1] 범위로 변환하거나 평균이 0이고 단위 분산을 가진 표준 정규 분포(standard normal distribution)로 변환하는 경우가 많다.
    • 일부 선택된 특성은 매우 상관관계가 높아 어느 정도 중복된 정보를 가질 수 있다. 이때는 차원 축소 기법을 사용하여 특성을 저차원 부분 공간으로 압축한다. 특성 공간의 차원을 축소하면 저장 공간이 덜 필요하고 학습 알고리즘을 더 빨리 실행할 수 있다.
    • 어떤 경우에는 차원 축소가 모델의 예측 성능을 높이기도 한다. 데이터셋에 관련 없는 특성(또는 잡음)이 매우 많을 경우, 즉 신호 대 잡음비(Signal-to-Noise Ratio, SNR)가 낮은 경우이다.
  • 머신 러닝 알고리즘이 훈련 데이터셋에서 잘 작동하고 새로운 데이터에서도 잘 일반화 되는지 확인하려면 데이터셋을 랜덤하게 훈련 세트와 테스트 세트로 나눠야 한다. 
    • 훈련 세트에서 머신 러닝 모델을 훈련하고 최적화 한다. 테스트 세트는 별도로 보관하고 최종 모델을 평가하는 맨 마지막에 사용한다.

예측 모델 훈련과 선택

  • 분류 알고리즘은 저마다 태생적인 편향이 존재한다. 작업에서 아무런 가정도 하지 않는다면 어떤 하나의 분류 모델이 더 우월하다고 말할 수 없다.
    • 현실에서 가장 좋은 모델을 훈련하고 선택하기 위해 최소한 몇 가지 알고리즘을 비교해야 한다.
  • 여러 모델을 비교하기 전에 먼저 성능을 측정할 지표를 결정해야 한다. 분류에서 널리 사용되는 지표는 정확도(accuracy)이다. 정확도는 정확히 분류된 샘플 비율이다.
  • 모델 선택에 테스트 세트를 사용하지 않고 최종 모델을 평가하려고 따로 보관한다면 테스트 세트와 실제 데이터에서 어떤 모델이 잘동작할지를 어떻게 알 수 있을까?
    • 이 질문에 나온 이슈를 해결하기 위해 다양한 교차 검증 기법을 사용한다.
    • 이 기법은 모델의 일반화 성능을 예측하기 위해 훈련 데이터를 훈련 세트와 검증 세트로 더 나눈다.
  • 또 머신 러닝 라이브럴리들에서 제공하는 알고리즘의 기본 하이퍼파라미터가 현재 작업에 최적이라고 기대할 수는 없다. 이어지는 장에서는 모델 성능을 상세하게 조정하기 위해 하이퍼파라미터 최적화 기법을 사용할 것이다.
    • 하이퍼파라미터(hyperparameter)는 데이터에서 학습하는 파라미터가 아니라 모델 성능을 향상하기 위해 사용하는 다이얼로 생각할 수 있다.

모델을 평가하고 본 적 없는 샘플로 예측

  • 훈련 세트에서 최적의 모델을 선택한 후에는 테스트 세트를 사용하여 이전에 본 적 없는 데이터에서 얼마나 성능을 내는지 예측하여 일반화 오차를 예상한다.
    • 이 성능에 만족한다면 이 모델을 사용하여 새로운 데이터를 예측할 수 있다.
    • 이전에 언급한 특성 스케일 조정과 차원 축소 같은 단계에서 사용한 파라미터는 훈련 세트만 사용하여 얻은 것임을 주목해야 한다. 나중에 동일한 파라미터를 테스트 세트는 물론 새로운 모든 샘플을 변환하는데 사용한다.
    • 그렇지 않으면 테스트 세트에서 측정한 성능은 과도하게 낙관적인 결과가 된다. 

머신 러닝을 위한 파이썬

  • (이하 파이썬 설치에 대한 내용 생략)

겨울왕국 2

그 유명한 애니메이션의 후속작. 전작이 캐릭터나 노래의 인기를 제하고도 꽤 여러 면에서 신선한 메시지를 던지고 있어서 개인적으로 높게 평가 했는데 이번작은 그것에는 못 미쳐서 아쉬웠다.

Perfect Girl이라는 압박에서 벗어나 자기 갈길 가겠다고 외쳤던 엘사의 ‘Let it go’나 연인이 아니라 자매를 선택한 안나의 행동은 대단히 의미 있었는데, 이번 편에서는 그러한 모습이 전혀 느껴지지 않았고 전작의 그 두 지점에 대한 답습만 있었음.

더 큰 어려움에 도전하고 그것을 자매가 힘을 합쳐 이겨내는 이야기를 기대했는데, 참 아쉬웠다. 가장 큰 어려움으로 연출된 것이 기껏 파도 넘는거라니…

하지만 그런게 뭐가 중요하겠는가 엘사가 이쁘고 노래가 좋으면 그만이지. 그 지점은 확실히 달성해 냈다. 엘사의 미모는 지금껏 애니메이션 캐릭터에 없던 수준이라 해도 무방.

19.11.24

전문가의 뇌는 망설이지 않는다

본질적으로, 비선택적 뉴런은 쥐가 어떻게 행동하든, 잘못된 선택을 하고 보상을 받지 못하더라도 무분별하게 반응한다. 초보자의 뇌는 선택적이지 않은 패턴의 뉴런으로 가득 차 있다고 처칠랜드 교수는 말한다.

그에 비해, 전문가의 뇌는 매우 구체적인 반응 패턴으로 가득 차 있다. 이 선택적 뉴런들은 쥐가 어떤 하나의 선택을 할 때만 반응한다. 생쥐가 어떤 방법이 다른 방법보다 더 낫다는 것을 알게 되면, 그 패턴은 더 강해진다.

결국 전문지식에 도달하면 패턴이 너무나 분명해져, 쥐는 어떤 결정을 실행하기도 전에 쥐의 뇌가 준비하는 것을 볼 수 있었다고 연구팀은 말한다. 쥐가 초보자일 때는, 뉴런만 가지고는 쥐가 어떤 선택을 하는 순간까지 무엇을 할지 알 수 없었다. 뉴런의 변화는 약 4주 동안 점진적으로 일어났다.

하면 할수록 익숙해지고 결정이 빨라진다는 것은 놀라운 일이 아닌데, 결정하기도 전에 준비가 일어난다는 것은 흥미롭다. 생각해보면 위치적으로도 전두엽은 나중에 처리하는 지역이라 일단 먼저 준비가 실행되고 전두엽이 최종 결정을 내리는 식으로 동작하는 듯

아디다스 로봇공장 실험은 왜 실패했나

아디다스는 이번 결정을 내린 이유를 더는 구체적으로 설명하지 않았다. 아마도 로봇공장이 만들 수 있는 신발 종류의 수가 제한돼 있다는 점이 큰 걸림돌이었을 것이라고 외신들은 추정했다. 애초 아디다스의 안스바흐 공장은 니트 소재의 갑피와 신축성 있는 중창을 갖춘 운동화를 자동생산하는 시스템을 갖췄다. 이는 아디다스의 대표적 인기제품인 슈퍼스타, 스탠스미스 같은 고무창 가죽신발을 만들 수는 없다는 걸 뜻한다. 새로운 자동화기계를 만들고 설치하면 가능하기는 했지만, 그러기에는 시간과 비용을 감수해야 했다. 자동화 시스템이 기대치에 비해 활용 폭이 적었던 셈이다.

아직 갈 길이 멀구나

“모든 자극과 쾌락 중단” ‘도파민 단식’

“식사를 삼간다. 스마트폰과 컴퓨터는 물론 어떠한 종류의 화면도 보지 않는다. 음악을 듣지 않는다. 집중과 에너지를 필요로 하는 운동을 하지 않는다. 업무를 하지 않는다. 성관계는 물론, 다른 사람의 몸을 만지지 않는다. 다른 사람과 눈을 맞추지 않는다. 꼭 필요한 경우를 빼곤 말을 하지 않는다.”

‘도파민 단식’을 하는 사람은 가벼운 스트레칭이나 실내에서 어슬렁거리는 산책, 집중하지 않는 가벼운 독서 등으로 소일하며 가능한 한 모든 감각적 자극을 최소화하는 시간을 보낸다.

나도 요즘 내가 내 뇌를 너무 밀어 붙이고 있다는 생각이 드는데 –물론 스마트폰 사용이 그 중 큰 부분이긴 하지– 명상과 산책이 필요하다고 느끼고 있음.

“너무 위험한 도구” 자동 글쓰기 AI 마침내 공개

올 2월 오픈AI가 공개한 사례를 통해, GPT-2 성능 수준이 알려졌다. “오늘 가수 마일리 사이러스가 할리우드 대로에 있는 아베크롬비 매장에서 물건을 훔치다 잡혔다”라는 문장을 제시하면, GPT-2는 기자가 쓰는 것만큼 자연스럽고 생생한 문장으로 이야기를 풀어낸다. 또 다른 사례로 “레골라스와 김리는 함성을 지르며 무기를 들고 오크를 향해 진격했다”라는 문장을 제시했더니, 인물 묘사와 대화가 포함된 짧은 판타지 이야기를 완성했다. 오픈AI쪽은 “카멜레온처럼 주어진 텍스트의 내용과 스타일을 다양하게 각색하는 인공지능 모델로, 이를 통해 사용자는 선택한 주제에 대해 생생하고 논리적인 후속 이야기를 만들 수 있다”고 설명했다. (중략)

오픈AI에 따르면, GPT-2의 장점과 함께 한계도 드러났다. 짧은 문장이 아니라, 소설과 같은 지속되는 긴 이야기의 경우에서 두드러졌는데, 등장인물의 이름과 특징을 지나치게 일관되게만 묘사하는 특징이다. 사람 작가가 쓰는 소설에서는 어색한 방법이라, 독자가 자연스럽지 않다고 느끼게 된다는 점이다.

재미있는 내용이라 정리. 아직은 갈 길이 멀다고 느끼면서도, 현재의 머신러닝, 딥러닝으로는 아예 도달 불가능한 영역이 아닐까 싶기도 하다. 다른 무언가가 필요하다고 생각 됨

 

천재의 탄생

제목 그대로 천재들이란 어떤 사람인지를 이해하고 무엇이 천재를 만드는지를 분석한 책. 천재의 특성에 대해서는 잘 분석이 되었지만 –천재는 재능과 창조성이 결합되어 나타난다–, 소제목에 나타나는 창조적 도약의 비밀은 명쾌한 답을 제시하지는 못하고 있다. –엄밀히 말해 아직 설득력 있는 견해가 없다라고 정리가 됨

개인적으로 큰 인상을 받았고, 좀 더 일찍 이 책을 읽었더라면 보다 이르게 올바른 방향으로 갈 수 있었겠다는 생각을 했음. 책은 크게 두 부분으로 나뉘는데 천재의 특성을 이야기하는 부분과 실제 천재라 불리는 사람들에 대한 업적을 탐구하는 부분. 후자는 다양한 분야의 인물들의 업적을 다루는데, 분량이 많고 관심이 없는 부분이라면 사실 생략해도 무방할 것 같다. 개인적으로는 아인슈타인 외에는 잘 집중이 되지 않았음.

이 책에서 정의하는 천재란 재능이 아주 뛰어난 사람이 아니라 재능은 상급이고 그와 더불어 뛰어난 창조성을 함께 갖고 있는 사람으로 정의한다. 비유하자면 IQ가 180인 사람보다 IQ는 120이라도 뛰어난 창조성을 가진 사람이 천재라 할 수 있다. –물론 IQ가 120보다 떨어지면 안 됨– 이는 우리가 생각하는 보편적인 개념과는 조금 다르면서 보다 천재의 정의에 가깝다고 생각 됨.

단순이 기계적인 재능이 뛰어난 것으로는 도약(breakthrough)을 이룰 수 없고, 창조성이 있어야 기존 질서를 무너 뜨리고 새로운 패러다임을 제시할 수 있다. 새로운 질서는 연속적인 것으로는 도달할 수 없는 지점에 존재하고, 어느 순간 도약이 필요한 것이라는 점에서 합당한 견해라고 생각 함. –괴델의 불완전성 정리가 다루는 내용도 같은 맥락이라 생각– 세상을 바꾸려면 기계적인 재능을 뛰어나게 다듬기 보다 창조성을 높이는데 집중해야 한다.

천재성은 여럿이 함께 할 수 없고, 한 개인이 고독한 상태에서 오랜 기간 자신의 분야나 문제에 집중 –집중 수준이 아니라 헌신에 가깝다– 해야 발휘되는 것 이라는 점도 합당한 내용이라 생각 함. 천재성은 합의로는 결코 도달할 수 없다. 개인이 홀로 오랜 기간 숙고하고 그와 관련하여 많은 양(quantity)의 결과물을 만들어 낼 때, 창조의 순간이 나타나고 그때 도약이 이루어지는 것.

19.11.17

우등생일수록 근시 많다는 이야기 사실일까

안경 썼다고 우등생은 분명 아니지만, 상당수의 우등생은 안경을 쓰는 것 같다. 오랜 과거 시험의 전통이 있는 한국 등 동아시아 사회의 근시가 유독 높은 것도 수상하고, 유대인이 다른 인종에 비해 두 배나 근시가 많은 것도 이상하다. 혹시 공부를 너무 열심히 해서 그런 것은 아닐까? 

일단 결론부터 말하면, 근시는 정시나 원시에 비해서 높은 지능과 관련되는 것으로 보인다. 수많은 연구에서 거의 일관된 결과를 보여주는데, 근시와 높은 지능은 ‘인과 관계의 방향성’은 알 수 없지만, 아무튼 양의 상관도를 가지고 있다. 물론 상식적으로 근시가 높은 지능의 원인일 것 같지는 않지만. 

재미있는 스낵 지식.

이상엽/ 복소벡터공간

복소벡터공간

정의

복소수체 \mathbb{C} 에 대한 가군. 즉 적당한 집합 V 에 대해 벡터공간 (V, \mathbb{C}, +, \cdot) 을 복소벡터공간이라 한다.

((V, \mathbb{C}, +, \cdot) 에서 \mathbb{C} 는 스칼라를 복소수에서 가져왔다는 얘기다. 실수벡터공간에서는 스칼라를 어디서 가져왔는지를 생략해서 표기한 셈. 엄밀하게 쓰면 (V, \mathbb{R}, +, \cdot) 이 되지만 일반적으로 생략해서 표기한다.)

또한 모든 복소 n-튜플 (v_{1}, v_{2}, ... , v_{n}) 의 집합을 복수 n-공간이라 하고 \mathbb{C}^{n} 으로 표시한다.

복소켤레

\mathbb{C}^{n} 의 임의의 벡터

  • v = (v_{1}, v_{2}, ... , v_{n})
    • = (a_{1} + b_{1}i, a_{2} + b_{2}i, ... , a_{n} + b_{n}i)
    • = (a_{1}, a_{2}, ... , a_{n}) + i(b_{1}, b_{2}, ... , b_{n})
    • = Re(v) + i Im(v)

에 대하여 v 의 복소켤레 (복소수 부분의 부호만 바뀜)

  • \bar{v} = (\bar{v_{1}}, \bar{v_{2}}, ... , \bar{v_{n}}) = Re(v) - i Im(v)
  • ex 1) v = (1+i, -i, 3, 3i) 에 대하여 Re(v), Im(v), \bar{v} 를 구하시오
    • Re(v) = (1, 0, 3, 0)
    • Im(v) = (1, -1, 0, 3)
    • \bar{v} = Re(v) - i Im(v) = (1 - i, i, 3, -3i)
  • ex 2) A = \left( \begin{array}{rr} 1 - i & 2i \\ -1 & 3+2i \end{array} \right) 에 대하여 \bar{A}, det(\bar{A}) 를 구하시오
    • \bar{A} = \left( \begin{array}{rr} 1 + i & -2i \\ -1 & 3-2i \end{array} \right)
    • det(\bar{A}) = 3 - 2i + 3i + 2 - 2i = 5 - i 

대수적 성질

  • \mathbb{C}^{n} 의 벡터 u, v 와 스칼라 k 에 대해
    • \bar{\bar{u}} = u
    • \overline{ku} = \bar{k} \bar{u}
    • \overline{u \pm v} = \bar{u} \pm \bar{v}
  • m \times k 행렬 A k \times n 행렬 B 에 대해
    • \bar{\bar{A}} = A
    • (\overline{A^{T}}) = (\bar{A})^{T}
    • \overline{AB} = \bar{A} \bar{B}

복소내적공간

정의

복소벡터공간 (V, \mathbb{C}, +, \cdot) 의 두 벡터 u = (u_{1}, u_{2}, ... , u_{n}), v = (v_{1}, v_{2}, ... , v_{n}) 의 내적 <u, v> : V \times V \to \mathbb{C}

<u, v> = u \cdot v = u_{1} \bar{v_{1}} + u_{2} \bar{v_{2}} + ... + u_{n} \bar{v_{n}}

로 정의한다. 또한 내적이 정의되어 있는 복소벡터공간을 복소내적공간이라 한다.

(만약 뒤에 있는 벡터에 켤레를 취해주지 않으면 노름 값이 0이나 음수가 나올 수가 있다. 때문에 뒤의 벡터에 켤레를 취해서 노름 값을 자연스럽게 만들어 줌. 엄밀히 말해주면 위의 연산이 내적공간의 연산이 기본이고, 실수벡터공간에서는 켤레를 취해줘도 의미가 없기 때문에 생략이 되었던 것)

성질

복소내적공간의 세 벡터 u, v, w 와 스칼라 k 에 대해 다음 성질이 만족한다.

  • <u, v> = \overline{<v, u>}
  • <u + v, w> = <u, w> + <v, w>
  • <u, v + w> = <u, v> + <u, w>
  • <ku, w> = k<u, w>
  • <u, kv> = \bar{k}<u, v>
  • v \neq \vec{0} 일 때 <v, v> > 0

고윳값과 벡터

정의

복소정사각행렬 A 에 대하여 고유방정식 det(\lambda I - A) = 0 의 복소해 \lambda A 의 복소고윳값이라 한다.

또한 Av = \lambda v 를 만족시키는 모든 벡터 v 의 집합을 A 의 고유공간, 고유공간의 영벡터가 아닌 벡터를 A 의 복소고유벡터라고 한다.

  • ex) A = \left( \begin{array}{rr} 2 & 1 \\ -5 & -2 \end{array} \right) 일 때
    • det(\lambda I_{2} - A) = det(\left( \begin{array}{rr} \lambda - 2 & -1 \\ 5 & \lambda + 2 \end{array} \right)) = \lambda^{2} + 1 = 0
    • \therefore \lambda = i or -i
    • \lambda = i 일 때
      • V = t \left( \begin{array}{rr} - {i + 2 \over 5} \\ 1 \end{array} \right)
      • 고유공간 =\{(- {i + 2 \over 5} , 1) \}
      • 고유벡터 =(- {i + 2 \over 5}t , t) (t \neq 0)

정리

\lambda 가 실 정사각행렬 A 의 고윳값이고 v 는 이에 대응하는 고유벡터이면, \bar{\lambda} 또한 A 의 고윳값이며 \bar{v} 는 이에 대응하는 고유벡터이다.

유니터리 대각화

용어의 정의

켤레전치행렬

복소행렬 A 의 전치행렬을 구한 다음 각 성분을 켤레인 복소수로 바꾼 행렬 A^{H} A 의 켤레전치행렬 또는 에르미트 전치행렬이라 한다.

스칼라 k m \times r 행렬 A r \times n 행렬 B 에 대해 다음이 성립한다.

  • (A^{H})^{H} = A
  • (A \pm B)^{H} = A^{H} \pm B^{H} (복부호 동순)
  • (kA)^{H} = \bar{k} A^{H}
  • (AB)^{H} = B^{H} A^{H}

에르미트행렬

A = A^{H} 가 성립하는 복소정사각행렬 A 를 에르미트행렬이라 한다.

유니터리행렬

복소정사각행렬 A 의 역행렬 A^{-1} 에 대하여 A^{-1} = A^{H} 가 성립하는 행렬 A 를 유니터리행렬이라 한다.

정규행렬

A A^{H} = A^{H} A 가 성립하는 복소정사각행렬 A 를 정규행렬이라 한다. 에르미트행렬, 유니터리행렬 등이 이에 해당한다.

유니터리 대각화

정의

P^{H}AP = D 가 복소대각행렬이 되는 유니터리행렬 P 가 존재하면 복소정사각행렬 A 는 유니터리 대각화가능하다고 한다.

또한 이러한 임의의 행렬 P A 를 유니터리 대각화한다고 한다.

정리

유니터리 대각화 가능한 행렬은 정규행렬이며, 그 역도 성립한다. 즉 정규행렬은 유니터리 대각화 가능하다.

에르미트행렬 A의 유티너리 대각화 과정

  1. A 의 모든 고유공간의 기저를 구한다.
  2. 고유공간의 정규직교기저를 구한다.
  3. 기저벡터를 열벡터로 하는 행렬 P 는 유니터리행렬이고, A 를 대각화 한다.

[유튜브] 지식보관소

과학 유튜브 채널. 채널 이름이 과학이 아니라 지식이기 때문에 과학이 아닌 다른 분야 –기술이나 공학– 의 이야기도 가끔 올라온다. 과학을 대중적으로 쉽게 알려주는 것에 유머가 더해져서 재미있게 볼 수 있음.

[유튜브] 피셔인베스트

제목 그대로 투자에 대한 내용을 주로 담는 유튜브 채널. 투자 자체에 대한 이야기보다는 투자 환경에 대한 경제, 시사 적인 내용을 지표를 기반으로 최대한 감정을 싣지 않고 전달한다. –이른바 국뽕 컨텐츠가 없다

누구나 아는 지표가 아니라 업계에 대한 전문성이 있어야 발견할 수 있는 지표 통해 설명해 주기 때문에 유용하게 보고 있음.