非线性回归(Non-linear Regression)

非线性回归应用(Logistic Regression Application)

理论+实际应用整合到一起链接

import numpy as np
import random# 一个函数为梯度下降的算法
def GradientDescent(x,y,theta,alpha,m,numInterations):# m denotes the number of examples here, not the number of features'''x:实例;y:分类标签theta:要学习的参数θalpha:learning ratem:更新法则公式中实例的个数,对应矩阵的维数[]numInterations:使用此方法循环训练更新的次数'''xTrans = x.transpose() #转置x便于后面运算for i in range(0,numInterations):hypothesis = np.dot(x,theta) #这里为什么要放在for循环里面,并不受循环影响? #for循环次数即为更新次数loss = hypothesis - y #hypothesis其实就是y_hat,这里loss就等于y_hat减去y(实际)# avg cost per example (the 2 in 2*m doesn't really matter here.# But to be consistent with the gradient, I include itcost = np.sum(loss**2)/(2*m)#这里的cost函数与课文中提到的cost函数不一样,这里使用了一个简单的cost便于计算'''cost:对精确度的衡量,每一次gradient都会减小'''print('Interation:%d|cost:%f'%(i,cost))# avg gradient per examplegradient = np.dot(xTrans,loss)/m #每一次的下降梯度值,除以m:取平均# updatatheta = theta-alpha*gradient  #即更新法则的公式:θ=θ-α∑(h(x)-y)xreturn theta# 一个函数用来产生数据用来测试拟合
def genData(numPoints,bias,variance):'''numPoints:实例的行数(矩阵形式,每一行对应一对实例)bias:生成y时产生一个偏差值variance:方差'''x = np.zeros(shape=(numPoints,2)) #numPoints行,2列的矩阵y = np.zeros(shape=(numPoints))#basically a staight linefor i in range(0,numPoints):# bias featurex[i][0] = 1x[i][1] = i# target variabley[i] = (i+bias)+random.uniform(0,1)*variance #random.uniform(0,1)同random.random()产生0~1随机数return x,y# generate 100 columns with a bias of 25 and 10 variance as a bit of noise
x,y = genData(100,25,10)#前面函数返回了两个变量x,y此处可以任意取两个变量按偏移量赋值给返回的x和y
# print(x)
# print(y)
m,n = np.shape(x) #x的行数赋值给m,列数赋值为n  
a = np.shape(y) #y只有一列不会返回列的数值,会返回行的数值  
# print(m,n) #(100行,2列)
# print(a) #(100行,1列)numInterations = 100000
alpha = 0.0005 #取0~1,比较好的算法会设置开始的alpha数值较大后期数值较小
theta = np.ones(n) # 初始化θ:[1. 1.] 为什么设置为1?
theta = GradientDescent(x,y,theta,alpha,m,numInterations)
print(theta) #约为[30 1]# 得出的theta就可以用于对新实例的计算和预测
#回归算法和神经网络中都会用到此梯度下降的方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/469689.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cv2.dnn.readNetFromDarknet()在python3上遇到的问题

问题描述: 代码如下 net cv2.dnn.readNetFromDarknet(configPath,weightsPath) #获取YOLO每一层的名称 #getLayerNames():获取网络所有层的名称。 ln net.getLayerNames() # 获取输出层的名称: [yolo-82,yolo-94,yolo-106] # …

企业的网站遭受木马攻击了,导致网站目录下所有文件都被篡改了

问题&#xff1a; 一个 lamp 的服务器站点目录下所有文件均被植入如下内容 <script languagejavascript srchttp://luoahong.blog.51cto.com/504977/1827164> 包括图片文件也被植入了&#xff0c;网站打开时就会调用这个地址&#xff0c;造成的影响很恶劣。 实际解决办法…

智慧交通day02-车流量检测实现13:基于虚拟线圈法的车辆统计+视频中的车流量统计原理解析

1.基于虚拟线圈法的车辆统计 基于虚拟线圈的车流量统计算法原理与交通道路上的常见的传统的物理线圈类似&#xff0c;由于物理线圈需要埋设在路面之下&#xff0c;因此会有安装、维护费用高&#xff0c;造成路面破坏等问题&#xff0c;而采用基于视频的虚拟线圈的车辆计数方法…

ValueError: Found array with dim 4. Estimator expected和ValueError: Expected 2D array, got 1D array i

python3中对numpy数组进行降维或升维 解决报错如&#xff1a; 1.ValueError: Found array with dim 4. Estimator expected 2.ValueError: Expected 2D array, got 1D array instead: 报错1ValueError: Found array with dim 4. Estimator expected——解决方式&#xff1a…

ubuntu 12.04 eclipse 安装

方法二&#xff1a;(优点是安装内容清爽&#xff0c;缺点是配置麻烦) 1、安装JDK&#xff0c;参考 Ubuntu 12.04 下安装 JDK 7 2、下载 Eclipse 从 http://www.eclipse.org/downloads/index-developer.php下载合适版本&#xff0c;如&#xff1a;Eclipse IDE for C/C Develope…

智慧交通day02-车流量检测实现14:代码汇总+问题修正

代码权重文件资源https://download.csdn.net/download/qq_39237205/43072746https://download.csdn.net/download/qq_39237205/43072746 环境要求&#xff1a;python2.7 环境配置&#xff1a;见文末requirements.txt 1.YOLO.py # encoding:utf-8 import imutils import tim…

终端mysql Operation not permitted错误解决方案

前言 前段时间装mysql&#xff0c;就遇到了ln: /usr/bin/mysql: Operation not permitted的错误&#xff0c;网上好多方法都过时了&#xff0c;下边是我的解决方法 原因 这是因为苹果在OS X 10.11中引入的SIP特性使得即使加了sudo&#xff08;也就是具有root权限&#xff09;也…

从资源池和管理的角度理解物理内存

早就想搞一下内存问题了&#xff01;这次正趁着搞bigmemory内核&#xff0c;可以写一篇文章了。本文旨在记录&#xff0c;不包含细节&#xff0c;细节的话&#xff0c;google&#xff0c;百度均可&#xff0c;很多人已经写了不少了。我只是按照自己的理解记录一下内存的点点滴滴…

TypeError: object of type 'zip' has no len()、'zip' object is not subscriptable

TypeError: object of type ‘zip’ has no len()、‘zip’ object is not subscriptable zip 对象没有length属性不可以遍历 代码报错&#xff1a; print(len(training_data)) # TypeError: object of type zip has no len() print(training_data[0][0].shape) # TypeError…

【VBA编程】06.控制语句

【IF...THEN...语句】 If condition Then [statements1] else [statements2] end if condition 为一个逻辑表达式&#xff0c;表示做选择时需要判别的条件&#xff0c;其结果为布尔类型&#xff0c;当其值为真时&#xff0c;执行statements1语句&#xff0c;为假是则执行ELSE中…

从头开始学一个android activity

一、类层次结构&#xff1a; 二、什么是Activity&#xff0c;如何理解Activity 1、 用户与应用程序的交互的接口 2、 控件的容器&#xff0c;我们要把控件摆放在这个容器中 三、如何创建一个Activity 新建一个类&#xff1a; 1、 继承Activity类 [java] view plaincopyprint…

python3 numpy中矩阵np.dot(a,b)乘法运算

python np.dot(a,b)乘法运算 首先我们知道矩阵运算是不满足交换律的&#xff0c;np.dot(a, b)与np.dot(b, a)是不一样的 另外np.dot(a,b)和a.dot(b)果是一样的 1.numpy中数组&#xff08;矩阵&#xff09;相乘np.dot(a,b)运算&#xff1a; 对于两数组a和b &#xff1a; 示例…

MySQL数据库优化的八种方式(经典必看)

引言&#xff1a; 关于数据库优化&#xff0c;网上有不少资料和方法&#xff0c;但是不少质量参差不齐&#xff0c;有些总结的不够到位&#xff0c;内容冗杂 偶尔发现了这篇文章&#xff0c;总结得很经典&#xff0c;文章流量也很大&#xff0c;所以拿到自己的总结文集中&#…

class_create和class_device_create

//主要是在/sys/class/ 下创建一个 “name”的文件夹 &#xff01;从linux内核2.6的某个版本之后&#xff0c;devfs不复存在&#xff0c;udev成为devfs的替代。相比devfs&#xff0c;udev有很多优势&#xff0c;在此就不罗嗦了&#xff0c;提醒一点&#xff0c;udev是应用层的东…

OSError: [Errno 22] Invalid argument:**

OSError: [Errno 22] Invalid argument: 在使用open打开文件时&#xff0c;出现报错 OSError: [Errno 22] Invalid argument: H:\\GitRepository\neural-networks-and-deep-learning\\data\\mnist_expanded.pkl.gzpython3 可以将 \ 换为 / &#xff0c;或者换成 \ 但是最简单…

阅读英文论文的方法总结(三遍法)

1.title 2.abstract 3.introduction 4.method 5.experiments 6.conclusion 第一遍&#xff1a;标题、摘要、结论&#xff0c;看是否自己研究的相关&#xff0c;看完之后可以看部分实验和方法里的关键图和表&#xff0c;这样可以花费十几分钟时间了解到论文是否适合你的研究方向…

ML Backpropagation算法的计算过程举例

Backpropagation计算过程举例 初始权重(initialize weights)是随机产生的(如-1~1之间) 初始化可以选择均值为0&#xff0c;方差为1/n_in的正态分布&#xff0c;n_in为输入的实例个数&#xff0c;Python中可使用np.random.normal函数来初始化权重&#xff1a; np.random.normal…

Python基础知识__字符串

字符串介绍 一. 认识字符串 字符串是 Python 中最常用的数据类型。我们一般使用引号来创建字符串。创建字符串很简单&#xff0c;只要为变量分配一个值即可。 a hello world b "abcdefg" print(type(a)) print(type(b)) 注意&#xff1a;控制台显示结果为<cl…