2강 - Linear Regression

1. 선형회귀 개념

 

회귀 분석

회귀분석은 기본적으로 하나 이상의 독립변인(들)(또는 '예측변인'이나 '설명변인'이라고도 함)이 한 단위 변할 때, 종속변인(또는 '결과변인'이나 '피설명변인'이라고도 함)이 얼마나 변할 것인지, 다시 말해 하나 이상의 독립변인(들)이 종속변인에 미치는 영향력을 예측(prediction)하는 데 주로 사용하는 통계분석 기법이다

[네이버 지식백과] 회귀분석 (커뮤니케이션 통계 방법, 2013. 2. 25., 커뮤니케이션북스)

 

회귀

회귀분석(regression analysis)에서 '회귀(regression)'란 용어는 19세기 프랜시스 갤턴(Francis Galton)이 키 큰 선대 부모들이 낳은 자식들의 키가 점점 더 커지지 않고, 다시 평균 키로 회귀하는 경향을 보고서 발견한 개념이다. 이를 통계학 용어로 '평균으로의 회귀(regression toward mean)'라고 한다.

[네이버 지식백과] 회귀분석 (커뮤니케이션 통계 방법, 2013. 2. 25., 커뮤니케이션북스)

 

선형회귀

통계학에서, 선형 회귀(線型回歸, 영어: linear regression)는 종속 변수 y와 한 개 이상의 독립 변수 (또는 설명 변수) X와의 선형 상관 관계를 모델링하는 회귀분석 기법이다. 한 개의 설명 변수에 기반한 경우에는 단순 선형 회귀, 둘 이상의 설명 변수에 기반한 경우에는 다중 선형 회귀라고 한다.

출처: https://ko.wikipedia.org/wiki/%EC%84%A0%ED%98%95_%ED%9A%8C%EA%B7%80

 

2. 선형회귀 분석

 1) 종속 변수 y와 한 개 이상의 독립 변수 X와의 선형 상관관계에 의해 어떻게 영향을 받는지 분석한다.

   - 공부를 열심히 할 수록 성적이 높아진다.
   - 훈련을 열심히 할 수록 운동 실력이 좋아진다.
   - 집의 크기가 크면 클수록 가격이 비싸진다.
 2) 값을 예측하는 것이 목적일 경우, 선형 회귀를 사용해 데이터에 적합한 예측 모형을 개발한다. 개발한 선형 회귀식을 사용해 y가 없는 x값에 대해 y를 예측하기 위해 사용할 수 있다.

 3) 선형 회귀라는 이름에서 ‘선형’이 의미하는 것은 분석의 결과가 직선의 형태를 띠고 있기 때문이다.

 4) 선형회귀 모델을 표현하는 함수는 y = W * x + b이다.

 

 

        

선형회귀 분석의 가설 함수는 W라는 기울기와 b라는 y절편을 갖는 1차방정식이다. 이는 x, y 좌표 평면상에서 직선을 나타낸다.

 

선형회귀 분석 목적

선형회귀 분석의 가설함수는 학습된 기존 데이터를 가장 잘 표현하는 직선을 결정하는 함수이며 이 직선은 W와 b를 변화시켜가면서 찾을 수 있다.  바로 이 최적의 W와 b 찾는 것이 선형회귀분석의 목적이다. 그리고 이렇게 찾아진 W와 b를 함수에 대입하게 되면 기존의 데이터가 아닌 새로운 x값이 나타났을 때 그 새로운 x에 대한 y값을 예측할 수 있게 되는 것이다.

 

 

 

# Lab 2 Linear Regression
import tensorflow as tf
import matplotlib.pyplot as plt
tf.set_random_seed(777)  # for reproducibility

# X and Y data
x_train = [1, 2, 3]
y_train = [1, 2, 3]

 

# Try to find values for W and b to compute y_train = x_data * W + b
# We know that W should be 1 and b should be 0
# But let TensorFlow figure it out

W = tf.Variable(tf.random_normal([1]), name='weight')
b = tf.Variable(tf.random_normal([1]), name='bias')

 

# Our hypothesis XW+b
hypothesis = x_train * W + b

 

# 시각화

fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_title('Linear Regression', size=20)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.scatter(x_train, y_train, color='red', marker='o')
ax.plot(x_train, x_train * W + b, color='green', linewidth=3)
plt.show()

 

▶ import tensorflow as tf

   TODO TensorFlow API 소개

 

import matplotlib.pyplot as plt
   TODO  matplotlib.pyplot API 소개

 

▶ tf.set_random_seed(777)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Posted by 이성윤

머신러닝의 개념과 용어

▶ 회귀분석

 

▶ Linear Regression

 

 한  변수(y, 종속 변수)가 다른 변수(x, 독립 변수)에 의해 어떻게 영향을 받는지 분석한다.  즉, 두 변수간에 인과관계가 있을 때 유효하다. (예 : 소득 수준과 문화 생활에 지출하는 비용간의 관계)
 선형회귀 모델을 표현하는 함수는 y = W * x + b이다.

출처: http://mazdah.tistory.com/749?category=598657 [꿈을 위한 단상]

 

▶ Hypothesis

▶ Cost(Loss)

 

 

 

 

 

 

 

 

 

Posted by 이성윤

Basis of a subspace

 

부분공간 V는 어떠한 벡터집합의 생성과 같다. 임의의 벡터집합의 생성은 유효한 부분공간이라고 한다.

v₁ , v₂, ... , vn 벡터들의 생성이므로 n개의 벡터가 존재한다. v₁ , v₂, ... , vn에 이르는 벡터들의 집합은 선형독립이다.

생성이라는 것은 이 부분공간이 벡터들로 만들 수 있는 모든 가능한 선형결합의 집합을 말한다. 각각 다른 상수를 곱한 선형결합으로 표현할 수 있다.  "c₁ x v₁  + c₂ x v₂ + ... + cn x vn" 이 결합의 모든 경우의 수를 벡터의 집합으로 만들면 그것이 바로 생성이며 부분공간 V의 정의이기도 하다.

선형독립의 정의는 곧 식 c₁ x v₁  + c₂ x v₂ + ... + cn x vn 의 결과가 영벡터라는 뜻이며 모든 항이 0이라는 뜻이다. c₁=c₂=cn=0 c1부터 cn까지 모두 0이다. 상식적으로 생각하면 이 중 어느 벡터도 나머지 벡터의 결합으로 표현될 수 없다는 것이다.

벡터집합의 생성이 부분공간(V)과 같거나, 부분공간(V)을 만들어내거나 혹은 부분공간(V)을 생성하고 동시에 모든 벡터가 선형독립일 때 우리는 이 집합을 S라고 정의할 수 있다. S는 v₁ , v₂, ... , vn의 집합이므로 벡터집합이 될 것이다.

그렇게 되면 우리는 다음과 같이 정의할 수 있다.  벡터집합 S가 부분공간 V의 basis이다.

어떠한 집합의 basis라는 것은 벡터들이 부분공간 V을 생성하고 부분공간 V의 어떠한 벡터도 될 수 있으며 그 벡터들은 선형독립이라는 것이다.

여러 방면에서 생각해보면, 한 가지는, 부분공간을 생성하는 것이 다양할 수 있다는 점이다. 다른 집합 T를 정의하여 집합 T를 집합 S의 벡터 v₁ , v₂, ... ,vn을 포함하며 또 다른 벡터도 포함하는 집합으로 정의해보자. 다른 벡터를 vs라고 하며 이는 집합 S에 하나의 벡터를 추가한 것이다. vs가 v₁와 v₂를 더한 것이라고 가정한다. 

이 집합은 선형독립이 아닐 것이다. 하지만 T의 생성은 여전히 부분공간 V와 같을 것이다. 하지만 이 집합을 선형독립이 아니도록 하는 벡터(vs)가 존재하기 때문에 이 집합은 그러므로 선형독립이 아니다. T는 선형종속이며 이 경우 T는 V의 basis라고 할 수 없다.

basis는 어떠한 공간을 생성(span)하는데 필요한 최소한의 벡터 집합이라고 볼 수 있다.

최소한의 벡터집합은 "v₁ , v₂, ... ,vn" 부분이다. T = {v₁ , v₂, ... ,vn, vs} 에서의 벡터 집합이 부분공간을 생성하기는 하지만 최소한의 집합이 아니라는 것을 알 수 있다.  왜냐하면 이 마지막 벡터가 없어도 똑같은 부분공간이 생성되기 때문이다. 이 마지막 벡터 없이도 나머지 벡터들이 부분공간 V를 생성할 것이다. "Span(T) = V" 그러니까 저 벡터는 불필요하다고 볼 수 있으며 basis에는 불필요한 중복이 존재하지 않는다. "이 벡터(v₁ , v₂, ... ,vn" )들은 부분공간 V의 임의의 벡터를 구성하기 위해서 모두 필요하다.

 

 

이 포스팅은 머신러닝/딥러닝을 위한 선행학습으로 칸 아카데미(Khan Academy)Linear algebra(선형 대수) Vectors and spaces의 Basis of a subspace 강의에 대한 학습노트입니다

Posted by 이성윤

Linear subspaces

wikipedia: Linear Subspaces

Let K be a field (such as the real numbers), V be a vector space over K, and let W be a subset of V. Then W is a subspace if:

  1. The zero vector, 0, is in W.
  2. If u and v are elements of W, then the sum u + v is an element of W.
  3. If u is an element of W and c is a scalar from K, then the scalar product cu is an element of W.

벡터공간 V의 부분집합 W가 V에서 정의된 덧셈과 스칼라곱에 관하여 그 자체로서 벡터공간을 이룰 때 W를 V의 부분공간(subspace)이라 한다.

V는 의 부분 집합이다.

V가 부분공간이 되려면, V가 부분공간이거나 의 선형 부분공간이라면 다음의 3가지를 의미한다.

 

V가 영벡터를 포함한다는 것을 의미

만약 V가 어떤 벡터 x를 가지고 있다면, x가 V에 포함된 벡터 중 하나라면 임의의 실수를 x에 곱했을 때
 x가 V에 있고 V가 의 부분공간이라면 x에 임의의 스칼라를 곱한 값 또한 V에 있다. 이러한 경우를 "closure"라고 한다.

집합에서 어떤 원소를 다른 스칼라와 곱하더라도 그 값은 집합에 여전히 있을 것이다.  만약 어떤 스칼라랑 곱했는데 집합에서 벗어나게 된다면 부분집합에 없는 다른 벡터가 나오게 된다면 이 부분집합은 부분공간이 아니게 된다.

이 집합이 부분공간이 되기 위해서는 이 부분집합에 있는 임의의 벡터에 어떤 실수 스칼라를 곱하더라도 이 부분집합에 있는 또다른 원소를 얻어야 한다..

벡터 a, 벡터 b

두 원소를 더하면 이것은 부분집합 내의 임의의 두 원소가 됩니다 그리고 두 원소를 서로 더하면 부분집합 내의 또 다른 원소를 얻게 된다. 이것이 바로 덧셈에 대해 닫혀있다는 뜻이다.

영벡터를 포함하는 Rn의 부분집합이 있고, Rn 안의 어떤 벡터들의 집합을 가지고 있다면 그리고 곱셈과 덧셈에 대해 닫혀있다면 부분공간이 존재한다.

집합 V는 R3의 부분공간이 되려면 세 가지 조건을 만족해야 한다.
- 영벡터를 포함해야 한다.

- 곱셈에 대해 닫혀 있는가?

c 곱하기 0으로 즉 0이 나온다. 집합의 유일한 원소를 얻게 되므로 이 집합은 곱셈에 대해 닫혀 있다.

- 덧셈에 대해 닫혀 있는가?

원소가 하나밖에 없는 상황에서 집합의 원소를 더한다면 벡터를 그대로 얻게 되므로 덧셈에 대해 닫혀 있다.

결론적으로 영벡터만을 가지고 있는 아주 단순한 R3의 이 부분집합이 부분공간이라는 게 확실히 밝혀졌다.

좌표축에서 특정 부분공간과 부분집합이 있다고 가정

1사분면, 4사분면 포함

- 0 벡터를 포함하고 있나?
벡터 (0, 0) 집합 S에 포함되어 있다.

- 이 집합의 두 벡터를 더한다면 그 더한 벡터도 이 집합에 속하나?

한 벡터의 꼬리를 머리에다 붙일 수 있다. 그럼 한 벡터가 나오게 된다.

- 스칼라 곱셈은 어떨까?

만약 벡터(a, b)에 -1을 곱하면 어떻게 될까?

시각적으로 볼 수 있듯이 명백하게 빠지게 된다. 수학적으로도 a를 양의 값으로 가정하면 명백히 음수가 된다. 그러므로 R2의 부분집합은 부분공간이 아니다. 곱셈 혹은 스칼라 곱셈에 대해 "Closure" 되지 않았기 때문이다.

어떤 집합의 선형생성에 대해서 생각해보자.

벡터 v1, v2, v3에 대해서 Rn의 유효한 부분공간인지 알아보자.

집합의 모든 선형결합이 선형생성인 집합을 U라고 정의한다. U를 그 선형생성으로 정의하고 U가 유효한 부분공간인지 확인한다.

- 0벡터를 포함하고 있는가?

위는 세 벡터들의 선형결합이다.

- 이 집합은 곱셈에 대해 닫혀 있나?

명백히 세 벡터들의 또 다른 선형결합이다.  선형생성은 세 벡터의 모든 선형결합들의 집합이다.  따라서 그 선형결합들 중 하나이고 이 또한 선형 생성 안에 포함된다.  말하자면 U에 속해있다는 것이다.  이 또한 세 벡터의 선형생성 안에 있으며 곱셈에 대해 닫혀있다고 볼 수 있다.

- 덧셈에 대해 닫혀있는가?

v1, v2, v3의 선형결합이며, v1, v2, v3의 Span(생성)이 되므로 덧셈에 대해 닫혀 있다.

임의의 벡터의 Span(생성)이 유효한 부분공간이라고 하였다. 예를 들어 아래와 같이 정의한다.

- 0벡터를 포함하는가?

- 곱셈에 대해 닫혀있나?

Span(생성)은 모든 벡터들의 집합이다.  만약 모든 실수 c에 대해서 (1,1)에 곱한다면 그것이 Span(생성)이다. 명백히, 이것에 무엇을 곱하든 그것은 Span(생성) 안에 있는 다른 것과 동일할 것이다.

- 덧셈에 대해 닫혀있나?

(c1 + c2) 와 집합의 한 벡터의 곱이 되며, 명백히 Span(생성) 안에 있다. (c1 + c2)은 결국 또 다른 스칼라이며 이것을 (c1 + c2) = c3라고 부를 수 있게 된다.

이 직선에 있는 임의의 벡터와 다른 임의의 벡터의 합이 직선 위의 또 다른 벡터가 되도록 할 수 있다. 스칼라가 곱해진 직선상의 어떤 벡터도 직선상의 또 다른 벡터가 된다. 따라서 이것은 곱셈과 덧셈에 대해 닫혀있다. 그리고 0벡터를 포함하고 있다. 즉 이러한 사소하고 간단한 Span(생성)도 유효한 부분공간이다.

 

이 포스팅은 머신러닝/딥러닝을 위한 선행학습으로 칸 아카데미(Khan Academy)Linear algebra(선형 대수) Vectors and spaces의 Linear subspaces 강의에 대한 학습노트입니다.

Posted by 이성윤

Span and linear independence example

 

선형대수학의 기본적인 두 가지 개념

첫 번째로 물어볼 것은 벡터 집합인 s에 관한 것이다. 벡터들은 모두 벡터들이며 세 개씩의 원소를 가지고 있을 때 s의 생성은 R³과 같을까?
두 번째 질문은 이 벡터들은 모두 선형독립할까?

R³를 생성한다는 것은 세 벡터로 구성된 임의의 일차식이 R³의 임의의 벡터를 표현할 수 있다는 것이다. 어떠한 실수 a, b, c가 주어질 때 c3, 나아가 c2, c1에 대한 식을 세울 수 있다.

스칼라 곱의 정의

실수 a, b, c에 대한 c1, c2, c3를 구하기 위한 식은 아래와 같다.

위의 식을 이용하여 c1, c2, c3를 구하면 다음과 같다.

R³의 임의의 벡터를 구하려면 임의의 실수 a, b, c가 주어지면 된다. 그러므로 임의의 실수 a, b, c가 주어진다면 세 벡터로 구성된 임의의 조합이 결과 벡터와 같을 것이다.

a, b, c의 값을 알면 c3의 값을 알 수 있을거고, c2는 c3에 a, b의 값과 함께 대입하면 계산할 수 있다. c2와 c3을 이미 구했으므로 a값과 함께 대입하면 c1도 구할 수 있다. 즉 a, b, c의 값에 관계없이 c1, c2, c3을 구할 수 있다. a, b, c의 값은 이 식과는 아무 상관이 없다.

세 개의 벡터로 이루어진 이 벡터 집합이 R³를 생성한다고 할 수 있다.

이 벡터들은 선형독립할까?

아래의 식이 선형독립하려면 벡터들의 조합이 0의 벡터가 되는 어떠한 조합을 찾아야 한다.

선형종속한다면 이 상수들 중 적어도 하나는 0이 아니라는 것이다. 반대로 선형독립한다면 이 식의 경우에서는 c1, c2, c3 모두가 0이어야 한다.

a=b=c=0 이라고 하면 이 벡터를 0으로 두는 것과 같다. 세 벡터 조합이 0의 벡터가 되려면 모든 계수가 0일 때 존재한다. c1, c2, c3 모두가 0임을 계산했기때문에, 선형독립하는 벡터 집합이 된다. 이 중 어떠한 벡터도 다른 두 벡터의 결합으로 표현될 수 없다는 뜻도 된다.

R³을 생성하는 정확히 세 벡터가 있고 그 벡터들은 선형독립하다. 이 말은 즉, 다른 두 벡터의 조합으로 표현되는 중복되는 벡터가 없다는 것이고 정확히 세 개의 벡터가 R³를 Span(생성)한다는 것이다. 그러므로 증명하지 않아도 일반적으로 R³를 생성하는 세 개의 벡터가 있다면 그 벡터들은 선형독립한다는 것이다. 선형독립하지 않는다면 그 중 하나는 중복되었거나 필요없다는 뜻이 된다. 

세 개의 벡터가 세 개의 요소로 된 집합이며 모두 선형독립한다면 그 벡터들이 R³을 생성한다고 볼 수 있다.

 

 

이 포스팅은 머신러닝/딥러닝을 위한 선행학습으로 칸 아카데미(Khan Academy)Linear algebra(선형 대수) Vectors and spaces의 강의에 Span and linear independence example 대한 학습노트입니다

'머신러닝&딥러닝 교육 > Linear algebra - khanacademy Course' 카테고리의 다른 글

Basis of a subspace  (0) 2018.01.01
Linear subspaces  (1) 2018.01.01
More on linear independence  (0) 2017.12.30
Introduction to linear independence  (0) 2017.12.30
Linear combinations and span  (0) 2017.12.25
Posted by 이성윤

More on linear independence

같은 Vector의 집합인 S가 있을 때, S의 Vector가 서로 선형 종속(Linear Dependence) 관계라는 것은 다음을 의미한다

벡터의 집합 S의 원소가 v1, v2, ... vn까지 있을 때 이 집합을 선형종속(Linear Depedence) 관계에 있다는것을 의미한다.

벡터의 집합 S의 선형 결합(Linear Combination)이 아래의 조건을 충족할 때, 적어도 1개 이상의 C1이 0이 아니면(모두 0은 아니다) 이 벡터들은 선형 종속 관계라고 말할 수 있다.

 

위의 선형 결합 공식에서 벡터 v1을 양변에서 뺴면 다음과 같은 결과가 나온다. 이것은 선형종속이며, 즉 이 벡터가 다른 벡터의 합으로서 (-1) * 벡터 v1에 다른 벡터들의 결합을 더한 것이 0인 방정식을 만족하게 된다. 그리고 적어도 한 상수는 0이 아니어야 한다. 따라서 다른 벡터의 합으로 한 벡터를 표현한다면 이 조건이 참임을 보인다.

 

즉, 집합 S의 선형 결합 공식이 참이면 위의 공식도 참이므로, 벡터들 중 하나는 그 벡터를 제외한 다른 벡터의 선형 결합으로 얻을 수 있다는 것을 알 수 있다.

집합 S의 선형 결합 공식에서 Assume C1≠0일 때, 양변을 C1으로 나눌 수 있으며 다음과 같은 결과를 얻을 수 있다.

적어도 한 상수가 0이 아닐때 벡터 v1을 다른 벡터의 결합으로 표현 할 수 있게된다.

이러한 과정을 거치게 된 이유는, 이러한 과정이 선형독립인지 아니면 종속인지 알아보는데 유용한 방법이기 때문이다.

벡터 (2, 1), 벡터 (3, 2)의 집합이 있을 때 이들이 선형독립인지, 선형종속인지 알아보자.

 

위와 같이 선형 결합의 결과가 0 벡터일 때, C1 또는 C2가 상수가 0이 아닌 방정식을 만족한다면 선형 종속 관계를 나타내며, C1과 C2 모두 상수가 0이어야 한다면 선형 독립 관계를 나타낸다.

C1,C2의 값을 구하면 아래와 같다.

위의 식의 결과 방정식을 만족하는 답은 c1과 c2가 0일때 뿐이며, 따라서 둘 모두 0이 되어야 한다. 그리고 이것은 선형독립 집합이다. 이 두 벡터의 Span(생성)은 2차원 실수 공간 전체임을 알 수 있다.

 

벡터 (2, 1), 벡터 (3, 2), 벡터(1, 2)의 집합이 있을 때 이들이 선형독립인지, 선형종속인지 알아보자.

선형종속이려면 일단 어떤 상수들 c1, c2, c3에 대해서 이 벡터들에 상수를 차례로 곱한 것의 합이 0벡터가 되어야 합니다. 이중 적어도 하나가 0이 아니면 선형종속이다. 그리고 모두 0이면 독립이다.

선형 결합의 합이 0 벡턱를 만족하는 Ci를 구해야 한다.

2차원 벡터가 3개라면 그중 하나는 없어도 된다. 이는 만약 이 두 벡터가 선형독립이면 그 생성이 R²이기 때문이다. 다시 말해서 2차원 좌표상의 어떤 점도 이 둘의 결합으로 표현이 가능하다는 것이다.


0이 아닌 c3, c2, c1을 구해서 이 식이 0임을 보여보자. 임의의 c3을 c3=−1이라고(어떤 수든지 상관 없다) 정의하면 아래와 같은 식을 얻게 된다. 

위의 식을 이용하여 c1, c2를 구하면 다음과 같다.

 

이제 위의 계산을 통해 이 벡터들의 선형결합에서 c3가 0이 아닐 때, c1, c2도 0이 아닌 어떠한 상수도 0이 아닌 값이 나왔다. 적어도 하나가 0이 아님을 보여야하지만 여기서는 셋 모두 0이 아님을 보였다.

적어도 하나는 0이 아니여야 한다. 그리고 이 방정식을 만족해 0벡터로 만들 수 있었다.. 그러므로 이 벡터들의 집합이 선형종속 관계에 있다고 할 수있다. 2차원 벡터이기 때문에 이들의 Span(생성)이 2차원 실수 공간 전체를 나타내기 위해서 세 벡터 중 두 개만 있어도 되며 나머지 하나는 불필요하다. 그러나 이것이 결합으로 나타나기 때문에 항상 필요없다고만 말할 수는 없다.

 

이 포스팅은 머신러닝/딥러닝을 위한 선행학습으로 칸 아카데미(Khan Academy)Linear algebra(선형 대수) Vectors and spaces의 강의에 More on linear independence 대한 학습노트입니다.

 

Posted by 이성윤

Introduction to linear independence

 Span은 선형결합으로 생성될 수 있는 모든 벡터

C1 + 2*C2를 C3라고 정의한다.

우리는 벡터 2개로 시작했지만, 이 두 벡터의 생성이 결국에는 첫 번째 백터의 스칼라배로 표현, 즉 한 벡터의 스칼라 조합으로 줄일 수 있다.

 

벡터 (2, 3), 벡터 (4, 6)은 Collinear 벡터이다. 벡터 (-2, -2)와 같이 position vector(2, 3) 직선을 벗어난 벡터는 표현할 수 없다. 즉 R2의 모든 벡터를 표현 할 수 없다.
우리는 저러한 선형결합의({[2, 3],  [4, 6]})세트를 linearly depedent라고 한다.

벡터 v1(2, 3) + 벡터 v2(7, 2) = 벡터 v3(9, 5)은 벡터 v1과 벡터 v2의 합이 벡터 v3이 되기 때문에 Linearly depedent가 된다. 즉, 벡터 v1과 벡터 v2는 서로 독립적이지만, 벡터 v1,v2,v3를 모두 말할때는 독립적이지 않다.

벡터 v1(7, 0) + 벡터 v2(0, -1) 은 Linear independent 이다.

벡터 v1(2, 0, 0) + 벡터 v2(0, 1, 0) + 벡터 v3(0, 0, 7)은 Linear independent 이다.

 



이 포스팅은 머신러닝/딥러닝을 위한 선행학습으로 칸 아카데미(Khan Academy)Linear algebra(선형 대수) Vectors and spaces의 Introduction to linear independence 강의에 대한 학습노트입니다.

Posted by 이성윤

Linear combinations and span

 

Linear Combination(선형 결합)이란 실수 배의 스칼라 곱을 한 벡터들의 합을 말한다.

 

벡터 a = (1, 2), 벡터 b = (0, 3)

 

선형 결합은 (벡터 0a + 벡터 0b) 일 수도 있다. 0벡터를 얻는 것도 선형결합의 하나이다.

 

아무런 실수를 넣어 벡터 a와 벡터 b의 또다른 선형결합을 얻을 수 있다.

 


 Linear Combination에서 Linear가 붙는 이유는 벡터끼리 곱하고 있는게 아니라 벡터에 스칼라 곱을 하고 있기 때문이다. 스칼라 곱을 하게되면 선형으로 벡터가 줄어들거나 늘어나는 것을 의미한다.

※ 벡터의 곱셈은 뭔지 정의 하지도 않았다. (몇 가지 방법은 있다.) 벡터를 제곱할 수도 없다. (제곱하면 선형이 아니기 때문이다)

 

그럼 이 벡터들을 더하고 빼면서 얻을 수 있는 모든 벡터의 집합은 뭔가요

(벡터 3a + 벡터 -2b) = 벡터(3, 0) 그래프

위의 어떤 벡터든지간에, 이 두 벡터의 선형결합으로 나타낼 수 있다. 즉. a를 아무렇게나 스칼라곱을해서 b를 어떤 방향으로든 더하면(위/아래) 위의 모든점을 나타낼 수 있다.

 

Span(생성)은 스칼라 곱을 벡터들의 선형 결합으로 생성된 공간을 의미한다. 위의 모든 벡터를 a와 b의 선형결합으로 나타낼 수 있다.

 

벡터 a=(2, 2), 벡터 b는 (-2, -2)로 잡을 경우 모든 벡터를 나타낼 수 없다. 그 이유는 항상 같은 선위에 놓이기 때문이다. ( 벡터 a와 벡터 b는 같은 기울기를 가진 벡터)

벡터 a = (2, 2), 벡터 b = (-2, -2)

 

벡터 a랑 벡터 b를 어떻게 선형결합을 구하든 간에 절대로 벡터 c를 구할 수 없다.

표준형태에서 더할 수도 있고, 벡터 a의 크기를 키우고 벡터 b도 키우고 시작점과 끝점을 연결해도 다 같은선 위에 놓이게 된다. 이와 같은 경우의 Span(벡터 a, 벡터 b)는  전첼가 아니고 직선이다.

0벡터의 Span은 결국 0벡터 하나 뿐이다. 

 

벡터 a의 span은 벡터 a 자신의 선형결합으로 얻을 수 있는 벡터이다. 즉 실수배의 스칼라곱이다.  벡터 a하나의 span은 직선이라고 보면 되고 벡터 2 개의 span은 (두 벡터는 같은 직선상에 없어야 한다.)이다.

 

Span(생성)은 스칼라 곱을 벡터들의 선형 결합으로 생성된 공간을 의미하며 수학적으로 정의를 내리면 다음과 같다.

 

벡터 a, 벡터b의 선형결합으로 전체를 나타낼 수 있다는 것을 증명한다. 위의 어떤 점 x를 나타내고 싶다고 가정한다. 좌표(x1, x2)인 x1 과 x2를 정의하고 벡터 a와 벡터 b의 선형결합을 통해서 나타낼 수 있는 스칼라 곱 C1, C2를 구하는 공식을 구해낸다.

 

 

 

 

그럼 R^2 위의 어떤 점을 잡든 간에 임의의 실수 두 개를 잡는 건데요. 이대로 계산을 하면 그 점을 얻으려면 a와 b에 정확히 얼마만큼 상수배를 하는지 알 수 있죠

a와 b의 선형결합을 어떻게 해야 저 점에 다다를 수 있는지를

 

 

 

구해낸 공식이 벡터 x를 나타내는지 확인하기 위하여 벡터 a와 벡터 b의 값을 넣어 계산한다.

 

 

 

 

 

이 포스팅은 머신러닝/딥러닝을 위한 선행학습으로 칸 아카데미(Khan Academy)Linear algebra(선형 대수) Vectors and spaces의 Linear combinations and span 강의에 대한 학습노트입니다.

Posted by 이성윤

Parametric representations of lines

 

선형대수가 아닌 수업에서 본적이 없을만한 내용이라고 한다.

 

벡터 v = (2, 1)

 


원점을 기준으로 (2, 1) 위치를 향한 벡터 v를 표현하면 다음과 같다.

 

 

c는 실수 집합의 원소이다.

 

위와 같은 벡터 v를 Position Vector라고 하며 이것은 원점을 기준으로 한다. 

벡터 v와 동일 직선에 있는 벡터(Collinear Vector)의 집합을 S라고 할 때, 집합 S는 벡터의 스칼라 곱의 성질을 이용하여 다음과 같이 표현할 수 있다.

 

 

벡터 2v, 벡터 1.5v,  벡터 0.001v

 

벡터 2v, 벡터 1.5v,  벡터 0.001v 그래프

   

 

집합 S를 나타내는 선을 벡터 x의 크기만큼 이동한 집합을 L이라고 하면 다음과 같이 표현할 수 있다

 

 

벡터 x = (2, 4)

 

벡터 x, parallel line 그래프

 

벡터 -2v + 벡터x

 

벡터 -2v + 벡터x 그래프

 

when I define my set, s, as the set of all points where I just multiply v times the scalar, I got this thing that went through the origin.

 

y=mx+b의 일차 방정식의 형태로 표현해도 동일하나 굳이 이렇게 집합을 통해서 표현하는 이유는 집합이 더 일반적인 형태(General Form)의 표현 방법이기 때문이다. 2차원 실수 공간에서는 일차 방정식이 형태가 편리하나 n차원 실수 공간이 될 경우, 집합으로 표현할 수 밖에 없다.

 

벡터 a = (2, 1), 벡터 b = (0, 3)

 

벡터 a = (2, 1), 벡터 b = (0, 3), (벡터 b - 벡터 a) 그래프

 

벡터 a와 벡터 b의 끝을 지나가는 선을 L이라고 할 때, L을 집합으로 표현하면 다음과 같다.

could add vector b to it

 

 

could add vector a to it

 

 

집합 L은 (벡터 b - 벡터 a)를 나타내는 벡터에 스칼라 곱을 한 벡터들의 집합으로 표현한 선을 벡터 b 또는 벡터 a만큼 이동한 것으로 나타낸 것이다. 집합 L을 이용하여 x, y 좌표를 구하는 공식은 다음과 같다.

 

x-coordinate, y-coordinate

 

x, y 좌표

 

3차원 벡터 p1, 벡터 p2의 끝을 지나가는 선을 집합으로 표현하면 다음과 같다.

 

 

p1 - p2

 

 

집합 L을 이용하여 x, y, z 좌표의 값을 구하는 공식을 구하면 다음과 같다.

 

x, y, z 방정식 표현

 

x+y+z=k의 방정식 형태는 3차원 실수 공간의 선이 아니라 면을 표기한 것이다.

 

 

 

 

이 포스팅은 머신러닝/딥러닝을 위한 선행학습으로 칸 아카데미(Khan Academy)Linear algebra(선형 대수) Vectors and spaces의 Parametric representations of lines 강의에 대한 학습노트입니다.

'머신러닝&딥러닝 교육 > Linear algebra - khanacademy Course' 카테고리의 다른 글

Introduction to linear independence  (0) 2017.12.30
Linear combinations and span  (0) 2017.12.25
Unit vectors intro  (0) 2017.12.23
Vector examples  (0) 2017.12.23
Multiplying a vector by a scalar  (0) 2017.12.21
Posted by 이성윤

Unit vectors intro

 

이전에 벡터를 시각화 하는 것을 해보았다.

화살표는 벡터를 나타내고, 화살표의 길이는 벡터의 크기를 나태낸다. 그리고 화살표의 방향은 벡터의 방향을 나타냈다.

수학적으로 표현한다면, 벡터의 꼬리에서부터 벡터의 머리까지 수평방향에서 얼마나 떨어져 있을까?

그리고 수직방향으로는 얼마나 떨어져 있을까?

 

벡터 v = (2, 3)

Posted by 이성윤