机器学习
文章平均质量分 61
大呼啦
这个作者很懒,什么都没留下…
展开
-
机器学习实现线性回归
机器学习之实现线性回归1.介绍数据集本文中我使用的是西瓜数据集3.0a在拿到数据集后,预处理是:这个数据集的格式是gbk格式的,所以先手动将该数据集改为utf-8,这样在后面的处理中不容易报错。发现在第四列好瓜这一列全部是汉字,汉字只是我们的语言,计算机看不懂,所以我们需要将其转化为计算机看的懂的,是变为1,否变为0。1.读取数据及数据预处理首先将属性矩阵和标记矩阵分开存储,同时在属性矩阵最后增加一列全为1的数,并将其放入label里面存储。#读入西瓜数据集并且预处理def loadDat原创 2021-07-24 11:03:50 · 663 阅读 · 0 评论 -
一文解释清卷积神经网络中池化层的作用
池化层:池化层夹在连续的卷积层中间, 用于压缩数据和参数的量,减小过拟合。简而言之,如果输入是图像的话,那么池化层的最主要作用就是压缩图像。池化层分为3类,平均池化,最大池化和随机池化。拿最大池化举个例子:上图的例子是按步幅2进行2X2的最大池化时的处理顺序。最大池化是获得最大值的运算,“2X2”表示目标区域的大小。如上图所示,从2X2的窗口的移动间隔为2个元素。另外,一般来说,池化的窗口大小会和步幅设定成相同的值。比如3X3的窗口的步幅会设为3,4X4的窗口的步幅会设为4等。而最大池化的优点是:原创 2021-05-09 16:36:19 · 6433 阅读 · 6 评论 -
一起学深度学习(一):卷积神经网络CNN
卷积神经网络1.整体结构2.卷积层2.1全连接层存在的问题2.2卷积运算2.3填充2.4步幅1.整体结构CNN和之前介绍的神经网络一样,可以像乐高积木一样通过组装层来构建。如果不清楚的可以见上一篇博客。利用numpy实现三层神经网络不过CNN中新出现了卷积层(Convolution层)和池化层(Pooling层)。这两个新名字下篇博客中会介绍,这里先介绍下如何组装层以构建CNN。之前介绍的神经网络中,相邻层的所以神经元之间都有连接,这称为全连接层。另外,用Affine层实现了全卷积层。如果使用这个Af原创 2021-05-06 20:17:40 · 770 阅读 · 2 评论 -
空洞卷积实现代码
经过几天的学习理论知识和实践,终于把unet跟空洞卷积结合了。还没看过空洞卷积的请看下面链接空洞卷积理论知识代码uent.pyimport numpy as npimport osimport skimage.io as ioimport skimage.transform as transimport numpy as npfrom tensorflow.keras.models import *from tensorflow.keras.layers import *from t原创 2021-04-29 22:27:09 · 6155 阅读 · 50 评论 -
让人头大的激活函数:输出层的激活函数softmax
前言我认为不管是在机器学习里还是深度学习,激活函数的含义不重要,但是这个模型为什么选择这个激活函数很重要。所以这篇博客我来大概介绍一下那个模型选择那个激活函数。正文机器学习中主要可以分为分类问题和回归问题。分类问题是数据属于哪一个类别的问题,比如区分图像中的人是男是女。回归问题是根据某个输入预测一个(连续的)数值问题,比如根据图像预测这个人的体重。输出层的激活函数,要根据求解的问题的性质而定。一般的,回归问题使用恒等函数,二分类问题使用simgod函数,多元分类问题可以使用softmax函数原创 2021-04-27 20:48:06 · 1893 阅读 · 1 评论 -
利用numpy实现三层神经网络
其实神经网络很好实现,稍微有点基础的基本都可以实现出来.主要都是利用上面这个公式来做的。这是神经网络的整体框架,一共是三层,分为输入层,隐藏层,输出层。现在我们先来讲解下从输出层到到第一个隐藏层。使用的编译器是jupyter notebookimport numpy as np#定义X,W1,B1X = np.array([1.0, 0.5])w1 = np.array([[0.1, 0.3, 0.5],[0.2, 0.4, 0.6]])b1 = np.array([0.1, 0.2, .原创 2021-04-26 21:52:00 · 4089 阅读 · 19 评论 -
K-means实战(一)
K-means算法阐述k近邻法(k-nearest neighbor, k-NN)是1967年由Cover T和Hart P提出的一种基本分类与回归方法。它的工作原理是:存在一个样本数据集合,也称作为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系。输入没有标签的新数据后,将新的数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k-近邻算法中k的出处,通常k是原创 2021-04-07 21:37:19 · 442 阅读 · 6 评论 -
实现随机抽样法分割数据集
1在机器学习中,有时我们会获得一整个数据集,而我们知道,在这一过程中分为测试集与训练集。而随机抽样法的定义是从总体N个单位中随机地抽取n个单位作为样本,使得每一个容量为样本都有相同的概率被抽中。特点是:每个样本单位被抽中的概率相等,样本的每个单位是完全独立,彼此间无一定的关联性和排斥性。简单随机抽样是其它各种抽样形式的基础。通常只是在总体单位之间差异程度较小和数目较少时,才采用这种方法。data_dududu = pd.DataFrame(list(range(10)))data_dududu首原创 2021-04-05 20:25:31 · 973 阅读 · 2 评论 -
神经网络:第一个神经网络
一.概念我们先来看一个问题,就是通过这个表,推断出?处到底是0还是1。很简单,答案是1,我们可以观察到,在前4行中,当a=0时,d=0,当a=1时,d=1.所以第五行当a=1的时候,d显而易见等于1.但是这个问题与学习神经网络有什么关系呢?原因是神经网络是与人大脑的神经网络相似,而我们可以用大脑快速的看出来d等于多少,但是无法让计算机判断出来。所以前人发明了神经网络。而就是通过神经网络,电脑才能快速判断出d的值。在没有神经网络之前,我们可能会做出这样的死代码:if(a==0){ d = 0;原创 2021-03-08 20:06:18 · 526 阅读 · 1 评论 -
初学opencv 3-ROI与泛洪填充
填充模板,整体填充不能跨越输入遮罩中的非零像素。例如,边缘检测器输出可以用作遮罩,以停止边缘填充。输出时,像素与图像中填充像素对应的遮罩设置为1或标志中指定的值。原创 2021-02-20 11:21:56 · 248 阅读 · 1 评论 -
机器学习入门(二) 准备工作
今天总结的是端对端的机器学习项目,由于内容较多,我就分开总结了。首先先介绍下这次的项目案例:假设你是一个房地产公司最新雇佣的数据科学家,以下是你将会经历的主要步骤:1.观察大局2.获得数据3.从数据探索和可视化中获得洞见4.机器学习算法的数据准备5.选择并训练模型6.微调模型7.展示解决方案8.启动,监控和维护系统1我们选择了加州住房价格的数据集数据中有许多指标,诸如每个街区的人口数量、收入中位数、房价中位数等。在这里我先略过一些部分,直接来到获取数据,因为这个获取数据的方法也是原创 2021-02-18 12:04:51 · 340 阅读 · 1 评论