一、理论知识准备
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)
四、输出
1.输出cost
可以看到,一开始的误差是很大的,然后减小了
最后几次输出的cost没有变化,可以将训练的次数减小一点
2.训练完的w和b
和目标w=2,b=7很接近
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍python实现机器学习之多元线性回归,包括了python实现机器学习之多元线性回归的使用技巧和注意事项,需要的朋友参考一下 总体思路与一元线性回归思想一样,现在将数据以矩阵形式进行运算,更加方便。 一元线性回归实现代码 下面是多元线性回归用Python实现的代码: 特别需要注意的是要弄清:矩阵的形状 在梯度下降的时候,计算两个偏导值,这里面的矩阵形状变化需要注意。 梯度下降数学式子
本教程将全面介绍深度学习从模型构造到模型训练的方方面面,以及它们在计算机视觉和自然语言处理中的应用。
本文向大家介绍Python机器学习之K-Means聚类实现详解,包括了Python机器学习之K-Means聚类实现详解的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了Python机器学习之K-Means聚类的实现代码,供大家参考,具体内容如下 1.K-Means聚类原理 K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大
机器学习是一门研究如何使用计算机模拟人类行为,以获取新的知识与技能的学科。它是人工智能的核心,同时也是处理大数据的关键技术之一。机器学习的主要目标是自动地从数据中发现价值的模式,亦即将原始信息自动转换为人们可以加以利用的知识。
神经网络是一门重要的机器学习技术,它通过模拟人脑的神经网络来实现人工智能的目的,所以其也是深度学习的基础,了解它之后自然会受益颇多。
本文向大家介绍Python语言描述机器学习之Logistic回归算法,包括了Python语言描述机器学习之Logistic回归算法的使用技巧和注意事项,需要的朋友参考一下 本文介绍机器学习中的Logistic回归算法,我们使用这个算法来给数据进行分类。Logistic回归算法同样是需要通过样本空间学习的监督学习算法,并且适用于数值型和标称型数据,例如,我们需要根据输入数据的特征值(数值型)的大小来