import numpy as np

def computer_error_for_give_point(w, b, points): # 计算出 观测值与计算值 之间的误差, 并累加,最后返回 平均误差
loss = 0
for i in range(len(points)):
x = points[i, 0]
y = points[i, 1]
loss += ((w * x + b ) - y) ** 2
return loss/float(len(points))

# 下面函数只求导一次更新 w 和 b, 后面可用迭代方法多次更新 w, b

def get_gradient(w_current, b_current, points, LearningRate):
N = len(points)
w_gradient = 0
b_gradient = 0
for i in range(N):
x = points[i, 0]
y = points[i, 1]
w_gradient += 2/N * ((w_currentx+b_current)-y)x
b_gradient += 2/N * ((w_currentx+b_current)-y)
new_w = w_current - LearningRate
w_gradient
new_b = b_current - LearningRate * b_gradient
return new_w,new_b # 以列表的形式返回

def gradeient_descent_run(w, b, points, learn_rate, iteration):
points = np.array(points)
LearnRate = learn_rate
for i in range(iteration):
w, b = get_gradient(w, b, points, LearnRate)
return w, b

if name == "main":
initialize_w = 0
initialize_b = 0
points = [[10, 10], [9, 9], [8, 8], [7, 7], [6, 6], [5, 5], [4, 4], [3, 3], [2, 2], [1, 1]]
w, b = gradeient_descent_run(initialize_w, initialize_b, points, 0.005, 100)
print(w)
print(b)

最新文章

  1. Java后台发送邮件
  2. HTML的初体验
  3. java中的集合和区别
  4. let it be
  5. ie6下absolute:fixed问题,完美兼容
  6. javascript中的 类初始化,遍历for in 以及with的用法
  7. 内存泄漏,当您使用的 GetDC 方法和 ReleaseDC 方法 CWnd 类版本
  8. spring 解析配置文件问题
  9. Eclipse如何生成带有自定tag的Java Doc
  10. Spring MVC中使用Mongodb总结
  11. poj 3436 (最大流)
  12. phpMyAdmin 手动输入数据库服务器IP
  13. 201521123073《Java程序设计》第2周学习总结
  14. 【原创】大数据基础之ElasticSearch(1)简介、安装、使用
  15. 神经机器翻译 - NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE
  16. python批量下载微信好友头像,微信头像批量下载
  17. JavaScript中JSON对象和JSON字符串的相互转化
  18. Java静态成员与实例成员
  19. Mysql 5.7.21 单机多实例安装
  20. 详细解读 :java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed,Java报错之Connection is read-only.

热门文章

  1. nginx-413
  2. 转 Jmeter参数化--Post请求的Post body 参数化
  3. zabbix监控linux内存
  4. linux Jenkins搭建
  5. 2018-2-13-win10-uwp-hashcash
  6. day05 python字典
  7. position: absolute 如果不设置left, right, top, bottom会在什么位置
  8. vue 学习七 组件上使用插槽
  9. spark编写UDF和UDAF
  10. 区别|Pandas-qcut( )与cut( )的区别