def km_to_mile(km):
return km / 1.609 # 真實轉換值
# 初始設定
km = float(input("請輸入公里數:"))
true_mile = km_to_mile(km)
factor = 0.5 # 任意起始係數
lr = 0.01 # 學習率
max_iter = 10000 # 最大迭代次數
for i in range(max_iter):
predicted_mile = km * factor
error = predicted_mile - true_mile
if abs(error) < 0.1:
print(f"迭代次數:{i}")
print(f"最終預測英哩:{predicted_mile:.4f}")
print(f"真實英哩:{true_mile:.4f}")
print(f"誤差:{error:.4f}")
print(f"學到的係數:{factor:.6f}")
break
# 調整係數:簡單梯度下降
factor -= lr * error
else:
print("未能在指定次數內達到誤差要求")