기본 콘텐츠로 건너뛰기

라벨이 linear인 게시물 표시

[matplotlib]quiver()함수

[Linear Algebra] 동차선형결합(Homogeneous Linear Combination)

동차 선형결합(Homogeneous Linear Combination) 동차선형결합(Homogeneous Linear Combination) 은 선형 결합에서 상수 벡터가 0 벡터인 경우입니다. 즉, 표준 행렬 A와 변수 벡터 x 사이에 식 1이 성립합니다. Ax = 0 (식 1) 동차 선형 결합에서 갖는 해는 두 종류로 구분할 수 있습니다. 자명한해(trivial solution) : 유일한 해를 가지는 동차선형결합 자명하지 않은 해(nontrivial solution) : 다양한 해를 가지는 동차선형결합 그러므로 동차 선형결합에서 최소 한개 이상의 자유변수(Free variable) 를 가진다면 하나 이상의 다양한 해를 가지는 것을 의미하는 것으로 자명하지 않은 해(nontrivial solution) 를 가지는 시스템이 됩니다. 예 1) 다음은 동차 선형결합입니다. 이 결합의 해를 계산해봅니다. \begin{align} 3x_1 + 5x_2 - 4x_3 &= 0\\ -3x_1 - 2x_2 + 4x_3 &= 0\\  6x_1 + x_2 - 8x_3 &= 0\end{align} 위 각 식의 계수들을 행렬로 표현하는 표준행렬(A)을 다음과 같습니다. 위 식의 수와 각 식의 계수의 수가 같습니다. 즉 다음 결과와 같이 표준행렬(A)은 정방행렬입니다. 이 행렬의 역행렬 존재 여부를 판단하기 위해 행렬식을 조사해 봅니다. A=np.array([[3, 5, -4],[-3, -2, 4],[6, 1, 8]]) print(A) [[ 3 5 -4] [-3 -2 4] [ 6 1 8]] la.det(A) 144.0 행렬식이 0이 아니므로 가역행렬입니다. 즉, 역행렬에 의한 각 변수의 해를 계산할 수 있습니다. 이 경우 즉, 표준행렬이 가역행렬인 경우 그 해는 numpy.linalg.solve() 함수로 계산할 수 있습니다. b=np.array([[0],[0],[0]]) print(la...

torch.nn 클래스와 신경망모형

내용 layer building 비선형과 다중 모델 layer building 선형모델의 layer는 nn.Linear 클래스를 사용하여 구축합니다. nn.Linear에 대한 생성자는 입력 특성의 수(feature #), 출력의 수(label #), 선형 모델에 편향이 포함되는지 여부(여기서 기본값은 True)의 세 가지 인수를 허용합니다. nn.Linear(input_size, output_size, bias=True) True는 default import numpy as np import torch import torch.nn as nn x=torch.rand((3, 1)) x tensor([[0.9445], [0.1129], [0.4799]]) model=nn.Linear(1,1) model(x) tensor([[0.2996], [0.5595], [0.4448]], grad_fn=< AddmmBackward >) 위 코드는 torch.nn 클래스 객체(model)를 생성한 것입니다. 그 모델의 인수로서 입력인자 x를 전달한 과정입니다. 신경망에서 순전파(forward)과정입니다. 일반적으로 클래스는 model.forward(x)와 같이 그 클래스의 메서드를 호출한 후 사용합니다. 그러나 위의 경우는 메소드의 호출 과정이 생략되었습니다. 오히려 메소드의 호출은 에러를 발생합니다. y=model.forard(x) : Error 발생 y=model(x) : Right 이것은 nn 클래스에 포함된 __call__ 특벌메소드에 기인합니다. 이 메소드는 지정된 클래스 객체를 자동으로 호출하게합니다. 생성된 모델의 매개변수(들)은 model.parameters() 클래스를 사용하여 호출할 수 있습니다. 또는 가중치와 편차를 각각 wight , bias 속성을 사용하...

선형신경망_linear Regression

목차 선형신경망 Minibatch Stocastic Gradient Descent 정규분포와 제곱손실 Minibatch의 생성 모델 생성 high-level APIs of deep learning frameworks 선형신경망 회귀분석은 하나이상의 독립변수와 종속변수 사이의 관계를 모형화는 일련의 방법입니다. 예측, 분류와 관계된 경우에 사용합니다. 예로 가격 예측(주택, 주식 등), 입원 기간 예측(병원 환자의 경우), 수요 예측(소매 판매) 등을 생각할 수 있습니다. 선형회귀의 경우 다음을 가정합니다. 독립 변수 x와 종속 변수 y 사이의 관계가 선형이라고 가정합니다. 즉, 관측치에 대한 약간의 노이즈가 주어졌을 때 y는 x에 있는 요소의 가중 합으로 표현될 수 있다. 이 모델에서 파생되는 노이즈는 정규분포에 부합한다고 가정합니다. 가격, 면적, 연령으로 구성된 자료에서 가격을 예측하기 위한 선형모델을 구축한다고 할 때 그 데이터 셋은 다음과 같은 모양일 것입니다. 면적 연령 가격 - - - $\vdots$ $\vdots$ $\vdots$ 위 데이터 구조에서 각 행을 예제(데이터 포인트, 데이터 인스턴스, 샘플)이라 합니다. 예측하고자 하는 것을 레벨(타겟)이라 합니다. 에측의 기반이 되는 독립변수를 특성(feature) 또는 공변량(covariate)라고 합니다. 데이터셋의 전체 수(행의수)를 n, 데이터 인스턴스(예제)를 i로 표현합니다. 그러므로 입력변수 X와 y는 다음과 같습니다. $$X^{(i)}=[x^{(i)}_1, x^{(i)}_2]^T, y^{(i)}$$ $$\begin{align}\tag{1}&\text{price}=w_{area} \cdot \text{area}+w_{age} \cdot \text{age}+b\\ ...