머신러닝 공부를 하다보면 항상 "선형이다.", "선형모델", "리니어해야한다." 이런 말들을 들었는데, 사실 구체적으로 머릿속에 정의가 되지 않았다.
그래서 선형이 무엇인지에 대해 찾아보았다.
위키백과에서는 선형성을 다음과 같이 말한다.
linear는 직선처럼 똑바른 도형, 또는 그와 비슷한 성질을 갖는 대상이라는 뜻으로 이러한 성질을 갖고 있는 변환 등에 대하여 쓰는 용어이다.
수학에서 선형성에 대한 정의는 다음과 같다.
함수 f에 대해,
Additivity가 항상 성립하고 Homogeneity가 항상 성립한다.
Additivity는 아래의 조건을 의미한다.
임의의 수 x,y에 대해 f(x+y) = f(x) + f(y)
Homogeneity는 아래의 조건이다.
임의의 수 x, alpha에 대해 f(alpha x)=alpha f(x)
이 특성이 항상 성립해야 함수 f를 선형이라고 한다.
알파는 스칼라 곱, x는 실수, 복소수, 벡터 공간 등을 의미한다.
1차함수의 경우 원점을 지날 경우에 선형성을 갖는다.
linear algebra는 선형의 변환과 이로써 확보되는 공간의 성질에 대한 연구를 하는 학문이다.
미분 방정식에서의 선형성은 선형대수학에서 나오는 개념으로 해를 찾아내는 것이 가능하다.
위키백과의 글을 읽어도 사실 잘 모르겠다.
블로그를 참고해보니,
https://sdolnote.tistory.com/entry/Linearity
중첩의 원리가 적용된다는 것이 포인트 같다.
중첩의 원리란 선형 미분 방정식의 해의 linear combination이 선형 미분 방정식의 또 다른 해가 된다는 것이다.
즉, 어떤 함수에 대한 해를 linear combination하면 또 다른 함수에 대한 다른 해가 된다는 것이다.
비선형의 경우 중첩의 원리가 통하지 않는다고 한다. 그래서 예측하기 어려운거고..
'Machine Learning' 카테고리의 다른 글
[머신러닝 개념 정리] learning rate (0) | 2020.04.08 |
---|---|
Scikit-learn Datasets 관련 정리 (0) | 2020.02.14 |
Monte Carlo Tree Search (0) | 2019.10.28 |
PyTorch - What is PyTorch (1) (0) | 2019.10.16 |
Keras - ImageDataGenerator (0) | 2019.10.16 |