当前位置: 首页 > news >正文

公司网站在哪里做常州好一点的网站建设

公司网站在哪里做,常州好一点的网站建设,济南网页设计培训,wordpress google联盟目录 Logistic回归公式推导#xff1a; Sigmoid函数#xff1a; Logistic回归如何实现分类#xff1a; 优化的方法#xff1a; 代码#xff1a; 1.创建一个随机数据集#xff0c;分类直线为y2x#xff1a; 为什么用np.hstack()增加一列1#xff1f; 为什么返回…目录 Logistic回归公式推导 Sigmoid函数 Logistic回归如何实现分类 优化的方法 代码 1.创建一个随机数据集分类直线为y2x 为什么用np.hstack()增加一列1 为什么返回值设成三个 为什么预先设置分类直线? 因为全随机的点数太难以确定  2.梯度上升算法实现 为什么使用train_ynp.array(boolean_int(y)).reshape(100,1) X[y0,0],X[y0,1]是什么东西 疑问 Logistic回归公式推导 (系列四) 线性分类5-逻辑回归Logistic Regression_哔哩哔哩_bilibili 回归 存在一系列数据点使用一条直线对这些点进行拟合拟合的过程即为回归。 线性回归: 线性回归方程如下我们输入数据点特征取合适的w和b使得预测值y^最接近y。但是我们不能通过方程预测非线性的函数比如说 线性模型的衍生 通过这种方式我们可以拟合非线性函数:   当g(x)取得, 怎么把回归和分类结合起来 回归方程得到的y的范围是负无穷到正无穷如何实现分类。以二分类为例类别分别为0和1我们需要使用函数将在负无穷到正无穷的数映射到0或1上。我们需要使用Sigmoid函数。 Sigmoid函数 如图可以发现Sigmoid函数将输入z映射到01区间我们可以设置阈值大于阈值为类别1小于阈值为类别0. import numpy as np import matplotlib.pyplot as pltdef sigmoid(x):return 1/(1np.exp(-x)) # np.linspace(start,end,num) 100个数数在-1010等距分布 xnp.linspace(-10,10,100) ysigmoid(x) plt.plot(x,y) plt.title(sigmoid) plt.xlabel(x) plt.ylabel(ysigmoid(x)) #添加网格 plt.grid(True) plt.show()Logistic回归如何实现分类 输入数据点的特征对每个特征乘以回归系数,然后相加求和得到z,将z作为Sigmoid函数的输入Sigmoid函数可以将输入映射在0-1区间内我们将大于0.5部分设置为1类小于0.5部分设置为0类实现二分类。为了实现更好的分类结果我们需要对进行优化。 也可以把W和X看成向量写成如下形式 优化的方法 梯度上升方法a表示学习率表示梯度。 损失函数预测y和标签y的差 代码 1.创建一个随机数据集分类直线为y2x 为什么用np.hstack()增加一列1 根据 在设计权重时w1,w2,b都需要通过梯度上升优化希望可以统一进行梯度计算但是b不与x相乘想到, , 所以在train_x训练集添加一列1作为x0. 为什么返回值设成三个 train_X (100x3)包括方便计算的x0,X(100x2)可以用来绘制散点图train_y表示标签。 ​ def createtraindataset():np.random.seed(0)n_samples100Xnp.random.randn(n_samples,2)#featur22*feature1时 y为true否则y为falsey(X[:,1]2*X[:,0].astype(int))print(y,y)new_np.ones((100,1))train_Xnp.hstack((new_,X))train_yyprint(y,train_y)return train_X,train_y,X​ 其散点图如图所示 : 其打印出来的y是布尔值结果如下 为什么预先设置分类直线? 因为全随机的点数太难以确定  n_samples100Xnp.random.randn(n_samples,2)ynp.random.randint(2,size100) 散点图根本没办法进行划分。 2.梯度上升算法实现 为什么使用train_ynp.array(boolean_int(y)).reshape(100,1) def boolean_int(y):return [1 if cell else 0 for cell in y] 如上boolean_int 把布尔y转化为int型y,并reshape到1001避免出现维度不匹配问题。 y.shape为100-train_y.shape(100,1) X[y0,0],X[y0,1]是什么东西 y是布尔值numpy可以使用布尔值进行索引 numpy 布尔索引的用法-CSDN博客 def test():y[1,0,1,1]np.random.seed(0)n_samples5xnp.random.randn(n_samples,2)ynp.random.randint(2,size5)print(x,x)print(y,y)print(X[y0,0],x[y0,0],y0时对应y数组索引为i,x得到第i行,第0列值) test() def grad(train_X,train_y):# 100*3m,n len(train_X[:,0]),len(train_X[0])#3x1 weightnp.ones((n,1))#迭代系数epoch500for i in range(epoch):# mxn nx1 -m*1y_sigmoid(np.dot(train_X,weight))# m*1loss train_y -y_a 0.01# 3*1 weight weight - np.dot(a*train_X.transpose(),loss)return weightdef plot():train_X,y,Xcreatetraindataset()train_ynp.array(boolean_int(y)).reshape(100,1)weightsgrad(train_X,train_y)# weightsweights.getA()#100 2*100xnp.linspace(-2.5,2.5,5)y_(-weights[0]-weights[1]*x)/weights[2]plt.plot(x,y_) plt.scatter(X[y0,0],X[y0,1],cr,markerx,labelClass 0)plt.scatter(X[y1,0],X[y1,1],cb,markero,labelClass 1)plt.xlabel(Feature 1)plt.ylabel(Feature 2)plt.legend()plt.title(Classification Dataset)plt.show() 全部代码 import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import make_blobs def sigmoid(x):return 1.0/(1np.exp(-x)) # # np.linspace(start,end,num) 100个数数在-1010等距分布 # xnp.linspace(-10,10,100) # ysigmoid(x) # plt.plot(x,y) # plt.title(sigmoid) # plt.xlabel(x) # plt.ylabel(ysigmoid(x)) # #添加网格 # plt.grid(True) # plt.show() def boolean_int(y):return [1 if cell else 0 for cell in y] def createtraindataset():np.random.seed(0)n_samples100Xnp.random.randn(n_samples,2)#featur22*feature1时 y为1否则y为0y(X[:,1]2*X[:,0].astype(int))print(y,y)new_np.ones((100,1))train_Xnp.hstack((new_,X))train_yyprint(y,train_y)return train_X,train_y,Xdef grad(train_X,train_y):# 100*3m,n len(train_X[:,0]),len(train_X[0])#3x1 weightnp.ones((n,1))#迭代系数epoch500for i in range(epoch):# mxn nx1 -m*1y_sigmoid(np.dot(train_X,weight))# m*1loss train_y -y_a 0.01# 3*1 weight weight - np.dot(a*train_X.transpose(),loss)return weightdef plot():train_X,y,Xcreatetraindataset()train_ynp.array(boolean_int(y)).reshape(100,1)weightsgrad(train_X,train_y)# weightsweights.getA()#100 2*100xnp.linspace(-2.5,2.5,5)y_(-weights[0]-weights[1]*x)/weights[2]plt.plot(x,y_) plt.scatter(X[y0,0],X[y0,1],cr,markerx,labelClass 0)plt.scatter(X[y1,0],X[y1,1],cb,markero,labelClass 1)plt.xlabel(Feature 1)plt.ylabel(Feature 2)plt.legend()plt.title(Classification Dataset)plt.show() plot() # xnp.arange(-2,2,0.1) # print(len(x)) 疑问 1.为什么在Logistic回归实现二分类里使用sigmoid作为激活函数 Logistic 回归对数几率回归直观理解 - 知乎 (zhihu.com) 假设正类概率为y,负类概率为1-y 对第i个样本若为正则,反之 因此只要对进行建模比较数值就能对每个样本的类别进行判断。 在二维平面内对散点进行分类可以用直线划分直线上的点满足 为什么直线上点满足 w^T x b 的几何意义_ywtxb的法向量几何意义-CSDN博客 二维平面上公式axbyc0 点坐标为x,y) 二分类散点图上点坐标为x1,x2)表示不同特征 w和x是矩阵 wxbw1x1w2x2b。所以直线上点满足w1x1w2x2b0 机器学习中的超平面wxb0?_平面方程wxb0-CSDN博客 具体建模如下 2.为什么要用梯度上升算法(待续) 3.xnp.linspace(-2.5,2.5,5) y_(-weights[0]-weights[1]*x)/weights[2]表示什么 分别为权重为weights[0]weights[1]weights[2]。(x1,x2)表示特征点。xnp.linspace(-2.5,2.5,5)表示获得x1,y_是获得x2。
http://www.zqtcl.cn/news/753865/

相关文章:

  • 网站 案例互联网外包公司值得去吗
  • 做医疗护具网站浙江立鹏建设有限公司网站
  • 织梦制作手机网站c 网站开发需要学什么软件
  • 罗湖网站制作阿里巴巴开店网站怎么做
  • 深圳住房和建设局网站 招标怎样建设自己的视频网站
  • 网站建设的目的模板茶网站建设需要多少钱
  • 珠海市城乡住房建设局网站网站外链
  • 福田做网站需要多少钱做淘宝客网站性质
  • html网站怎么进入后台网站主题怎么写
  • wordpress怎么ftp建站高端网站建设域名注册
  • 我用织梦5.7做个网站应该把淘宝客店铺链接放到哪聊天软件开发需要多少钱
  • 站长工具爱站竞价单页网站制作
  • 网站分类目录大全购物网站大全棉鞋
  • 网站镜像做排名建立外贸英文网站应该怎么做
  • 上海做网站就用乐云seo手机网站cms 下载
  • 做网站需要固定ip么灵犀科技网站建设
  • 深圳高端做网站建设网站备案与不备案区别
  • 家居企业网站建设公司苏州高新区建设局网站管网
  • 体育门户网站模板seo网络推广有哪些
  • 石家庄网站建设教程百度云下载
  • 怎样查看网站建设时间公司网站关键词优化
  • 网站淘宝推广怎么做网站seo基本流程
  • miit网站备案济南哪里做网站
  • 做网站软件的公司前端优化
  • 哪个网站有做形象墙汉沽网站建设制作
  • 网站alexa排名查询免费发帖的平台有哪些
  • 德国网站后缀濮阳房产网站建设
  • 漕泾网站建设做网站php语言用什么工具
  • 专业营销的网站建设公司哪家好专门做二手书的网站
  • 建新网站开发流程图电子商务网站开发综合实训报告