广东茶叶网站建设做普通网站多少钱

diannao/2025/10/14 0:18:24/文章来源:
广东茶叶网站建设,做普通网站多少钱,阿里云万网域名注册,阿里巴巴官网入口文章目录 1 感知机的直观理解2 感知机的数学角度3 代码实现 4 建模资料 # 0 赛题思路 #xff08;赛题出来以后第一时间在CSDN分享#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 感知机的直观理解 感知机应该属于机器学习算法中最简单的一种算法#xff0c;其… 文章目录 1 感知机的直观理解2 感知机的数学角度3 代码实现 4 建模资料 # 0 赛题思路 赛题出来以后第一时间在CSDN分享 https://blog.csdn.net/dc_sinor?typeblog 1 感知机的直观理解 感知机应该属于机器学习算法中最简单的一种算法其原理可以看下图 比如说我们有一个坐标轴图中的黑色线横的为x1轴竖的x2轴。图中的每一个点都是由x1x2决定的。如果我们将这张图应用在判断零件是否合格上x1表示零件长度x2表示零件质量坐标轴表示零件的均值长度和均值重量并且蓝色的为合格产品黄色为劣质产品需要剔除。那么很显然如果零件的长度和重量都大于均值说明这个零件是合格的。也就是在第一象限的所有蓝色点。反之如果两项都小于均值就是劣质的比如在第三象限的黄色点。 在预测上很简单拿到一个新的零件我们测出它的长度x1质量x2如果两项都大于均值说明零件合格。这就是我们人的人工智能。 那么程序怎么知道长度重量都大于均值的零件就是合格的呢 或者说 它是怎么学会这个规则的呢 程序拿到手的是当前图里所有点的信息以及标签也就是说它知道所有样本x的坐标为x1 x2同时它属于蓝色或黄色。对于目前手里的这些点要是能找到一条直线把它们分开就好了这样我拿到一个新的零件知道了它的质量和重量我就可以判断它在线的哪一侧就可以知道它可能属于好的或坏的零件了。例如图里的黄、蓝、粉三条线都可以完美地把当前的两种情况划分开。甚至x1坐标轴或x2坐标轴都能成为一个划分直线这两个直线均能把所有点正确地分开。 读者也看到了对于图中的两堆点我们有无数条直线可以将其划分开事实上我们不光要能划分当前的点当新来的点进来是也要能很好地将其划分所以哪条线最好呢 怎样一条直线属于最佳的划分直线实际上感知机无法找到一条最佳的直线它找到的可能是图中所有画出来的线只要能把所有的点都分开就好了。 得出结论 如果一条直线能够不分错一个点那就是一条好的直线 进一步来说 如果我们把所有分错的点和直线的距离求和让这段求和的举例最小最好是0这样就表示没有分错的点了这条直线就是我们要找的。 2 感知机的数学角度 首先我们确定一下终极目标甭管找最佳划分直线啥中间乱七八糟的步骤反正最后生成一个函数f(x)当我们把新的一个数据x扔进函数以后它会预测告诉我这是蓝的还是黄的多简单啊。所以我们不要去考虑中间过程先把结果定了。 瞧f(x)不是出来了嘛sign是啥wxb是啥别着急我们再看一下sigin函数是什么。 sign好像很简单当x大于等于0sign输出1否则输出-1。那么往前递归一下wxb如果大于等于0f(x)就等于1反之f(x)等于-1。 那么wxb是啥 它就是那条最优的直线。我们把这个公式放在二维情况下看二维中的直线是这样定义的yaxb。在二维中w就是ab还是b。所以wxb是一条直线比如说本文最开始那张图中的蓝线。如果新的点x在蓝线左侧那么wxb0,再经过sign最后f输出-1如果在右侧输出1。等等好像有点说不通把情况等价到二维平面中yaxb只要点在x轴上方甭管点在线的左侧右侧最后结果都是大于0啊这个值得正负跟线有啥关系emmm….其实wxb和axb表现直线的形式一样但是又稍有差别。我们把最前头的图逆时针旋转45度蓝线是不是变成x轴了哈哈这样是不是原先蓝线的右侧变成了x轴的上方了其实感知机在计算wxb这条线的时候已经在暗地里进行了转换使得用于划分的直线变成x轴左右侧分别为x轴的上方和下方也就成了正和负。 那么为啥是wxb而不叫axb 在本文中使用零件作为例子上文使用了长度和重量x1x2来表示一个零件的属性所以一个二维平面就足够那么如果零件的品质和色泽也有关系呢那就得加一个x3表示色泽样本的属性就变成了x1x2x3变成三维了。wxb并不是只用于二维情况在三维这种情况下仍然可以使用这个公式。所以wxb与axb只是在二维上近似一致实际上是不同的东西。在三维中wxb是啥我们想象屋子里一个角落有蓝点一个角落有黄点还用一条直线的话显然是不够的需要一个平面所以在三维中wxb是一个平面至于为什么后文会详细说明。四维呢emmm…好像没法描述是个什么东西可以把四维空间分开但是对于四维来说应该会存在一个东西像一把刀一样把四维空间切成两半。能切成两半应该是一个对于四维来说是个平面的东西就像对于三维来说切割它的是一个二维的平面二维来说是一个一维的平面。总之四维中wxb可以表示为一个相对于四维来说是个平面的东西然后把四维空间一切为二我们给它取名叫超平面。由此引申在高维空间中wxb是一个划分超平面这也就是它正式的名字。 正式来说 wxb是一个n维空间中的超平面S其中w是超平面的法向量b是超平面的截距这个超平面将特征空间划分成两部分位于两部分的点分别被分为正负两类所以超平面S称为分离超平面。 细节 w是超平面的法向量对于一个平面来说w就是这么定义的是数学知识可以谷歌补习一下 b是超平面的截距可以按照二维中的axb理解 特征空间也就是整个n维空间样本的每个属性都叫一个特征特征空间的意思是在这个空间中可以找到样本所有的属性组合 我们从最初的要求有个f(x)引申到能只输出1和-1的sign(x)再到现在的wxb看起来越来越简单了只要能找到最合适的wxb就能完成感知机的搭建了。前文说过让误分类的点距离和最大化来找这个超平面首先我们要放出单独计算一个点与超平面之间距离的公式这样才能将所有的点的距离公式求出来对不 先看wxb在二维空间中我们可以认为它是一条直线同时因为做过转换整张图旋转后wxb是x轴那么所有点到x轴的距离其实就是wxb的值对不当然了考虑到x轴下方的点得加上绝对值-|wxb|求所有误分类点的距离和也就是求|wxb|的总和让它最小化。很简单啊把w和b等比例缩小就好啦比如说w改为0.5wb改为0.5b线还是那条线但是值缩小两倍啦你还不满意我可以接着缩缩到0去所以啊我们要加点约束让整个式子除以w的模长。啥意思就是w不管怎么样要除以它的单位长度。如果我w和b等比例缩小那||w||也会等比例缩小值一动不动很稳。没有除以模长之前|wxb|叫函数间隔除模长之后叫几何间隔几何间隔可以认为是物理意义上的实际长度管你怎么放大缩小你物理距离就那样不可能改个数就变。在机器学习中求距离时通常是使用几何间隔的否则无法求出解。 对于误分类的数据例如实际应该属于蓝色的点线的右侧y0但实际上预测出来是在左侧wxb0)那就是分错了结果是负这时候再加个符号结果就是正了再除以w的模长就是单个误分类的点到超平面的举例。举例总和就是所有误分类的点相加。 上图最后说不考虑除以模长就变成了函数间隔为什么可以这么做呢不考虑wb等比例缩小这件事了吗上文说的是错的吗 有一种解释是这样说的感知机是误分类驱动的算法它的终极目标是没有误分类的点如果没有误分类的点总和距离就变成了0w和b值怎样都没用。所以几何间隔和函数间隔在感知机的应用上没有差别为了计算简单使用函数间隔。 以上是损失函数的正式定义在求得划分超平面的终极目标就是让损失函数最小化如果是0的话就相当完美了。 感知机使用梯度下降方法求得w和b的最优解从而得到划分超平面wxb关于梯度下降及其中的步长受篇幅所限可以自行谷歌。 3 代码实现 #codingutf-8 #Author:Dodo #Date:2018-11-15 #Email:lvtengchaopku.edu.cn数据集Mnist 训练集数量60000 测试集数量10000 ------------------------------ 运行结果 正确率81.72%二分类 运行时长78.6simport numpy as np import time def loadData(fileName):加载Mnist数据集:param fileName:要加载的数据集路径:return: list形式的数据集及标记print(start to read data)# 存放数据及标记的listdataArr []; labelArr []# 打开文件fr open(fileName, r)# 将文件按行读取for line in fr.readlines():# 对每一行数据按切割福,进行切割返回字段列表curLine line.strip().split(,)# Mnsit有0-9是个标记由于是二分类任务所以将5的作为15为-1if int(curLine[0]) 5:labelArr.append(1)else:labelArr.append(-1)#存放标记#[int(num) for num in curLine[1:]] - 遍历每一行中除了以第一哥元素标记外将所有元素转换成int类型#[int(num)/255 for num in curLine[1:]] - 将所有数据除255归一化(非必须步骤可以不归一化)dataArr.append([int(num)/255 for num in curLine[1:]])#返回data和labelreturn dataArr, labelArr def perceptron(dataArr, labelArr, iter50):感知器训练过程:param dataArr:训练集的数据 (list):param labelArr: 训练集的标签(list):param iter: 迭代次数默认50:return: 训练好的w和bprint(start to trans)#将数据转换成矩阵形式在机器学习中因为通常都是向量的运算转换称矩阵形式方便运算#转换后的数据中每一个样本的向量都是横向的dataMat np.mat(dataArr)#将标签转换成矩阵之后转置(.T为转置)。#转置是因为在运算中需要单独取label中的某一个元素如果是1xN的矩阵的话无法用label[i]的方式读取#对于只有1xN的label可以不转换成矩阵直接label[i]即可这里转换是为了格式上的统一labelMat np.mat(labelArr).T#获取数据矩阵的大小为m*nm, n np.shape(dataMat)#创建初始权重w初始值全为0。#np.shape(dataMat)的返回值为mn - np.shape(dataMat)[1])的值即为n与#样本长度保持一致w np.zeros((1, np.shape(dataMat)[1]))#初始化偏置b为0b 0#初始化步长也就是梯度下降过程中的n控制梯度下降速率h 0.0001#进行iter次迭代计算for k in range(iter):#对于每一个样本进行梯度下降#李航书中在2.3.1开头部分使用的梯度下降是全部样本都算一遍以后统一#进行一次梯度下降#在2.3.1的后半部分可以看到例如公式2.6 2.7求和符号没有了此时用#的是随机梯度下降即计算一个样本就针对该样本进行一次梯度下降。#两者的差异各有千秋但较为常用的是随机梯度下降。for i in range(m):#获取当前样本的向量xi dataMat[i]#获取当前样本所对应的标签yi labelMat[i]#判断是否是误分类样本#误分类样本特诊为 -yi(w*xib)0详细可参考书中2.2.2小节#在书的公式中写的是0实际上如果0说明改点在超平面上也是不正确的if -1 * yi * (w * xi.T b) 0:#对于误分类样本进行梯度下降更新w和bw w h * yi * xib b h * yi#打印训练进度print(Round %d:%d training % (k, iter))#返回训练完的w、breturn w, b def test(dataArr, labelArr, w, b):测试准确率:param dataArr:测试集:param labelArr: 测试集标签:param w: 训练获得的权重w:param b: 训练获得的偏置b:return: 正确率print(start to test)#将数据集转换为矩阵形式方便运算dataMat np.mat(dataArr)#将label转换为矩阵并转置详细信息参考上文perceptron中#对于这部分的解说labelMat np.mat(labelArr).T#获取测试数据集矩阵的大小m, n np.shape(dataMat)#错误样本数计数errorCnt 0#遍历所有测试样本for i in range(m):#获得单个样本向量xi dataMat[i]#获得该样本标记yi labelMat[i]#获得运算结果result -1 * yi * (w * xi.T b)#如果-yi(w*xib)0说明该样本被误分类错误样本数加一if result 0: errorCnt 1#正确率 1 - 样本分类错误数 / 样本总数accruRate 1 - (errorCnt / m)#返回正确率return accruRate if __name__ __main__:#获取当前时间#在文末同样获取当前时间两时间差即为程序运行时间start time.time()#获取训练集及标签trainData, trainLabel loadData(../Mnist/mnist_train.csv)#获取测试集及标签testData, testLabel loadData(../Mnist/mnist_test.csv)#训练获得权重w, b perceptron(trainData, trainLabel, iter 30)#进行测试获得正确率accruRate test(testData, testLabel, w, b)#获取当前时间作为结束时间end time.time()#显示正确率print(accuracy rate is:, accruRate)#显示用时时长print(time span:, end - start)4 建模资料 资料分享: 最强建模资料

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

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

相关文章

广东事业单位网站vs2013网站开发代码

随着数字营销的崛起,搜索引擎优化(SEO)已成为企业提升在线可见度、吸引潜在客户的关键手段。面对独立站谷歌SEO外包服务和自建SEO团队两种选择,企业往往会感到困惑。本文将深入探讨这两种方式的优势与局限,帮助您做出明…

php网站实例教程深圳网站搭建哪里找

身份证实名认证接口分为身份证二要素、三要素、三要素人像核验接口,被广泛的应用于婚恋、交友、电商等等一系列行业领域,身份证实名认证需要实时数据,对于数据源来说也需要可靠,那么,身份证实名认证的价格是不是很贵呢…

搭建微网站平台辽宁建设厅的证到底在哪个网站查

瑞士数学家雅克伯努利(Jacques Bernoulli,1654~1705)首次研究独立重复试验(每次成功率为p)。在他去世后的第8年(1713年),他侄子尼克拉斯出版了伯努利的著作《推测术》。在书中,伯努利指出了如果这样的试验次数足够大,那么成功次数…

Wordpress网站防止采集优设网网站

正题 大意 一个字符串,要求第k小的子串。 解题思路 先建立一个后缀自动机,然后用一个numinum_inumi​表示第iii个节点的可以到达的点所表示的子串总和,然后从第1号点开始查找,判断一下找到第k小所在的节点后,然后查找…

消防器材厂家东莞网站建设东莞麻涌网站建设

文件上传一个经常用到的功能,它有许多中实现的方案。 页面表单 RFC1897规范 http协议上传 页面控件(flash/html5/activeX/applet) RFC1897规范 http协议上传 页面控件(flash/html5/activeX/applet) 自定义数据规范 http协议上传 页面控件(flash/html5/act…

谁给个好网站wordpress 头像不见

关于文件上传,这边介绍一个第三方工具,叫AutoIt,简单来说,这个是一个能支持桌面GUI自动化的工具,它支持脚本语言编写。这里,我们用AutoIt来做文件上传的演示。在Selenium脚本中如果需要AutoIt来协助这个文件…

专业手机移动网站建设网站上传页面

Django是Python下的一款网络服务器框架。Python下有许多款不同的框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。虽然Django之于Python,达不到Rail之于Ruby的一统江湖的地位,但Django无疑也是Python在网络应用方面的一位…

潍坊网站建设小程序制作网络优化工程师主要做什么

目录 1.响应式说明 2.vue3的ref及reactive的使用 3.reactive响应式失效问题 4.总结 1.响应式说明 vue的响应式是vue框架中的核心概念之一,它是指当数据发生变化时,vue能够自动更新视图。vue2的响应式是基于Object.defineProperty进行实现的。 当你把…

seo站内优化公司免费制作微信网页网站

真机调试现在发生了改变,在Xcode7以前进行真机调试是需要证书的,正是由于这个原因,这个过程比较麻烦;在Xcode7以后是免证书的,使用起来就简单很多了。 Xcode7以前的步骤如下: 原链接地址为:http…

中国建设银行北海招聘信息网站龙岗做网站公司

一、栈 1.1、栈的基本概念 1.1.1、栈的定义 栈(Stack):是只允许在一端进行插入或删除的线性表。首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。 栈顶(Top):线性表允许…

企业集团网站源码手机能看禁止网站的浏览器

目录 1.煤球数量; 2.生日蜡烛; 3.凑算式 4.方格填数 5.四平方和 6.交换瓶子 7.最大比例 1.煤球数量 题目解析:可以根据题目的意思,找到规律。 1 *- 1个 2 *** 3个 3 ****** 6个 4 ********** 10个 不难发现 第…

网站源码生成器水滴查企业查询

文章目录八皇后问题解决思路代码实现运行结果八皇后问题 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯贝瑟尔于1848年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击&#x…

南京小程序开发网站制在线做网站 自动生成手机版

这里我想首先说明一下,虽然我们经常会拿垃圾回收器来做比较,虽然想挑选一个最好的收集器出来,但是目前也没有说哪一款收集器是完美的,更不存在万能的收集器,我们也只是对收集器选择最适合场景的一个收集器。 那么作者将…

织梦中英文网站源码网站权重如何速度增加

职场口才提升之道 在职场中,口才的重要性不言而喻。无论是与同事沟通协作,还是向上级汇报工作,亦或是与客户洽谈业务,都需要具备良好的口才能力。一个出色的职场人,除了拥有扎实的专业技能外,还应具备出色…

家政服务网站做推广有效果吗太原网站制作建设

HarmonyOS是华为自主研发的面向全场景的分布式操作系统。它的技术特点主要体现在以下几个方面: 分布式架构:HarmonyOS采用了分布式架构设计,通过组件化和小型化等方法,支持多种终端设备按需弹性部署,能够适配不同类别的…

ftp网站上传之后怎么办邵东微网站建设

一、背景知识 前面由于定轨的大作业,关于Astrogator模块的学习有所滞后,在本节将重新聚焦Astrogator模块,在本节中,首先解决的问题是已知两个卫星的轨道六根数,求解其中某一颗卫星LVLH坐标下另一颗卫星的位置速度。这…

钓鱼网站教程010-58813333 可信网站

为什么80%的码农都做不了架构师?>>> 马年春节即将来临,在过去的一年,U-Mail邮件服务器从用户需求出发,围绕着为用户打造稳定、安全、高效、易操作、助管理的邮件系统目标,三军用命,取得了不俗业…

企业官方网站怎么写中国外贸人才网官网

栈 一、栈的定义 栈是(stack)是限定尽在表尾进行插入和删除操作的线性表。 栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。 二、进栈出栈变化形式 注意: 并不是最新进栈的元素只能最后处栈。如,我们…

企业电子商务网站的建设阶段美篇制作app下载安装免费

3.2、当前项目规划 完成项目最基本的用户权限管理,即添加用户,添加角色,用户登录后根据权限的不同获取不同的菜单。转载于:https://www.cnblogs.com/seem111111/p/10945125.html

网站怎么做图片搜索网站开发怎么做才有利于seo

文章目录 什么是线程什么是进程进程的组成什么是pcb 进程概括线程线程与进程的关系线程的特点 创建线程创建线程方法创建线程的第二种方法对比 其他的方式匿名内部类创建线程匿名内部类创建Runable的子类lambda表达式创建一个线程 多线程的优势 什么是线程 什么是进程 首先想…