머신러닝의 개념과 용어

▶ 회귀분석

 

▶ Linear Regression

 

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

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

 

▶ Hypothesis

▶ Cost(Loss)

 

 

 

 

 

 

 

 

 

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 이성윤

Vector examples

 

이번 영상은 기초로 돌아가서 예시 위주의 강의이다.

 

는  순서가 주어진 2-튜플로서 모든 순서쌍의 집합이다.

 

 

벡터 a = (-1, 2), 벡터b = (3, 1).

 

벡터 a와 벡터 b를 성분별로 더한다.

 

보통 벡터는 어떤 점에서든 시작할 수 있다는게 관습이다.

(x1, x2)에서 시작한다고 했을때 벡터 a를 나타내보면 (x1 - 1, x1 + 2)가 된다.

 

(-4, 4) 시작접에서 벡터a를 나타내고 싶다면, 벡터 a의 첫 번째 성분에 -4를 더하고 벡터a의 두 번째 성분에 4를 더한다.

 

(-4, 4)에서의 벡터a

 

 

 

 

(-4, 4)에서의 벡터a를 그리면 아래와 같다.

 

수평으로 -1만큼, 수직으로 +2만큼 가는 벡터a는 어느 지점에서든지 나타낼 수 있다.

 

벡터b를 나타내면 다음과 같다.

standard position은 (0, 0) 이다. 표준점에서 벡터a, 벡터b, 벡터a + 벡터b 를 나타내면 다음과 같다.

벡터 a와 벡터b를 더했을 때 그 관계를 명확하게 표현해 주기 위해서 벡터a에 벡터b를 연결하는 것이다. 즉 벡터 a의 끝점에 벡터b의 시작점을 연결하라는 것이다.

정리하자면 표준점에서 시작한 a의 끝점에서 b를 시작하는 것이다. 그리하여 벡터 a의 시작점이랑 벡터 b의 끝점이랑 이으면 그게 바로 벡터의 합이 된다.

 

Vector에 양수의 Scalar를 곱하면 Magnitude만 확장된다

 

벡터 v, 벡터v * 2

 

x - y 그래프

 y - x

 

 

y - x 그래프

x 와 -x는 평행하며, 방향만 정반대이다.

 

 

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

 

벡터 4a - 벡터 2b 

 

 

 

 

 

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

Posted by 이성윤

Multiplying a vector by a scalar

 

값이 (2,1)인 벡터 a가 있다.
 

 

 

Vector에 양수의 Scalar를 곱하면 Magnitude만 확장된다.

 

벡터 a에 3을 곱한다고 하면 3 x (2,1)과 같다. 3은 그저 숫자이며, 벡터는 얼마만큼 어느 방향으로 움직여야 하는지 크기와 방향, 둘 다 알려준다.

각각의 성분에 3을 곱하게 되면, 2와 1이 벡터의 각 성분이니 이들을 3으로 곱한다. (3 x 2)와 (3 x 1)이 된다. 스칼라를 곱한 벡터는 여전히 2차원 벡터(6, 3)이다.

 

벡터 a 와 스칼라 3을 곱한 그래프로 표현하면 아래와 같다.

 

위의 스칼라 곱을 하였을 경우 방향은 여전히 같은 방향을 가지고 있으며, 크기는 바뀌었다. 스칼라(scalar)가 확대(scale up)를 해주며, 스칼라(scalar)와 확대하다(scale up)의 어원이 같다. 스칼라의 곱은 벡터를 확대한다고 정리 할 수 있다.

 

각각의 성분에 -1을 곱하게 되면, 2와 1이 벡터의 각 성분이니 이들을 -1으로 곱한다. (2 x -1)와 (1 x -1)이 된다. 스칼라를 곱한 벡터는 여전히 2차원 벡터(-2, -1)이다.

 

 

 

 

Vector에 음수의 Scalar 곱을 하면 Direction은 반대방향이 되며 Magnitude도 확장된다.

 

 

 

 

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

Posted by 이성윤

Adding vectors algebraically and graphically

 

벡터 a와 벡터 b 2차원 벡터 두 개가 있고, 벡터 a와 벡터 b의 합을 어떻게 정의할 수 있을까?

 

 

 

차원이 같은 두 vector의 합은 각 Component를 더한다.  벡터 두 개의 합은  벡터가 된다.

 

 

 

 

벡터(a)와 벡터(b) 둘다 의 벡터이다.

 

 

 

 

 

시각적인 혹은 개념적인 방향에서 이 벡터들을 그래프에 그려보자

 

 

중요한 것은 크기와 방향이다. 크기는 벡터의 길이로 표현되고, 방향은 벡터가 가리키는 방향이다. 크기와 방향이 같은 벡터는 어느 곳에 그려도 똑같은 벡터가 된다.

 

보라색 벡터(a)와 녹색 벡터(a)를 더한 것이 파란색 벡터(a + b)와 같다. 더하는 순서를 바꿔도 결과는 같다.

 

 

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

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

Unit vectors intro  (0) 2017.12.23
Vector examples  (0) 2017.12.23
Multiplying a vector by a scalar  (0) 2017.12.21
Real coordinate spaces  (0) 2017.12.20
Vector intro for linear algebra  (0) 2017.12.20
Posted by 이성윤