ThoroughPytorch——1
三、Pytorch主要组成3.1深度学习总览完成一项机器学习的步骤:数据预处理——数据划分——模型选择——损失函数和优化方法及对应超参数的设定——模型拟合,计算模型表现深度学习与机器学习在流程上类似,但由于深度学习样本量大可能会超出内存,同时还有批训练等,因此须有另外的设计。
深度神经网络往往需要“逐层”搭建一些用于实现特定功能的层,或者预先定义好可以实现特定功能的模块,再把这些模块组装起来。
损失函数和优化器要能够保证反向传播能够在用户自行定义的模型结构上实现。
按批读入数据,放入GPU训练,然后将损失函数反向传播回网络最前面的层,同时使用优化器调整网络参数。之后需要根据设定好的指标计算模型表现。
3.2基本配置(1)包的导入建议导入了一些常用的包
(2)习惯统一设置的参数12345batch_size = 16# 批次的大小lr = 1e-4# 优化器的学习率max_epochs = 100
(3)GPU的设置12345# 方案一:使用os.environ,这种情况如果使用GPU不需要设置os.environ['CUDA_VISIBLE_DEVICES'] = ...
Pytorch基础
DataWhale在线阅读地址:https://datawhalechina.github.io/thorough-pytorch/
PyTorchPyTorch是由Facebook人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库,目前已被广泛应用,并正在取代TensorFlow的主导地位。1.优势1)简洁易理解2)上手难度小3)有良好的文档和社区支持,更新有保障4)项目开源5)更好的代码调试6)愈加完善的库2.安装(将在下一文中记录过程)2.1Anaconda的安装2.2 查看显卡2.3 安装PyTorch2.4 PyCharm安装3.学习资源1)Awesome-pytorch-list:目前已获12K Star,包含了NLP,CV,常见库,论文实现以及Pytorch的其他项目。2)PyTorch官方文档:官方发布的文档,十分丰富。3)Pytorch-handbook:GitHub上已经收获14.8K,pytorch手中书。4)PyTorch官方社区:PyTorch拥有一个活跃的社区,在这里你可以和开发pytorch的人们进行交流。5)PyTo ...
吃瓜教程-P5
第6章 支持向量机
1.前言
如上图所示,我们希望找到一个边界使两类数据分开,显然可以找到许多符合条件的边界,但对于看不见的点或者验证数据集,就不一定能很好地分隔两类。支持向量机(SVM)就是为了寻找最佳的决策边界,既能将两类很好的分隔开来,而且还保持了两个类的最极端点之间的最宽距离。挖坑:如果无法找到那个边界呢?
2.什么是支持向量机
支持向量机(SVM)本质上是尝试拟合两个类别之间最宽的间距,使得图1中的两条虚线之间的距离最大,那么分布在虚线上的点就叫支持向量。也可以说,支持向量决定了虚线的位置,非支持向量,即图中不在虚线上的点不会影响决策边界的位置。原理
根据最大几何间隔选择最佳超平面
3.核函数填坑在本章前面的讨论中,我们假设训练样本是线性可分的,即存在一个划分超平面能将训练样本正确分类.然而在现实任务中,原始样本空间内也许并不存在一个能正确划分两类样本的超平面。对这样的问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分.
3.1直接计算
3.2通过设想函数避开直接 ...
吃瓜教程-P4
第5章 神经网络
5.1神经元模型神经网络是由具有适应性的简单单元(神经元模型)组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。神经元接收到来自几个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接(connection)进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过“激活函数”处理以产生神经元的输出。
激活函数1)阶跃函数将输入值映射为输出值 “0” 或 “1”,不连续、不光滑
2)Sigmoid函数把可能在较大范围内变化的输入值挤压到(0 ,1 )输出值范围内
把许多个这样的神经元按一定的层次结构连接起来,就得到了神经网络.
5.2 感知机与多层网络感知机感知机(Perceptron)由两层神经元组成,输入层接收外界输入信号后传递给输出层,输出层是M-P神经元,亦称“阈值逻辑单元”。
将阈值看做“哑节点”所对应的连接权重,权重和阈值的学习就可统一为权重的学习。
只拥有一层功能神经元,其学习能力非常有限.
若两类模式是线性可分的,即存在一个线性超平面能将它们分开,则感知机的学习过程一定会收敛(converge)。 ...
吃瓜教程-P3
《机器学习》第四章 决策树4.1 基本流程决策树(decision tree)是一类常见的机器学习方法。基于树结构来进行决策,进行一系列的判断或“子决策”。
一般的,一棵决策树包含一个根结点、若干个内部结点和若干个叶结点;叶结点对应于决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根结点包含样本全集。决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树。基本流程:
区别:情形(2)是在利用当前结点的后验分布,而情形(3)则是把父结点的样本分布 作为当前结点的先验分布.4.2 划分选择决策树学习的关键是选择最优划分属性.一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样 本尽可能属于同一类别,即结点的“纯度”(purity)越来越高.信息增益
增益率
增益率准则对可取值数目较少的属性有所偏好,因 此 C4.5 算法并不是直接选择增益率最大的候选划分属性,而是使用了一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的.
基尼指数
4.3 剪枝处理剪枝主要为了对付“过拟合 ...
吃瓜教程-P2
《机器学习》第三章 线性模型3.1基本形式f(x)= w1x1+w2x2+…+wdxd+b向量形式: f(x) = w T x + b其中x表示由d个属性描述的示例x=(x1;x2;…;xd) ,许多非线性模型可在线性模型的基础上通过引入层级结构或高维映射而得。线性模型形式简单、易于建模,有很好的可解释性。
3.2线性回归“线性回归”试图学得一个线性模型以尽可能准确地预测实值输出标记。① 若属性值间存在“序”(order)关系,可通过连续化将其转化为连续值,例如三值属性“高度”的取值“高”“中”“低”可转化为{1.0,0.5,0.0}。② 若属性值间不存在序关系,假定有k个属性值,则通常转化为k维向量,例如属性“瓜类”的取值“西瓜” “南瓜” “黄瓜”可转化为(0,0,1), (0,1,0),(1,0,0)。若将无序属性连续化, 则会不恰当地引入序关系, 对后续处理如距离计算等造成误导。
当样本由单个属性描述时:线性回归试图学得f(xi)= wxi+b使得f(xi)→yi 。如何求w和b?最小二乘法——基于均方误差最小化试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。
当样本 ...
吃瓜教程-p1
第一章 绪论本章主要是对机器学习相关内容做了概述,通过西瓜外观判断瓜的质量的例子,将基本术语和假设空间的概念讲述清楚。—————数据集(关于西瓜数据的集合,例如【(色泽=青绿;根蒂=蜷缩;敲声=浊响),(色泽=乌黑;根蒂= 稍蜷;敲声=沉闷),(色泽=浅白;根蒂=硬挺;敲声=清脆),……)】⬇️示例/样本(特征向量)(关于一 个事件或对象(这里是一个西瓜)的描述)⬇️属性/特征(反映事件或对象在某方面的表现或性质的事项,例如“色泽”“根蒂” “敲 声 )⬇️属性值(属性上的取值,例如“青绿”“乌黑”)⬇️属性空间/样本空间/输入空间(属性张成的空间,例如我们把“色泽” “根蒂” “敲声”作为三个坐标轴,则它们张成一个用于描述西瓜的三维空间,每个西瓜都可在这个空间中找到自己的坐标位置.由于空间中的每个点对应一个坐标向量,因此我们也把一个示例称为一个“特征向量”.)—————从数据中学得模型的过程称为“学习”(learning)或 “训练”(training), 这个过程通过执行某个学习算法来完成.训练过程中使用的数据称为“训练 数 据 “(training data), 其中每个样本称为 ...
卫生健康委关于”摒弃酒桌陋习,传承正确酒文化“改革的指导意见
卫生健康委关于“摒弃酒桌陋习,传承正确酒文化”改革的指导意见204舍卫办函〔2022〕1号
各卫健委成员、各部委、各直属机构:
中国酒文化源远流长,“酒桌文化”更是成了人们日常交往的重要纽带。不论是喜庆筵席、亲朋往来,还是逢年过节、日常家宴,人们都要举杯畅饮,以增添一些喜庆气氛。同时由于酒有一种微妙的“神奇”作用,故千百年来,人们喜欢以酒祭祖、以酒提神、以酒助胆、以酒御寒等。酒文化也是中华文化的见证者之一,本身是值得我们去了解与尊重的。但近年来,酒桌文化却显现出一些不正常的现象,各种规矩、礼节层出不穷,原本清风正气的酒桌渐露腐败之像,经卫健委审议,现提出以下意见:
一、适量饮酒,倡导以酒怡情,莫要因酒伤身;
二、合理劝酒,根据对方饮酒能力选择劝酒方式;
三、适度敬酒,做到对自己的能力心中有数,勿饮酒伤身;
四、以茶代酒、饮料代酒,只要感情有,喝啥都是酒。
各部门各有关人员要加强组织领导,将推进酒桌文化改革纳入宿舍文化建设相关规划。建立完善多部门 ...
无人艇障碍AI检测实战案例分享
无人艇障碍AI检测实战案例分享以下内容来自海洋仪器仪表研究所的副研究员刘寿生老师主持的线上分享会。由AIphaGo战胜李世石的例子引出机器学习,又由AIphaZero战胜AIphaGo的例子引出会议的主题——深度学习。深度学习的三要素:数据,算法,算力
举出了其所在研究所的海洋浮标和传感器项目。
开始讲解深度学习到的内容。1.数据集1.1介绍了一些知名的开源数据集
1.23测试集、训练集补充当测试集数量不够时,如何补充?
当船头船尾检测不到时,怎么解决?
1.4虚拟样本的使用我们可以通过构建VR场景来扩充数据集
2.算法(模型)2.1开源网络,我们可以直接使用训练好的开源模型
2.2我们可以通过微调参数来优化模型
3.算力提到了工控机和小型机的部署和使用NVIDIA-CUDA配置GPU训练可大幅提升速度。
4.对前面内容做了总结,并针对同学们的发展给出了一些启示。
李宏毅-P5卷积神经网络
DataWhale李宏毅机器学习https://linklearner.com/datawhale-homepage/#/learn/detail/93
卷积神经网络为什么用CNN?
在training neural network时,我们会期待说:在network的structure里面,每一个neural就是代表了一个最基本的classifier,事实在文件上根据训练的结果,你有可能会得到很多这样的结论。举例来说:第一层的neural是最简单的classifier,它做的事情就是detain有没有绿色出现,有没有黄色出现,有没有斜的条纹。第二个layer是做比这个更复杂的东西,根据第一个layer的output,它看到直线横线就是窗框的一部分,看到棕色纹就是木纹,看到斜条纹+灰色可能是很多的东西(轮胎的一部分等等)再根据第二个hidden layer的outpost,第三个hidden layer会做更加复杂的事情。 但现在的问题是这样的,当我们一般直接用fully connect feedforward network来做影像处理的时候,往往我们会需要太多的参数,举例来说, ...







