我是靠谱客的博主 危机火车,最近开发中收集的这篇文章主要介绍梯度下降算法实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

import numpy as np
a=0.01
j=0
#3个权值相加为1
th0=0
th1=1
th2=0
#实验数据(由于原数据过大会溢出,在此进行了缩减)
x1=np.array([2.104,1.600,2.400,1.416,3.000])
x2=np.array([3,3,3,2,4])
y=np.array([4.00,3.30,3.69,2.32,5.40])
#定义了预测值函数
def h(x1,x2):
    return th0+th1*x1+th2*x2
for j in range(100):
    for i in range(1):
        #数组扩充
        x1 = np.append(x1,[210.4, 160.0, 240.0, 141.6, 300.0])
        x2 = np.append(x2,[3, 3, 3, 2, 4])
        y = np.append(y,[4.00, 3.30, 3.69, 2.32, 5.40])

        d0 = a * (h(x1[j], x2[j]) - y[j]) * 1
        d1 = a * (h(x1[j], x2[j]) - y[j]) * x1[j]
        d2 = a * (h(x1[j], x2[j]) - y[j]) * x2[j]

        th0=th0-d0
        th1=th1-d1
        th2=th2-d2

        if -0.01<d0<0.01 and -0.01<d1<0.01 and -0.01<d2<0.01:
            print(th0, th1, th2)
            break

运行结果如图所示: 

 

.

最后

以上就是危机火车为你收集整理的梯度下降算法实现的全部内容,希望文章能够帮你解决梯度下降算法实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部