텐서플로우 예측 예제

Posted on

회귀 문제에서 우리는 가격이나 확률과 같은 연속 값의 출력을 예측하는 것을 목표로합니다. 클래스 목록에서 클래스를 선택하는 것을 목표로하는 분류 문제와 대조하십시오 (예 : 그림에 사과 또는 주황색이 포함되어있는 경우 그림에 있는 과일을 인식하는 경우). 추정기는 tf.estimator.estimator에서 파생된 모든 클래스입니다. TensorFlow는 일반적인 ML 알고리즘을 구현하기 위해 tf.estimator(예: LinearRegressor)의 컬렉션을 제공합니다. 그 외에도 사용자 지정 추정기만 작성할 수 있습니다. 방금 시작할 때 미리 만들어진 추정기 사용을 권장합니다. 다음 그림은 기능, 숨겨진 계층 및 예측(숨겨진 레이어의 모든 노드가 표시되지 않음)을 보여 줍니다: TensorFlow는 훌륭한 소프트웨어이며 현재 선도적인 딥 러닝 및 신경망 계산 프레임워크입니다. 그것은 C ++ 낮은 수준의 백 엔드를 기반으로하지만 일반적으로 파이썬을 통해 제어됩니다 (RStudio에 의해 유지 되는 R에 대한 깔끔한 TensorFlow 라이브러리도 있습니다). TensorFlow는 기본 계산 작업의 그래프 표현에서 작동합니다.

이 방법을 사용하면 데이터, 변수 및 연산자의 그래프에서 수학적 연산을 요소로 지정할 수 있습니다. 신경망은 실제로 데이터 및 수학 연산의 그래프이기 때문에 TensorFlow는 신경망 및 딥 러닝에 적합합니다. 이 간단한 예제 (블로그에서 딥 러닝 소개에서 도난당한 됨) 확인하십시오: 위의 그림에서 두 개의 숫자가 추가되어야합니다. 이러한 숫자는 a와 b의 두 변수에 저장됩니다. 두 값이 그래프를 통해 흐르고 사각형 노드에 도착하여 추가됩니다. 추가 의 결과는 다른 변수에 저장됩니다, c. 실제로, a, b 와 c자리 표시자로 간주 될 수있다. a와 b에 공급되는 모든 숫자는 추가되고 c에 저장됩니다. 이것이 바로 텐서플로우의 작동 방식입니다. 사용자는 자리 표시자 및 변수를 통해 모델(신경망)의 추상표현을 정의합니다. 그런 다음 자리 표시자가 실제 데이터로 “채워지며 실제 계산이 수행됩니다. 다음 코드는 텐서플로우에서 위에서 장난감 예제를 구현합니다: 평면 벡터는 텐서의 가장 간단한 설정입니다.

위에서 보았듯이 일반 벡터와 매우 유사하며 벡터 공간에서 자신을 발견하는 유일한 차이점이 있습니다. 이를 더 잘 이해하려면 2 X 1인 벡터가 있는 예제부터 살펴보겠습니다. 즉, 벡터는 한 번에 두 쌍을 이루는 실제 숫자 집합에 속합니다. 또는 다르게 명시되어 있는 두 공간의 일부입니다. 이러한 경우 좌표(x,y) 평면의 벡터를 화살표 또는 광선으로 나타낼 수 있습니다. X의 샘플링된 데이터 일괄 처리는 출력 계층에 도달할 때까지 네트워크를 통해 흐릅니다. 이 에서 TensorFlow는 모델 예측을 현재 배치에서 실제 관찰대상 Y와 비교합니다. 그런 다음 TensorFlow는 최적화 단계를 수행하고 선택한 학습 체계에 해당하는 네트워크 매개 변수를 업데이트합니다. 가중치와 바이어스를 업데이트한 후 다음 배치가 샘플링되고 프로세스가 반복됩니다.

모든 일괄 처리가 네트워크에 표시될 때까지 프로시저가 계속됩니다. 모든 배치에 대한 하나의 전체 스윕을 시대라고 합니다. 참고: 스칼라의 예는 “5미터” 또는 “60m/sec”이며 벡터는 “북쪽 5미터” 또는 “60m/초 동쪽”입니다.