Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การถดถอยเชิงเส้นทำงานกับ Tensorflow ใน Python อย่างไร


Tensorflow คือเฟรมเวิร์กแมชชีนเลิร์นนิงที่ให้บริการโดย Google เป็นเฟรมเวิร์กโอเพนซอร์ซที่ใช้ร่วมกับ Python เพื่อใช้อัลกอริทึม แอปพลิเคชันการเรียนรู้เชิงลึก และอื่นๆ อีกมากมาย ใช้ในการวิจัยและเพื่อการผลิต มีเทคนิคการเพิ่มประสิทธิภาพที่ช่วยในการดำเนินการทางคณิตศาสตร์ที่ซับซ้อนได้อย่างรวดเร็ว เนื่องจากใช้ NumPy และอาร์เรย์หลายมิติ อาร์เรย์หลายมิติเหล่านี้เรียกอีกอย่างว่า "เทนเซอร์"

เฟรมเวิร์กรองรับการทำงานกับโครงข่ายประสาทเทียมระดับลึก สามารถปรับขนาดได้สูงและมาพร้อมกับชุดข้อมูลยอดนิยมมากมาย ใช้การคำนวณ GPU และจัดการทรัพยากรโดยอัตโนมัติ มันมาพร้อมกับไลบรารีแมชชีนเลิร์นนิงจำนวนมาก และได้รับการสนับสนุนและจัดทำเป็นเอกสารอย่างดี เฟรมเวิร์กมีความสามารถในการใช้งานโมเดล Deep Neural Network ฝึกอบรม และสร้างแอปพลิเคชันที่คาดการณ์ลักษณะที่เกี่ยวข้องของชุดข้อมูลที่เกี่ยวข้อง

แพ็คเกจ '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' คือค่า 'bias'

  • มีการกำหนดฟังก์ชันคำนวณค่าคลาดเคลื่อนกำลังสองเฉลี่ย

  • นอกจากนี้ยังกำหนดเครื่องมือเพิ่มประสิทธิภาพการไล่ระดับการไล่ระดับสีแบบสุ่มด้วย

  • มีการกำหนดฟังก์ชันสำหรับการเพิ่มประสิทธิภาพ ซึ่งคำนวณการไล่ระดับสีและอัปเดตค่าน้ำหนักและอคติ

  • ข้อมูลได้รับการฝึกอบรมตามจำนวนขั้นตอนที่กำหนด