
机器学习
文章平均质量分 56
qq_20880939
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试02.05 链表求和
示例:输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295输出:2 -> 1 -> 9,即912最麻烦的代码,最易理解的思路;/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {}原创 2020-06-10 23:10:30 · 248 阅读 · 0 评论 -
Kaggle数据集上传到Google Colab上,亲测绝对有效
Kaggle提供免费的GPU,但是时间是有限制的,但是Google Colab的GPU是没有时间限制的,所以本文介绍一下如何将Kaggle数据集上传到Google Colab上,如果本地上传,实在是慢,但通过Kaggle数据API式上传,在我笔记本上,上传数据的速度能达到77MB/s;要实现数据上传,只需要在Colab笔记上依次运行下面的命令即可,亲测有效:!pip install ka...原创 2020-04-19 13:33:39 · 4968 阅读 · 10 评论 -
IMAGE DETECTION (TensorFlow)
1. YOLO:YOLO是一种快速图像的对象检测算法,是一种一阶段的对象检测算法,以快为优势,核心思想就是在图像上直接做回归预测,预测出图像上的对象的名称与具体位置。 如果要实现一张图片与视频上的yolo检测,可遵循下面的步骤:1. 导入相应的依赖包: 这里使用基于TensorFlow的深度学习框架;import tensorflow as tfimport num...原创 2020-04-14 10:43:20 · 461 阅读 · 0 评论 -
Kaggle实战总结(持续更新)
1. import os 这个包在加载数据时有很大作用,特别是在处理类似图像的问题时,这个包能发挥巨大的作用; 比较常用的就是两个函数: 1. os.listdir() 传入文件路径时,我们可以返回每个子文件的名字; 2. os.path.join() 将大文件的名字与子文件名字连在一起,为啥这么做?? 为了获取每个子文件的每张图像的路径。...原创 2020-04-13 11:21:57 · 753 阅读 · 0 评论 -
Image Classification (CNN-KERAS)
图像分类的思路是:1. 首先,导入可用的工具包;2. 加载数据并进行相应可视化操作;3. 尝试一个简单的模型,并评估表现;4. 由于数据有时候较少,因此使用预训练模型进行微调是比较好的选择;导入数据包在导包这块,有些包是必须要进行导入的;有一些需要进行问题的不同灵活选择导入一般情况下必须导入的包:import numpy as np #(这个包逼着眼...原创 2020-04-12 13:21:52 · 1167 阅读 · 1 评论 -
Tensorflow的队列与线程
https://www.cnblogs.com/zhangfengxian/p/10633464.html转载 2020-01-19 20:18:30 · 148 阅读 · 0 评论 -
【深度学习】批归一化(Batch Normalization)
https://blog.youkuaiyun.com/vict_wang/article/details/88075861转载 2019-11-19 21:54:30 · 157 阅读 · 0 评论 -
常用激活i函数应用与总结
https://blog.youkuaiyun.com/tyhj_sf/article/details/79932893转载 2019-11-14 20:16:34 · 120 阅读 · 0 评论 -
前向传播算法(Forward propagation)与反向传播算法(Back propagation)
https://blog.youkuaiyun.com/bitcarmanlee/article/details/78819025这是我见过对 FP BP最通俗易懂的描述。。转载 2019-11-02 10:02:27 · 129 阅读 · 0 评论 -
Tensorflow 冻结底层与缓存冻结层
首先,为什么要冻结底层?冻结底层是建立在一定的条件之上(条件是这两个网络在检测任务具有一定的相似性)。假如你要训练一个庞大的DNN网络用于图片分类任务,这时最为明智的做法是找一个已经训练好的同样用于DNN图片分类网络的模型。已经训练好的网络的模型可能已经学会了检测图像中的低级特征,因此这些低级特征的检测对于这两个网络来说都是有用的。冻结已训练好的DNN的一些底层,在这些底层上进行新的DNN...原创 2019-08-16 10:34:26 · 998 阅读 · 0 评论 -
Tensorflow 利用最近邻算法实现Mnist的识别
本文部分内容来自:https://blog.youkuaiyun.com/qq_33626280/article/details/88107220参数解释:其中I1和I2是p维向量,例如I1=[0, 1],I2=[1, 0]。则p=2,d1(I1,I2) = 2, d2(I1, I2) = √2.解释一下为什么L1距离图像为什么为正方形,而L2距离图像为圆。我们以二维空间为例:对于L1,他计算的是...原创 2019-08-28 10:31:30 · 394 阅读 · 0 评论 -
Tensorflow--在静态图中使用动态图
在新版的Tensorflow中,动态图使用居多,但是在整体训练时,动态图对loss值处理部分显得比静态图要繁琐一些,但是在正向处理时,使用动态图更加直观。在静态图中,可以使用动态图的方法,即正向使用动态图,反向使用静态图,这样就可以兼顾二者的优势。在具体实现上,仍然以静态图为主要部分,在需要使用动态图模型的部分时,可以调用 tf.py_function函数实现动态图的处理#使用动态图...原创 2019-09-05 14:23:11 · 1386 阅读 · 0 评论 -
Tensorflow-- 用估算器框架训练一个回归模型
估算器框架(Estimators API)是属于Tensorflow里的一个高级API。 它的特点是对底层代码进行了高度的封装,使其对开发模型的过程变得简单。估算器框架主要包含了三个部分:1. 输入函数、2.模型函数、 3. 估算器。 使用估算器框架开发模型,就是具体化上述三个过程下面代码中,输入函数包含了两个部分,即训练部分与测试部分。 其中 train_input_fn函数用于训练, ...原创 2019-09-05 20:36:38 · 473 阅读 · 0 评论 -
ResNet 进行图片识别 (基于tf.keras)
import tensorflow as tfimport matplotlib.pyplot as pltfrom tensorflow.python.keras.applications.resnet50 import ResNet50from tensorflow.python.keras.preprocessing import imagefrom tensorflow.pyth...原创 2019-09-07 10:46:31 · 1361 阅读 · 0 评论 -
Pyhton中 is 与 == 的区别
在Python中, is函数与“==” 区别是什么?简言之, is函数判断指针是否是相等的,这里指针代表存放对象的内存地址, “==” 只是判断两个值是否相等或。...原创 2019-09-12 12:00:26 · 144 阅读 · 0 评论 -
Python中的property的用法
首先,构造一个类,这个类能够实现私有属性的赋值与访问但是,我们发现,当声明完对象后,每次调用函数时,都需要进行调用具体的函数(getNum() 与 setNum())。 现在,我不想这么具体的进行函数调用,显得特别麻烦。这时,Python中的property就发挥作用了。上式中,我们添加了 num=property(getNum,setNum) 语句, 这样我们在后面无论是调用还是...原创 2019-09-13 12:26:27 · 761 阅读 · 0 评论 -
演示list使用中的技巧与注意事项
list是Python中最为常用的数据类型,当我们对list进行操作时,首先要想到一点是,我们能不能利用Python里对list的内置函数来解决这个问题,因为Python中针对列表已经有很多的内置函数,了解这些内置函数能够极大的方便我们对list的操作。# 定义一个涵盖各种类型的list,将其内容与地址打印出来list1=[1, 2.3, "lis", [2,3,4], 'Adam']p...原创 2019-09-13 16:27:49 · 250 阅读 · 0 评论 -
Python 在for循环上,使用切片
当我们对例如列表list进行用for进行循环操作时,假如在循环体内我们需要对该列表进行操作(这是前提条件),这时要注意一定要使用列表的切片,不能使用原列表。如果使用原列表,会造成死循环。所谓切片,就是原来列表words的一个副本。如果不用切片,如上面所示,代码会一直运行下去,造成死循环。...原创 2019-09-14 10:12:37 · 3265 阅读 · 0 评论 -
Python中的 生成器函数
提到生成器,不得不说迭代器,生成器与迭代器的主要区别是--只能迭代一次、生成器与迭代器虽然在使用方式上类似,但是内部的原理却完全不相同。1. 迭代器是所有的内容都在内存上, 使用next函数往下遍历2. 生成器不会把内容放在内存里,每次调用next函数时,返回的都是计算出来的那个元素,用完后立即销毁。所以使用生成器与迭代器存在时间上与空间上的衡量,如果是数据量较大的程序...原创 2019-09-16 20:17:21 · 297 阅读 · 0 评论 -
Python中的类的成员方法与类方法
Python中的 类成员方法 与 类方法 是类的成员函数两种不同的形式。类方法:在一个类定义中,如果某个方法使用了 装饰器 @classmethod 进行装饰,则该方法是一个类方法。类方法与默认成员方法区别是: 类方法属于类,而默认成员方法属于类的实例化对象,怎么理解,下面代码进行详细展示:在代码最后两行,我们发现,无论我们通过类方式直接调用fcls函数还是通过实例化...原创 2019-09-18 15:19:38 · 2867 阅读 · 1 评论 -
Python中导入文件名中带空格的模块
在Python中,导入具有空格的模块,可以使用__import__的方法实现。假设模块中有个叫“43 sss“的模块,在Python中,导入的方式为:yy = __import__("43 sss")上述方式就可以获得该模块的引用,方便后续的操作。...原创 2019-09-22 11:42:36 · 2506 阅读 · 0 评论 -
Python 中浅拷贝与深拷贝的区别
https://blog.youkuaiyun.com/weixin_38819889/article/details/86476528转载 2019-09-23 10:49:15 · 94 阅读 · 0 评论 -
Colab使用tensorboard
https://blog.youkuaiyun.com/leonardohaig/article/details/89923680转载 2019-09-24 17:06:00 · 580 阅读 · 0 评论 -
径向基(RBF)神经网络
径向基(RBF)神经网络是一种单隐层前馈神经网络,它使用径向基函数作为隐藏层神经元的激活函数,而输出层则是对隐层的神经元的输出的线性组合上图就是径向基神经网络的结构展示,可以分析出,权值W仅在隐藏层到输出层才存在,这样的神经网络的优势在于:它是一种局部逼近网络,即在空间的某个局部区域上只有少数的几个连接权值会影响其输出,这就比BP神经网络的全局逼近网络具有较大的优势.RBF神经网络因为具有上述的特...原创 2018-04-04 16:33:11 · 5448 阅读 · 1 评论 -
支持向量机SVM推导及求解过程
支持向量机SVM推导及求解过程转载 2019-08-20 19:35:39 · 173 阅读 · 0 评论 -
机器学习的算法优化中“跳出”局部极小值
下面内容摘自西瓜书,也是我的学习笔记。在现实的任务中,人们可以采用三种方式试图 “跳出” 局部极小,从而进一步接近全局最小。1. 以多组不同参数初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终的参数。这相当于从不同的初始点开始搜索,这样就可能陷入不同的局部极小,从中进行选择有可能更接近全局最小的结果。2. 使用 ”模拟退火“ 技术,模拟退火在每一步都以一定的概率接受比当...原创 2019-08-19 19:11:34 · 2433 阅读 · 0 评论 -
解决 Hands-On-Machine-Learning实战第三章数据无法加载问题
下面是具体加载代码,亲测可用。但是需要点时间。from six.moves import urllibfrom sklearn.datasets import fetch_mldata#try: # mnist = fetch_mldata('MNIST original')#except urllib.error.HTTPError as ex:#print("Could n...原创 2019-08-07 19:30:29 · 295 阅读 · 0 评论 -
线性回归
import matplotlib.pyplot as pltimport numpy as npfrom sklearn import datasets,linear_modelfrom sklearn.metrics import mean_squared_error,r2_score#加载数据diabetes=datasets.load_diabetes()data_X=diab...原创 2018-05-16 10:43:18 · 181 阅读 · 0 评论 -
机器学习中的监督学习与无监督学习
在机器学习的领域,有两类主要的任务:监督学习与无监督学习。这两种方法上的区别在于,监督学习是使用真实的标签来完成的,但是在无监督中,却不存在这样的标签。因为这样的特性,监督学习的目标是学习一个函数,在已知该样本数据与输出值的情况下,尽最大的可能去拟合输入与输出的关系,无监督学习一般是推断一组数据的内部结构.监督学习中有两大主要的任务,即分类任务与回归任务.下图形象的展示了什么是分类,什么是回归问题...原创 2018-04-05 15:08:31 · 1809 阅读 · 0 评论 -
机器学习--“跳出”局部最小值
在现实的任务上,“跳出”局部最小值可以有三种思想进行考虑。1.以多组不同的参数值初始化多个神经网络,按标准化方法训练后,取其中误差最小的解作为最终的参数,这相当于从多个不同的初始点开始进行探索,这样就可能陷入不同的局部极小,从中进行有可能获得更接近全局最小的结果.2. 使用“模拟退火”技术,“模拟退火”在每一步都会以一定的概率接受比当前更差的结果,从而有助于“跳出”局部最小,在每一步的迭代的过程中...原创 2018-04-04 11:22:43 · 4999 阅读 · 1 评论 -
分类与预测算法的评价
分类与预测的任务是在数据挖掘中经常完成的任务,那么这带来的一个问题是我们如何对一个分类与预测的模型进行评价那?评价有很多的方式,你比如说:均方误差法,这应该是误差分析的综合指标的方式之一,这在神经网络是经常用到的.这里我们主要关注分类或者预测的结果与实际值之间的差距,有一个很重要的模型,是经常用到关于其分类的评价的,即ROC曲线.ROC曲线在我以前的博客中已经有实现的具体代码,这里要详细展开详细分...原创 2018-04-14 15:43:19 · 1316 阅读 · 0 评论 -
机器学习--感知器分类算法
话不多说,直接上代码.原理很# -*- coding: utf-8 -*-"""Spyder EditorThis is a temporary script file.""" #! /usr/bin/env python #coding=utf-8 import numpy as np import unittestimport matplotlib.pylab...原创 2018-04-01 21:45:12 · 692 阅读 · 0 评论 -
python中的zip函数用法
python中zip函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的列表。没有参数时,它返回一个空的列表。概括起来一句话: zip函数返回的是一个列表,但是列表里面的元素是由一个个元组构成的..import numpy as npX = mat(array([[2, 4.3], ...原创 2018-04-01 21:27:31 · 1204 阅读 · 0 评论 -
机器学习--集成学习记载1
集成学习:通过构建并结合多个学习器来完成学习任务,这里的多个学习器的结合是需要某一种策略对其进行实现的.这里我们自然会想到这多个学习器有不同的类型,引申出两种不同的集成方式.(1).如果集成的学习器是同一种类型的学习器,这样的集成是“同质”的。(2)既然有相同类型的学习器的结合,那么必然会有不同类型的学习器的结合.上图展示的是集成学习的逻辑示意图,我们可以隐约的感觉到,如果是多个学习器是同一种类型...原创 2018-03-31 20:49:23 · 175 阅读 · 0 评论 -
Python中的NumPy
NumPy是Python进行科学计算的一个基础包,该包在机器学习算法中得到了广泛的应用,无论是任何形式的数据,在喂给计算机作为输入时都要以数据的形式体现,而数据的结构就是以向量形式,因此这个包在机器学习中应用广泛,本文目的是详细了解一下这个包。NumPy包的基本结构是多维数组,称为ndarray (N-dimensional array object)多维数组,可能有点抽象,稍微有点编程经...原创 2019-07-13 16:27:24 · 236 阅读 · 0 评论 -
NumPy中数据类型转换astype与形状改变reshape
在NumPy中,如果我们要对数据进行数据类型的转换,要使用NumPy中自带的astype函数上面我们先初始化一个二维数组a,经过a.dtype判断后是“float64”,是浮点型。如果此时想转化为整型int, 只需要执行代码 a.astype(int). 这里注意,他们之间必须是可以进行转化的。--------------------------------------------...原创 2019-07-13 17:01:26 · 1561 阅读 · 0 评论 -
python中多维数组的索引与切片(基于NumPy)
根据我的理解,关于多维数组的索引与切片,不需要可以去记他的模式,这一小块,唯一需要理解的是这个多维数组的shape.只要把这个概念真正理解了,关于索引与切片问题迎刃而解了;首先初始化上面的这样一个多维数组x,观察其x的数组结构,然后看x.shape=(2,3,3). 观察这个结果,其实含义可以理解为,后面的(3,3)是一个矩阵,表示其行数与列数,前面的2表示到底有几个这样的矩阵。你再查看其...原创 2019-07-13 20:33:41 · 7764 阅读 · 0 评论 -
非线性SVM
很多情况下,线性SVM就非常好用。但是当数据为非线性时,此时就要考虑非线性SVM。本文主要是考虑如何对非线性SVM使用。那么,处理非线性SVM有两种方式:1. 增加新的复杂的特征,这对于某些问题是非常好用的。实质上,在以前写过的多项式回归就是基于这样的思想来处理非线性复杂问题,这里同样是这样的思想。2.利用多项式的核技巧 (SVC) (这里它产生的结果就像跟方式1是一样的,但是实质...原创 2019-08-09 15:25:15 · 1298 阅读 · 0 评论 -
百面机器学习3---组合特征与选择
机器学习在对数据进行预处理时(特征工程),为了提高复杂关系的拟合能力,在特征工程上经常会把一阶离散特征两两组合,构成高阶组合特征。这样做增加了属性的表示能力。但是这个过程可能是复杂的,在缺少专家经验的情况下,在选择不同的属性组合时可能抱着试试看的心态去实现的,但是并不是左右组合的结合都是有意义的。这里介绍一种利用决策树进行组合特征选择的例子;决策树从每个根节点到叶子节点都可以视为一...原创 2019-08-07 10:21:07 · 298 阅读 · 0 评论 -
百面机器学习2---对数据进行预处理时,应该怎样处理类别型特征
首先要清楚什么是类别型特征?简单考虑,如果是数值类别特征,统计后以Object结尾的,这样我们需要将这种类别型的特征转化为数值型的特征。具体转化上,可以使用两种方式:1. 序号编码。 2. 独热编码。序号编码通常用于处理类别间具有大小关系的数据。例如成绩,可以分为低、中、高三档,我们可以将其编码分别为1、2、3进行表示。独热编码通常用于处理类别间不具有大小关系的数据。具体使用...原创 2019-08-07 09:31:15 · 779 阅读 · 0 评论