
Tensorflow入门机器学习及实践
文章平均质量分 87
对于深度学习框架Tensorflow不了解的小白,可以通过此专栏了解Tensorflow如何应用到机器学习中,方便快速入门。
@Mr Wang
作者主要研究Tensorflow框架学习使用机器学习和深度学习应用于物联网移动边缘计算方面的问题。
使用Tensorflow的原因:TensorFlow采用静态计算图,使其更适用于生产环境和大规模部署;Tensorflow有丰富的生态系统,支持广泛的应用领域,从移动设备到云端。相比于PyTorch以及PaddlePaddle,Tensorflow一方面更侧重于生产环境和部署适用于大规模的生产部署,支持分布式计算和多平台部署;另一方面含有TensorFlow Extended (TFX): 注重端到端的生产流水线,包括模型训练、评估和部署。
展开
-
浅谈目标检测之YOLO(You Only Look Once)v1
图1我们提出了一个新的目标检测方法YOLO。以前的目标检测工作是用分类器进行检测的。相反,本篇文章将目标检测表示为空间分离的边界框和相关的分类概率的回归问题。在一次评估中,使用单个神经网络从整个图像中预测边界框以及分类概率。由于整个的检测管道为单一神经网络,因此可以被优化为直接对端到端的性能检测。我们的架构非常快。基本的YOLO模型以每秒45帧速度实时处理图像。一个更小版本的网络,快速YOLO,处理速度每秒155帧的同时mAP(mean average precision)可达其它实时探测器的两倍。原创 2024-06-19 20:57:52 · 1206 阅读 · 1 评论 -
机器学习与数据挖掘知识点总结(二)分类算法
数据挖掘是从大量数据中发现隐藏在其中的模式、关系和规律的过程。它利用统计学、机器学习和数据库技术等工具和方法来分析大规模数据集,以发现其中的信息,并将其转化为可用的知识或决策支持。数据挖掘常用于预测、分类、聚类和关联规则发现等任务。原创 2024-06-08 16:06:05 · 1851 阅读 · 3 评论 -
机器学习与数据挖掘知识点总结(一)
神经网络有单一的神经元接收上一层神经元的输出作为本神经元的输入,即一种在神经元上运行的函数,把神经元的输入映射到输出端。图1 单神经元如图1(单输入单输出神经元)所示,p为输入,w为权重,b为偏置,若引入激活函数f,则相应的输出为a=f(wp+b),但若无激活函数,相应的输出a'=wp+b。其实也就是说,它的作用是引入非线性性质,使得神经网络能够学习和逼近更复杂的函数。在实际生活中,无论如何搭建神经网络,输出都是对于输入的线性模型叠加。原创 2024-06-04 21:38:45 · 1624 阅读 · 2 评论 -
Tensorflow基础之数据类型|数值精度|创建张量|张量的典型应用
由第2点创建全0或全1张量可以引出,非0非1的初始化怎样做呢,这就需要有自定义数值张量的定义了。tf.fill(shape,value) #shape为张量形状,value为数值#创建标量100#创建所有元素为100的向量#创建3*3矩阵,且所有元素均为100。原创 2024-01-15 15:28:11 · 967 阅读 · 2 评论 -
Tensorflow基础之张量操作索引与切片|维度变换|Broadcasting
通过start:end:step切片方式可以方便地提取一段数据,其中start为起始索引,end为结束读取位置索引(不包含end位),step为采样步长。tf.tile(x,multiples)函数完成在指定维度上复制,multiples分别指定了每个维度上的复制倍数,对应位置为1则不复制,对应位置为2则代表新长度要变为原来长度的二倍。特别地,step可以为负数,当为负数时,索引号end原创 2024-01-16 08:00:00 · 735 阅读 · 2 评论 -
Tensorflow进阶之合并与分割|数据统计|填充与复制|高级操作
tf.split(x,num_or_size_splits,axis) 其中,x为待分割张量,num_or_size_splits代表切割方案,可以为标量或张量,axis指定分割的维度索引号。填充就是在需要补充长度的数据开始或结束填充足够数量的特定数值,但这些特定数值一般代表了无效的意义。tf.concat(tensors,axis) tensors保存了所有需要合并的张量序列,axis代表所需要合并的张量维度索引。张量的合并可通过拼接和堆叠操作实现,拼接并不会产生新的维度,而堆叠操作会创建新的维度。原创 2024-01-17 08:00:00 · 972 阅读 · 1 评论 -
Tensorflow深度学习之梯度下降算法|学习速率|优化函数|反向传播
简单描述深度学习之梯度下降算法的原理,实践中学习速率的选取,以及优化函数的选择。原创 2024-01-09 17:02:36 · 762 阅读 · 1 评论 -
Tensorflow之softmax多分类(顺序编码|独热编码)
对数几率回归解决的是二分类的问题,但对于多个选项的问题,我们可以使用softmax函数它是对数几率回归在N 个可能不同的值上的推广。神经网络的原始输出并不是一个概率值,实质上只是对输入的数值做了加权与非线性处理之后的值而已,那么如何将输出转换为概率分布?这就引入了softmax层。softmax激活要求每个样本必须属于某个类别,且所有可能的样本均被覆盖,softmax各样本分量之和为 1;当只有两个类别时,与对数几率回归(二分类)完全相同。原创 2024-01-12 12:05:57 · 2013 阅读 · 2 评论 -
Tensorflow之逻辑回归与交叉熵
线性回归预测的是一个连续值,而逻辑回归预测给出的是“是”和“否”的答案。比如在使用激活函数sigmoid时,它是一个概率分配函数,在给定特征值时,特征值与权重的乘积作为输出值,映射到[0,1]区间,神经网络本质是一个表示/映射网络,由多层感知器组成,经过一层一层的映射,最后可把[0,1]间的这个值看成是神经网络给出的概率结果。但对于逻辑回归,平方差损失函数刻画原有数据集与损失为同一数量级的情况下。eg: 若真实值回答为1,但实际神经网络给出的值为一小数0.3,刻画损失为0.7。原创 2024-01-11 14:49:31 · 1586 阅读 · 3 评论 -
Tensorflow练手机器学习原理--线性回归
问题描述:我们将使用tf.keras来实现一个简单的线性回归,举一个单变量线性回归的案例:x代表学历/受教年限,f(x)代表不同学历所对应的收入,通过搭建模型f(x)=ax+b表示二者关系,预测学历x1所对应的收入f(x1)的值。目标:为使预测函数与真实值间的整体误差最小,但结果有正有负,直接使用二者的差显然不合适,使用绝对值最为整体误差的话,在数学上计算不方便,故可使用均方差作为成本函数,即预测值与真实值的差的平方除以样本个数。首先,导入matplotlib.pyplot,并设置其显示出来。原创 2024-01-09 11:25:14 · 1000 阅读 · 1 评论 -
Windows环境下安装Anaconda|Tensorflow及创建虚拟环境
自己在下载tensorflow时,可能会因为网络延时被中断,我发现原因主要是因为WiFi的原因,个人如果因为连接WiFi下载过程中老是超时或者是无法连接等原因时,不妨切换到个人热点,但下载仍需要点时间,在连接个人热点是仍有超时情况时,可以重新连接热点,保证越少设备使用此热点越好。下载完之后在本地点击安装即可,安装时,需要准备一个空的文件目录,安装难度很小,基本就是按照提示,点击下一步即可。3、安装完成tensorflow后,可在打开Anaconda Prompt页面中安装所需要的其他包。原创 2024-01-08 12:08:45 · 1026 阅读 · 1 评论 -
Tensorflow之网络优化以及超参数的选择
1)过拟合就是在训练集上表现良好但在测试集上表现较差,即“泛化能力较差”。2)欠拟合就是在训练集上表现较差,在测试集上表现也较差。图1如图1所示,好的拟合状态并不是在训练集上百分之百正确 ,而是既要在训练集表现良好,又要在测试集表现良好。其实已知过拟合最好的办法就是增加训练数据和减小网络容量,使用小型网络迫使学习最关键的数据。三、实例(一)开发过拟合模型,以fashion_mnist数据集为例(增加网络层数)1、先增加模型拟合能力# 1、导入库# 2、加载fashion_mnist数据集。原创 2024-01-13 14:49:52 · 1520 阅读 · 3 评论 -
Tesorflow多层感知器(MLP)实现广告的预测
首先讲述一下单层神经元以及多层神经元的推进,之前所提到的线性回归模型就是单个神经元,只需要计算输入特征的加权和,然后用一个激活函数即可计算输出,之前并没有使用激活函数。单层神经元实际无法拟合“异或”运算,神经元要求数据必须为线性可分的,因此异或问题无法通过单层神经元找到一条直线分割两个类。故受单层神经元的启发,多层神经元将单个神经元一层一层连接起来,当神经信号达到某个条件时,这个神经元就会激活,然后继续传递信息,作为后一个神经元的输入。原创 2024-01-10 17:12:59 · 1501 阅读 · 1 评论