python实现机器学习之元线性回归-创新互联
一、理论知识准备

1.确定假设函数
如:y=2x+7
其中,(x,y)是一组数据,设共有m个
2.误差cost
用平方误差代价函数

3.减小误差(用梯度下降)


二、程序实现步骤
1.初始化数据
x、y:样本
learning rate:学习率
循环次数loopNum:梯度下降次数
2.梯度下降
循环(循环loopNum次):
(1)算偏导(需要一个for循环遍历所有数据)
(2)利用梯度下降数学式子
三、程序代码
import numpy as np
def linearRegression(data_x,data_y,learningRate,loopNum):
w,b=0,0
#梯度下降
for i in range(loopNum):
w_derivative, b_derivative, cost = 0, 0, 0
for j in range(len(data_x)):
wxPlusb=w*data_x[j]+b
w_derivative+=(wxPlusb-data_y[j])*data_x[j]
b_derivative+=wxPlusb-data_y[j]
cost+=(wxPlusb-data_y[j])*(wxPlusb-data_y[j])
w_derivative=w_derivative/len(data_x)
b_derivative=b_derivative/len(data_x)
w = w - learningRate*w_derivative
b = b - learningRate*b_derivative
cost = cost/(2*len(data_x))
if i%100==0:
print(cost)
print(w)
print(b)
if __name__== "__main__": #_x:protected __x:private
x=np.random.normal(0,10,100)
noise=np.random.normal(0,0.05,100)
y=2*x+7+noise
linearRegression(x,y,0.01,5000)另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前文章:python实现机器学习之元线性回归-创新互联
URL链接:http://www.jxjierui.cn/article/digcic.html


咨询
建站咨询
