Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

선형 회귀는 Python의 Tensorflow에서 어떻게 작동합니까?

<시간/>

Tensorflow는 Google에서 제공하는 기계 학습 프레임워크입니다. 알고리즘, 딥 러닝 애플리케이션 등을 구현하기 위해 Python과 함께 사용되는 오픈 소스 프레임워크입니다. 연구 및 생산 목적으로 사용됩니다. 복잡한 수학 연산을 빠르게 수행하는 데 도움이 되는 최적화 기술이 있습니다. NumPy와 다차원 배열을 사용하기 때문입니다. 이러한 다차원 배열은 '텐서'라고도 합니다.

이 프레임워크는 심층 신경망 작업을 지원합니다. 확장성이 뛰어나며 많은 인기 있는 데이터 세트와 함께 제공됩니다. GPU 계산을 사용하고 리소스 관리를 자동화합니다. 수많은 기계 학습 라이브러리와 함께 제공되며 잘 지원되고 문서화되어 있습니다. 이 프레임워크는 심층 신경망 모델을 실행하고 훈련하며 각 데이터 세트의 관련 특성을 예측하는 애플리케이션을 생성하는 기능을 가지고 있습니다.

'tensorflow' 패키지는 아래 코드 줄을 사용하여 Windows에 설치할 수 있습니다 -

pip install tensorflow

Tensor는 TensorFlow에서 사용되는 데이터 구조입니다. 흐름도에서 가장자리를 연결하는 데 도움이 됩니다. 이 흐름도를 '데이터 흐름 그래프'라고 합니다. 텐서는 다차원 배열 또는 목록에 불과합니다.

다음은 예입니다 -

def linear_reg(x):
   return A * x + b
def mean_square_error(y_pred, y_true):
   return tf.reduce_mean(tf.square(y_pred - y_true))
optimizer = tf.optimizers.SGD(learning_rate)
def run_optimization():
   with tf.GradientTape() as g:
      pred = linear_reg(X)
      loss = mean_square_error(pred, Y)
   gradients = g.gradient(loss, [A, b])
   optimizer.apply_gradients(zip(gradients, [A, b]))

코드 크레딧 - https://github.com/aymericdamien/TensorFlow-Examples/blob/master/tensorflow_v2/notebooks/2_BasicModels/linear_regression.ipynb

출력

A linear regression function that is defined, is called on the data.
Once the optimal data points have been computed, the mean square error function is calculated. The radient descent function is used to find the optimal weights.
These values are displayed on the console.

설명

  • '가중치'와 '편향' 값은 무작위로 초기화됩니다. 교육이 완료되면 최적의 값으로 업데이트됩니다.

  • 선형 방정식의 일반적인 형식은 'Ax + b'이며, 여기서 'A'는 '가중치'이고 'b'는 '편향' 값입니다.

  • 평균제곱오차를 계산하는 함수가 정의되어 있습니다.

  • 확률적 경사하강법 옵티마이저도 정의되어 있습니다.

  • 최적화를 위한 함수가 정의되어 기울기를 계산하고 가중치 및 편향 값을 업데이트합니다.

  • 데이터는 지정된 단계 수만큼 훈련됩니다.