先构建并录入一个数据源文件:用excel输入数据(注意:另存为csv格式;在excel中默认为数字是字符串,需要另外打开csv文件,删去字符的引号;文件名不可以有中文) 打开命令行,输入以下代码: loadtxt方法中:对象是路径,还需注意转义符号 “:”表示读取索引值为x的数据 matplotlib库:绘图库
编辑
添加图片注释,不超过 140 字(可选)
目标函数:
编辑
添加图片注释,不超过 140 字(可选)
代码实现目标函数以及参数初始值:
编辑
添加图片注释,不超过 140 字(可选)
将训练数据变为平均值为0,方差为1的数据(为了将横轴x的刻度变小)
编辑
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
参数更新表达式:
编辑
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
注意:
-
更新常数的设置,需要多试几次才知道设置多少,先设置一个较小的数值,比如10的-3次方
-
当参数更新后目标函数的值没有明显变化后,即可结束训练了
-
所有参数的更新必须同时进行,θ0更新结束后,θ1的更新不能适用更新后的θ0,而要使用更新前的θ0
编辑
添加图片注释,不超过 140 字(可选)
实操 读入训练数据
编辑切换为居中
添加图片注释,不超过 140 字(可选)
绘图训练数据 plot方法中第三个参数表示图形性状
编辑切换为居中
添加图片注释,不超过 140 字(可选)
参数初始化 np.random.rand(d0,d1,d2……dn) 注:使用方法与np.random.randn()函数相同 作用: 通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1
编辑
添加图片注释,不超过 140 字(可选)
预测函数
编辑
添加图片注释,不超过 140 字(可选)
目标函数
编辑切换为居中
添加图片注释,不超过 140 字(可选)
将训练数据变为平均值为0,方差为1的数据(数据标准化,横轴刻度会发生变化) mean()函数功能:求取均值 std()函数功能求方差
编辑
添加图片注释,不超过 140 字(可选)
下面的代码和结果就略过了(因为没有设置退出条件,卡出去了哈哈)