菜鸟之路——机器学习之非线性回归个人理解及python实现
关键词:
梯度下降:就是让数据顺着梯度最大的方向,也就是函数导数最大的放下下降,使其快速的接近结果。
Cost函数等公式太长,不在这打了。网上多得是。
这个非线性回归说白了就是缩小版的神经网络。
python实现:
import numpy as np
import random def graientDescent(x,y,theta,alpha,m,numIterations):#梯度下降算法
xTrain =x.transpose()
for i in range(0,numIterations):#重复多少次
hypothesis=np.dot(x,theta) #h函数
loss=hypothesis-y cost=np.sum(loss**2) / (2*m)
print("Iteration %d / cost:%f"%(i,cost))
graient=np.dot(xTrain,loss)/m
theta=theta-alpha*graient
return theta def getData(numPoints,bias,variance):#自己生成待处理数据
x=np.zeros(shape=(numPoints,2))
y=np.zeros(shape=numPoints)
for i in range(0,numPoints):
x[i][0]=1
x[i][1] = i
y[i]=(i+bias)+random.uniform(0,1)*variance
return x,y X,Y=getData(100,25,10)
print("X:",X)
print("Y:",Y) numIterations=100000
alpha=0.0005
theta=np.ones(X.shape[1])
theta=graientDescent(X,Y,theta,alpha,X.shape[0],numIterations)
print(theta)
运行结果:
......输出数据太多,只截取后面十几行
Iteration 99988 / cost:3.930135
Iteration 99989 / cost:3.930135
Iteration 99990 / cost:3.930135
Iteration 99991 / cost:3.930135
Iteration 99992 / cost:3.930135
Iteration 99993 / cost:3.930135
Iteration 99994 / cost:3.930135
Iteration 99995 / cost:3.930135
Iteration 99996 / cost:3.930135
Iteration 99997 / cost:3.930135
Iteration 99998 / cost:3.930135
Iteration 99999 / cost:3.930135
[30.54541676 0.99982553]
其中遇到一个错误。
TypeError: unsupported operand type(s) for *: 'builtin_function_or_method' and 'float'
因为我第五行xTrain =x.transpose()。刚开始没加括号。直接用的xTrain =x.transpose
打印一下xTrain是
<built-in method transpose of numpy.ndarray object at 0x00000219C1D14850>
只是创建了一个transpose方法,并没有真的给x转置。加上括号就好了。再打印xTrain就能正常显示转置后的x了
菜鸟之路——机器学习之非线性回归个人理解及python实现的更多相关文章
- 菜鸟之路——机器学习之决策树个人理解及Python实现
最近开始学习机器学习,以下会记录我学习中遇到的问题以及我个人的理解 决策树算法,网上很多介绍,在这不复制粘贴.下面解释几个关键词就好. 信息熵(entropy):就是信息不确定性的多少 H(x)=-Σ ...
- 菜鸟之路——机器学习之线性回归个人理解及Python实现
这一节很简单,都是高中讲过的东西 简单线性回归:y=b0+b1x+ε.b1=(Σ(xi-x–)(yi-y–))/Σ(xi-x–)ˆ2 b0=y--b1x- 其中ε取 为均值为0的正态 ...
- 菜鸟之路——机器学习之KNN算法个人理解及Python实现
KNN(K Nearest Neighbor) 还是先记几个关键公式 距离:一般用Euclidean distance E(x,y)√∑(xi-yi)2 .名字这么高大上,就是初中学的两点间的距离 ...
- 菜鸟之路——机器学习之BP神经网络个人理解及Python实现
关键词: 输入层(Input layer).隐藏层(Hidden layer).输出层(Output layer) 理论上如果有足够多的隐藏层和足够大的训练集,神经网络可以模拟出任何方程.隐藏层多的时 ...
- 菜鸟之路——机器学习之SVM分类器学习理解以及Python实现
SVM分类器里面的东西好多呀,碾压前两个.怪不得称之为深度学习出现之前表现最好的算法. 今天学到的也应该只是冰山一角,懂了SVM的一些原理.还得继续深入学习理解呢. 一些关键词: 超平面(hyper ...
- 菜鸟之路——机器学习之HierarchicalClustering层次分析及个人理解
这个算法.我个人感觉有点鸡肋.最终的表达也不是特别清楚. 原理很简单,从所有的样本中选取Euclidean distance最近的两个样本,归为一类,取其平均值组成一个新样本,总样本数少1:不断的重复 ...
- 菜鸟之路——机器学习之Kmeans聚类个人理解及Python实现
一些概念 相关系数:衡量两组数据相关性 决定系数:(R2值)大概意思就是这个回归方程能解释百分之多少的真实值. Kmeans聚类大致就是选择K个中心点.不断遍历更新中心点的位置.离哪个中心点近就属于哪 ...
- 菜鸟之路——Linux基础::计算机网络基础,Linux常用系统命令,Linux用户与组权限
最近又重新安排了一下我的计划.准备跟着老男孩的教程继续学习,感觉这一套教程讲的很全面,很详细.比我上一套机器学习好的多了. 他的第一阶段是Python基础,第二阶段是高等数学基础,主要将机器学习和深度 ...
- Python菜鸟之路:Django 路由补充1:FBV和CBV - 补充2:url默认参数
一.FBV和CBV 在Python菜鸟之路:Django 路由.模板.Model(ORM)一节中,已经介绍了几种路由的写法及对应关系,那种写法可以称之为FBV: function base view ...
随机推荐
- 腾讯云服务器CVM购买详细过程 选择我们需要的腾讯云服务器
腾讯云服务商有云服务器.云数据库.CDN.云存储等产品,其中较多的用户会选择腾讯云服务器,因为用途比较广泛,比如用来软件的运行以及网站建设,如今一般都是用云服务器,而不是用虚拟主机,毕竟虚拟主机的性价 ...
- 三种zigbee网络架构详解
在万物互联的背景下,zigbee网络应用越加广泛,zigbee技术具有强大的组网能力,可以形成星型.树型和网状网,三种zigbee网络结构各有优势,可以根据实际项目需要来选择合适的zigbee网络结构 ...
- 如何解析比特币中的交易原始数据rawData
交易数据结构 有关交易的详细信息可以查看比特币的wiki网站:Transaction TxBinaryMap: 原始图片地址 交易的结构表格(Transaction): 示例数据 以一个正式网络的一笔 ...
- git入门使用摘录
无论使用github或者gitlab,第一步都是在本地生产ssh-key,ssh-key作为客户端的身份证存放在user用户的.ssh文件夹下.如果之前没有生产过,需要用ssh-keygen命令生成. ...
- PHP:isset()-检测变量是否被设置
isset()-检测变量是否被设置 bool isset(mixed $var [, mixed $...]),检查变量是否被设置,并且不是NULL.var,要检测的变量,...其他变量,允许有多个变 ...
- android intent filter浏览器应用的设置,如何使用choose-box选择应用
//使用chooserIntent private void startImplicitActivation() { Log.i(TAG, "Entered startImplicitAct ...
- 传入指定字段名称就可以排序的EF写法
private static IQueryable<T> SetQueryableOrder<T>(this IQueryable<T> query, string ...
- appuim操作webview控件
1.操作webview控件,在uiautomator中如下图,能定位的只有最外层的内容.就一个webview控件,查找不到里面内容 1.使用driver.getContext(),获取是否是webvi ...
- 2018.6.24 oracle数据库的 事务及视图
第06章 事务及视图 本章内容 事务 视图 1 事务 1.1 什么是事务 事务也称工作单元,是一个或多个SQL语句组成的序列,这些个SQL操作作为一个完整的工作单元要么全部执行,要么全不执行. ...
- phalcon中find 最常用
1 官网:http://docs.iphalcon.cn/reference/models.html#finding-records 2 具体操作实例 数据: mysql> select * f ...