본문 바로가기
파이썬 머신러닝ML

Linear regression

by 양기호니 2023. 7. 26.
728x90
반응형

W,b를 조정해서 참에 가까운값으로 예측한다.

 

import tensorflow as tf
import numpy as np
from tensorflow import keras
from tensorflow.keras.optimizers import SGD

# X, Y 데이터
x_train = [1,2,3]
y_train = [1,2,3]

W = tf.Variable(tf.random.normal([1]), name='weight')
b = tf.Variable(tf.random.normal([1]), name='bias')
#cost/loss function
def compute_cost():
    # XW+b
    h = x_train * W + b
    cost=tf.reduce_mean((h-y_train)**2)
    return cost
optimizer=SGD(learning_rate=0.01) #미분 + 알파 기능
for i in range( 2000):
    optimizer.minimize(compute_cost, var_list=[W,b])
print(i, '코스트', compute_cost().numpy)

1999 코스트 <bound method _EagerTensorBase.numpy of <tf.Tensor: shape=(), dtype=float32, numpy=9.3275736e-07>>

W.numpy(),b.numpy()

(array([0.99887836], dtype=float32), array([0.00254972], dtype=float32))

반응형

댓글