ML 모델과 함수의 근본적인 차이점은 무엇입니까?
모델은 대략 ML이 작업을 해결할 수있는 디자인으로 정의 할 수 있습니다. 모델의 예로는 신경망, 의사 결정 트리, Markov 네트워크 등이 있습니다.
기능은 동일 도메인 / 범위 도메인 일대 속성 순서쌍들의 집합으로 정의 될 수있다.
공식적인 측면에서 그들 사이의 근본적인 차이점은 무엇입니까?
답변
모든 경우에 적용 할 수있는 것은 아니지만 모델을 기능의 집합으로 생각하고 싶기 때문에 차이점이 있습니다.
이 정의가 유용한 이유는 무엇입니까? 매개 변수 벡터가있는 신경망을 생각하면$\theta \in \mathbb{R}^m$모델로서 이러한 매개 변수의 특정 조합은 특정 기능을 나타냅니다. 예를 들어, 2 개의 입력, 1 개의 은닉 뉴런 (ReLU 활성화 함수, 다음과 같이 표시됨)이있는 신경망이 있다고 가정합니다.$\phi$, 입력의 선형 조합을 따릅니다) 및 1 개의 출력 뉴런 (시그 모이 드 활성화 함수 사용, $\sigma$). 입력은 유일한 숨겨진 장치에 연결되며 이러한 연결에는 실제 값 가중치가 있습니다. 편향을 무시하면 매개 변수 벡터에 그룹화 할 수있는 3 개의 매개 변수가 있습니다.$\theta = [\theta_1, \theta_2, \theta_3] \in \mathbb{R}^3 $. 임의의 기능이 뉴럴 네트워크는 다음과 같이 정의 될 수 있음을 나타낸다
$$ f(x_1, x_2) = \sigma (\theta_3 \phi(x_1 \theta_1 + x_2 \theta_2)) \tag{1}\label{1}, $$
이 경우 방정식 \ ref {1}는 매개 변수 공간이 주어지면 모델을 나타냅니다. $\Theta = \mathbb{R}^3$. 특정 값에 대해$\theta_1, \theta_2,$ 과 $\theta_3$ 취할 수있는 특정 (결정 론적) 기능이 있습니다. $f: \mathbb{R} \rightarrow [0, 1]$.
예를 들어 $\theta = [0.2, 10, 0.4]$ 특정 기능, 즉
$$ f(x_1, x_2) = \sigma (0.4 \phi(x_1 0.2 + x_2 10.0)) $$입력의 일부 값에 대해이 함수 (Matplotlib 사용)를 플로팅하여 어떻게 보이는지 확인할 수 있습니다. 참고$x_1$ 과 $x_2$ 임의적 일 수 있습니다 (실수로 가정 한 입력일 뿐이므로).
모델에 대한 이러한 해석 은 본질적 으로 함수 집합 인 전산 학습 이론 의 가설 클래스 (또는 공간) 의 정의와 일치 합니다 . 이 해석은 신경망에 대한 보편적 인 근사 정리 와도 일치하며 , 일부 조건이 충족되면 주어진 함수를 대략적으로 잘 계산할 수 있도록 특정 매개 변수 집합을 찾을 수 있음을 나타냅니다. 이 해석은 의사 결정 트리, HMM, RNN 및 이러한 모든 ML 모델에도 적용될 수 있습니다.
모델이라는 용어는 때때로 강화 학습의 맥락에서 확률 분포를 나타내는 데 사용됩니다. $p(s', r \mid s, a)$ 다음 상태에 대한 확률 분포입니다. $s'$ 그리고 보상 $r$ 현재 상태에서 $s$ 및 행동 $a$ 그 상태에서 찍은 $s$. 자세한 내용은 이 질문 을 확인 하십시오. 확률 분포는 (아마도 무한히 큰) 함수 집합으로 생각할 수도 있지만, 확률 분포에서 샘플링 할 수도 있기 때문에 (예 : 확률 분포와 관련된 확률 분포가 있음) 함수 집합이 아닙니다. 따라서 확률 분포는 통계 모델로 간주되거나이를 표현하는 데 사용될 수 있습니다. 이 대답을 확인하십시오 .
모든 모델을 함수로 간주 할 수 있습니다. "모델"이라는 용어는 단순히 특정 방식으로 사용되는 기능, 즉 관심있는 다른 기능을 근사화하기 위해 사용되는 기능을 나타냅니다.
간단히 말해서 신경망 모델 은 가설 함수의 곡선을 맞추려고 하는 함수 근사값 입니다. 함수 자체에는 고정 곡선을 생성하는 방정식이 있습니다.

방정식 (즉, 함수)이 있으면 입력 데이터에 대해 신경망이 필요하지 않습니다. 그러나 곡선 (또는 입력 및 출력 데이터)에 대한 개념 만있을 때 함수 근사치를 구하여 보이지 않는 새 입력 데이터에 대해 출력을 생성 할 수 있습니다.
이 신경망을 훈련시키는 것은 가능한 한 원래 (알 수없는 함수)에 근접하는 것입니다.
모든 모델은 기능입니다. 모든 기능이 모델은 아닙니다.
함수는 일부 집합의 요소를 다른 집합 (아마도 동일한 집합)의 요소에 고유하게 매핑합니다.
모든 AI 모델은 컴퓨터 프로그램으로 구현되기 때문에 함수이며 모든 컴퓨터 프로그램은 프로그램 시작시 메모리 및 저장 비트 시퀀스의 조합과 입력을 메모리 및 스토리지의 비트 시퀀스에 고유하게 매핑하는 기능입니다. , 프로그램 종료시 출력.
그러나 '모델'은 매우 구체적으로 무언가를 표현한 것입니다. 물류 곡선을 취하십시오.
$$ f(x) = \frac{L}{1 + e^{k(x-x_{0})} } $$
주어진 임의의 실수 값 $L$, $k$, 및 $x_{0}$, 그것은 함수입니다. 그러나 데이터에서 얻은 훨씬 더 구체적인 값을 고려할 때 인구 증가의 모델이 될 수 있습니다.
마찬가지로 가중치가 모두 0으로 초기화 된 신경망은 함수이지만 다소 제한된 공동 영역을 사용하는 매우 흥미롭지 않은 함수입니다. $\{0\}$. 그러나 가중치가 수렴 될 때까지 데이터를 제공하여 네트워크를 훈련시켜 실제 생성 프로세스에 대략적으로 해당하는 예측이나 작업을 제공하면 이제 해당 생성 프로세스의 모델을 갖게됩니다.