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实现机器学习之元线性回归-创新互联
文章网址:http://ybzwz.com/article/digcic.html