自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(441)
  • 资源 (4)
  • 收藏
  • 关注

原创 opencv之图象裁剪

在深度学习的模型训练中,经常需要将模型裁剪成模型要求的输入尺寸。本文介绍了如何将一个矩形的图像裁剪成指定尺寸的正方形图像。import cv2import osdef cut_images(origin_image, image_size): """ 图像裁剪:将图像裁剪成固定尺寸的大小作为模型的输入。 (1)先将图象resize成短边和image_size一致,然后再从中间截取图像。 (2)此处只考虑了长宽相等的情况,因此image_size只是一个数值。

2021-09-08 16:38:20 1459

原创 使用tensorflow2.x实现VGG

本文先介绍了VGG的基本原理,然后详细介绍了如何使用tensorflow2.x实现VGG网络。其中VGG原理参考了https://zhuanlan.zhihu.com/p/41423739文章中的代码已上传github:https://github.com/lujinhong/tensorflow-deeplearning-project1、VGG原理VGG是Oxford的Visual Geometry Group的组提出的(大家应该能看出VGG名字的由来了)。该网络是在ILSVRC 2014上的相

2021-08-17 15:14:09 1690

原创 tensorflow综合示例7:LeNet-5实现mnist识别

在本文中,我们使用tensorflow2.x实现了lenet-5,用于mnist的识别。import numpy as npimport matplotlib.pyplot as pltimport pandas as pdimport tensorflow as tffrom tensorflow import keras数据预处理我们先载入mnist数据(x_train, y_train),(x_test, y_test) = keras.datasets.mnist.load_dat

2021-07-26 15:53:43 1230

原创 tensorflow综合示例1:tensorflow-keras的基本使用方式

import numpy as npimport matplotlib.pyplot as pltimport pandas as pdimport tensorflow as tffrom tensorflow import kerasimport sklearnimport osprint(tf.__version__)2.4.11、基本模型构建本文只介绍了最基本,也是最常用的API,除此以外可以使用函数式API和子类API构建模型,详见《机器学习实战》第10章。1.1 准备

2021-07-17 09:17:42 812 1

原创 tensorflow系列之7:RNN

import numpy as npimport matplotlib as mplimport matplotlib.pyplot as pltimport tensorflow as tffrom tensorflow import kerasdef plot_series(series, y=None, y_pred=None, x_label="$t$", y_label="$x(t)$"): plt.plot(series, ".-") if y is not None

2021-07-17 09:16:42 393 1

原创 tensorflow系列之6:CNN

import numpy as npimport tensorflow as tfimport sklearnimport sysimport matplotlib.pyplot as pltfrom tensorflow import kerasprint(tf.__version__)print(sys.version)# To plot pretty figures%matplotlib inlineimport matplotlib as mplimport matplotl

2021-07-16 10:57:47 468

原创 tensorflow综合示例5:图象分割

本文主要内容来自: https://www.tensorflow.org/tutorials/images/segmentation?hl=zh-cn图像分割这篇教程将重点讨论图像分割任务,使用的是改进版的 U-Net。什么是图像分割?目前你已经了解在图像分类中,神经网络的任务是给每张输入图像分配一个标签或者类别。但是,有时你想知道一个物体在一张图像中的位置、这个物体的形状、以及哪个像素属于哪个物体等等。**这种情况下你会希望分割图像,也就是给图像中的每个像素各分配一个标签。因此,图像分割的任务是训

2021-07-16 10:56:58 812

原创 tensorflow综合示例4:逻辑回归:使用Estimator

文章目录1、加载csv格式的数据集并生成Dataset1.1 pandas读取csv数据生成Dataframe1.2 将Dataframe生成Dataset2、将数据封装成Feature columnn3、构建并训练模型4、构建组合特征5、预测数据本部分使用Estimator的方式实现逻辑回归。(1)使用csv格式的泰坦尼克号数据作为数据集。import tensorflow as tfimport pandas as pdfrom IPython.display import clear_out

2021-07-16 10:56:12 352

原创 tensorflow综合示例3:对结构化数据进行分类:csv & keras & feature_column

文章目录1、数据集1.1 使用 Pandas 从csv创建一个 dataframe1.2 将 dataframe 拆分为训练、验证和测试集1.3 用 tf.data 创建输入流水线Dataset1.4 理解输入流水线2、特征列 feature_column2.1 数值列2.2 分桶列2.3 分类列2.4 嵌入列2.5 经过哈希处理的特征列2.6 组合的特征列2.7 选择要使用的列3、构建&运行模型3.1 建立一个新的特征层3.2 创建,编译和训练模型4、完整代码5、另一个简单例子本文主要内容来自:

2021-07-16 10:55:04 1501

原创 tensorflow系列之1:加载数据

本文介绍了如何加载各种数据源,以生成可以用于tensorflow使用的数据集,一般指Dataset。主要包括以下几类数据源:预定义的公共数据源内存中的数据csv文件TFRecord任意格式的数据文件稀疏数据格式文件更完整的数据加载方式请参考:https://www.tensorflow.org/tutorials/load_data/images?hl=zh-cnimport numpy as npimport pandas as pdimport tensorflow as tf

2021-07-16 10:52:16 1389

原创 sklearn处理文本和分类属性的方式

文章目录类别转换成数字类别one-hot类别转换成数字我们看一下文本属性。在此数据集中,只有一个:ocean_proximity属性:housing_cat = housing[['ocean_proximity']]sklearn.utils.shuffle(housing_cat).head() ocean_proximity 10763 <1H OCEAN

2021-07-16 10:50:48 421

原创 sklearn综合示例9:分类问题的onehot与预测阈值调整

本文介绍了:如何将多个标签做onehot,比如说总共有1000个标签,用户带了其中100个标签,那就是一个1000维的feautre,其中100维=1,其余900维=0。调整分类算法的分类阈值,比如将LR中的默认阈值从0调整到0.9,降低recall提升精度。各种算法的使用方式。1、数据预处理样本格式最终得到的样本格式如下,第一列是label,第二列是一“|”分割的一些特征,可以理解为用户观看了哪部电影,喜欢哪本书,关注了哪个微博id等。label,features1,200180,2

2021-07-16 10:50:09 3670

原创 sklearn综合示例8:SVM

1、线性SVMSVM特别适用于中小型复杂数据集的分类。SVM对特征的缩放非常敏感SVM的基本思想可以用一些图来说明。图51所示的数据集来自第4章末尾引用的鸢尾花数据集的一部分。两个类可以轻松地被一条直线(它们是线性可分离的)分开。左图显示了三种可能的线性分类器的决策边界。其中虚线所代表的模型表现非常糟糕,甚至都无法正确实现分类。其余两个模型在这个训练集上表现堪称完美,但是它们的决策边界与实例过于接近,导致在面对新实例时,表现可能不会太好。相比之下,右图中的实线代表SVM分类器的决策边界,这条线不仅分离

2021-07-16 10:49:15 231

原创 sklearn综合示例7:集成学习与随机森林

假设你创建了一个包含1000个分类器的集成,每个分类器都只有51%的概率是正确的(几乎不比随机猜测强多少)。如果你以大多数投票的类别作为预测结果,可以期待的准确率高达75%。但是,这基于的前提是所有的分类器都是完全独立的,彼此的错误毫不相关。显然这是不可能的,因为它们都是在相同的数据上训练的,很可能会犯相同的错误,所以也会有很多次大多数投给了错误的类别,导致集成的准确率有所降低。当预测器尽可能互相独立时,集成方法的效果最优。获得多种分类器的方法之一就是使用不同的算法进行训练。这会增加它们犯不同类型错误的机

2021-07-16 10:48:19 394

原创 sklearn综合示例5:多分类分类器

二元分类器在两个类中区分,而多类分类器(也称为多项分类器)可以区分两个以上的类。有一些算法(如随机森林分类器或朴素贝叶斯分类器)可以直接处理多个类。也有一些严格的二元分类器(如支持向量机分类器或线性分类器)。但是,有多种策略可以让你用几个二元分类器实现多类分类的目的。我们这里使用的是mnist数据集。OVR要创建一个系统将数字图片分为10类(从0到9),一种方法是训练10个二元分类器,每个数字一个(0检测器、1检测器、2检测器,以此类推)。然后,当你需要对一张图片进行检测分类时,获取每个分类器的决策分

2021-07-16 10:46:45 8515

原创 sklearn综合示例1:线性回归-标准解、sklearn、gd、sgd

文章目录基本示例1、标准方程2、sklearn的方式3、梯度下降4、随机梯度下降一个完整的例子1、数据准备1.1 下载数据1.2 载入并查看数据1.3 拆分数据集1.4 数据预处理2、模型训练3、效果评估3.1 MSE3.2 交叉验证4、模型调整4.1 网格搜索4.2 随机搜索基本示例本文我们主要讨论一下自定义实现线性回归以及使用sklearn如何实现线性回归。线性回归的模型比较简单,本文就不再细述:y^=θ⋅X=θ0+θ1x1+θ2x2+...+θnxn\hat{y} = \theta \cdo

2021-07-15 11:21:11 667

原创 sklearn综合示例3:逻辑回归

文章目录API模型参数penaltydualtolCfit_interceptclass_weightrandom_statesolvermax_iterverbosewarm_startn_jobs模型对象模型方法mnist数据集iris数据集关于逻辑回归的完整参数,可以参考:https://scikitlearn.com.cn/0.21.3/2/#1111-logisticAPI参考:https://zhuanlan.zhihu.com/p/39780207import numpy as np

2021-07-15 11:20:29 1096

原创 sklearn综合示例2:决策树

scikit-learn 是适用于数据处理和机器学习处理非常强大的库。提供数据降维、回归、聚类、分类等功能,是机器学习从业者的必备库之一。示例一案例:鸢尾属植物数据集(iris)分类。鸢尾属植物数据集一共有 4 个特征,target 值有 3 类,每一类都有 50 个样本。四维数据集为了在二维平面内展示方便,只选取其中两个维度。如下所示,绘制出一对特征的数据分布矩阵图,点的颜色表示分类值。矩阵图主对角线,两幅子图分表表示特征 sepallength、petallength 取值的概率分布图。绘

2021-07-15 11:20:01 188

原创 sklearn的多项式回归与学习曲线

文章目录多项式回归学习曲线我们先简单看看多项式回归,然后通过学习曲线看一下过拟合的情况。多项式回归我们使用二次方程生成一些数据,然后拟合。X = 6 * np.random.rand(100, 1) - 3y = 0.5 * X**2 + X + 2 + np.random.rand(100,1)显然,线性模型很难拟合上述数据,于是我们使用sklearn的PolynomialFeatures类来转换训练数据,将训练集中每个特征的平方(二次多项式)添加为新特征(在这种情况下,只有一个特征):f

2021-07-15 11:19:26 797

原创 sklearn中的metrics

文章目录MSE交叉验证准确率、精度、召回率、F1、AUC准确率混淆矩阵精度、召回率、F1ROC & AUC阈值衡量、ROC曲线阈值选择ROC曲线多分类的metrix问题,请见多分类问题。MSE我们先看一下回归问题常用的均方根误差MSE。from sklearn.metrics import mean_squared_errorhousing_pred = lin_reg.predict(housing_feature)lin_mse = mean_squared_error(housin

2021-07-15 11:18:38 2489 1

原创 sklearn中的正则化

文章目录L1和L2L2正则化、岭回归L1正则化、Lasso回归弹性网络提前停止正则化是处理模拟过拟合最常用的方式之一。本部分我们介绍常见的正则化方法。L1和L2Lasso回归的一个重要特点是它倾向于完全消除掉最不重要特征的权重(也就是将它们设置为零)因为所有高阶多项式的特征权重都等于零。换句话说,Lasso回归会自动执行特征选择并输出一个稀疏模型(即只有很少的特征有非零权重)。你可以通过查下图来了解为什么会这样:轴代表两个模型参数,背景轮廓代表不同的损失函数。在左上图中,轮廓线代表1损失(|θ1|+

2021-07-15 11:17:46 1761 1

原创 sklearn的基本用法:分类与回归

sklearn使用numpy ndarray或者pandas dataframe作为训练数据,调用fit()函数即可完成训练。本部分我们先介绍一下sklearn的基本用法。二分类我们先看一个二分类问题,将mnist分类成数字5和非5两类:from sklearn.datasets import fetch_openmlmnist = fetch_openml('mnist_784', version=1)X,y = mnist['data'], mnist['target']X_train,

2021-07-15 11:17:06 344

原创 sklearn预处理转化流水线

文章目录多个预处理步骤同时处理数字和分类属性多个预处理步骤正如你所见,许多数据转换的步骤需要以正确的顺序来执行。而ScikitLearn正好提供了Pipeline类来支持这样的转换。from sklearn.pipeline import Pipelinefrom sklearn.preprocessing import StandardScalernum_pipeline = Pipeline([ ('imputer', SimpleImputer(strategy='median')

2021-07-15 11:16:33 480

原创 数值分箱与one-hot

文章目录pandas方式将多个标签onehotsklearn 方式本部分仅介绍数值类特征的one-hot,关于文本的one-hot请参考上一部分。数值one-hot可以使用pandas.cut()和get_dummies()或者sklearn.OnehotEncoder。此外,skearn的preprocessing.KBinsDiscretizer类和Binarizer类也可以用于数值分箱。pandas方式基本思路是先使用cut()对数值进行分箱,分箱后使用get_dummies()得到oneh

2021-07-15 11:15:54 504 1

原创 sklearn与pandas的缺失值处理

housing数据集中的total_bedrooms有部分缺失,对于缺失值,通常我们有以下几种方式处理:放弃有缺失值的样本放弃整个特征将缺失值设置为某个默认值:0、平均值、中位数等。pandas方式通过DataFrame的dropna(), drop()和fillna()函数,可以方便的实现以上3个功能:housing.dropna(subset=['total_bedrooms'])housing.info()housing.drop('total_bedrooms', axis =

2021-07-15 11:14:48 382

原创 numpy和pandas的数据乱序

import numpy as npimport pandas as pdimport sklearnimport urllibimport osimport tarfile数据乱序我们分别介绍numpy.ndarray和pandas.dataframe的乱序。numpy.ndarray拆分前,一般会先对数据进行随机排序。numpy.random中有shuffle()和permutation()2个函数均可用于对数据进行乱序。主要区别在于:shuffle()直接对原数据进行重排,无

2021-07-14 17:09:51 584

原创 使用sklearn加载公共数据集、内存数据与CSV文件

本文介绍了如何加载各种数据源,以生成可以用于sklearn使用的数据集。主要包括以下几类数据源:预定义的公共数据源内存中的数据csv文件任意格式的数据文件稀疏数据格式文件sklearn使用的数据集一般为numpy ndarray,或者pandas dataframe。import numpy as npimport pandas as pdimport sklearnimport osimport urllibimport tarfile1、预定义的公共数据源更多数据集请见

2021-07-14 16:57:29 3705

原创 模型的评估与选择

文章目录1、样本的划分方式1.1 留出法(hold-out)1.2 交叉验证法(cross validation)1.3 自助法(bootstrapping)2、泛化能力的度量2.1 回归问题的的性能度量2.2 分类问题的性能度量2.2.1 错误率与精度2.2.2 准确率与召回率2.2.3 ROC曲线【本文部分内容参考周志华《机器学习》韩家烨《数据挖掘:概念与技术》】我们在根据同一个数据集通过不同的的算法,或者是同一个算法的不同参数,会得到不同的模型。那我们怎么决定最终选择使用哪个模型呢?我们知道,我

2021-07-14 15:59:45 115

原创 最大似然估计与损失函数

关于最大似然估计法的基本原理请参考《概率论与数理统计》P152或参考《深度学习》chpt 5.5文章目录1、最大似然估计的一般理论2、最大似然估计的性质3、最大似然估计推导逻辑回归的损失函数4、线性回归的损失函数5、小结1、最大似然估计的一般理论我们希望可以有些准则可以让我们从不同的模型中得到特定函数作为好的估计。最常用的准则是最大似然估计。我们考虑一组含有m个样本的数据集X={x(1),...,x(m)}X=\{x^{(1)},...,x^{(m)}\}X={x(1),...,x(m)},独立的

2021-07-14 15:30:27 6408 1

原创 特征分解与奇异值分解

特征分解特征分解是针对方阵的,奇异值分解是应用于矩阵的。方阵AAA的特征向量是指与AAA相乘后相当于对原向量进行缩放的非0向量vvv:Av=λvAv = \lambda vAv=λv标量λ\lambdaλ称为这个特征向量对应的特征值。每个实对称矩阵都可以分解成实特征向量和实特征值:A=QΛQTA = Q\Lambda Q^TA=QΛQT其中QQQ是AAA的特征向量组成的正交矩阵,Λ\LambdaΛ是对角矩阵。所有特征值都是正数的矩阵被称为正定,所有特征值都是非负数的矩阵称为半正定。同

2021-07-14 15:18:54 348

原创 对角矩阵、对称矩阵、单位向量、正交矩阵

对角矩阵对角矩阵只在对角线上含有非0元素,其它位置都为0。我门用diag(v)diag(v)diag(v)表示一个对角元素由向量vvv组成的对角方阵。对角矩阵的乘法计算效率很高。我们已经见过一种特殊的对角矩阵:单位矩阵。不是所有的对角矩阵都是方阵,长方形的矩阵也有可能是对角矩阵。对称矩阵对称矩阵是转置矩阵和自己相等的矩阵:A=ATA = A^TA=AT当某些不依赖参数顺序的双参数函数生成元素时,对称矩阵经常会出现。例如,如果AAA是一个表示距离的矩阵,Ai,jA_{i,j}Ai,j​表示点i

2021-07-14 15:17:11 8803

原创 向量的范数

有时我们需要衡量一个向量的大小,这机器学习中,我们经常使用范数来衡量向量大小。LpL^pLp范数定义为:∥x∥p=(∑i∣xi∣p)1p\|x\|_p=(\sum_i|x_i|^p)^{\frac{1}{p}}∥x∥p​=(i∑​∣xi​∣p)p1​其中p∈R,p⩾1p \in R,p \geqslant 1p∈R,p⩾1我们讨论几个特殊的范数。L2L^2L2范数又被称为欧几里得范数,表示从原点出发到向量xxx确定的点的欧几里得距离。L2L^2L2范数在机器学习中出现的非常的多,经常简化表示为∥

2021-07-14 15:13:07 558

原创 单位矩阵和逆矩阵

单位矩阵任何向量和单位矩阵相乘,都不会改变,即:∀x∈Rn,Inx=x\forall x \in R^n, I_n x = x∀x∈Rn,In​x=x单位矩阵的结构很简单,就是对角线为1,其它位置为0 的方阵:[100010001]\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1\end{bmatrix}⎣⎡​100​010​001​⎦⎤​矩阵AAA的逆矩阵定义为:A

2021-07-14 15:09:26 2359

原创 矩阵与向量的乘法

矩阵乘积矩阵乘法是矩阵运算中最重要的操作之一。两个矩阵 AAA 和 BBB 的 矩阵乘积(matrix product)是第三个矩阵 CCC。为了使乘法定义良好,矩阵 AAA 的列数必须和矩阵 BBB 的行数相等。如果矩阵 AAA 的形状是 m×nm × nm×n,矩阵 BBB 的形状是 n×pn × pn×p,那么矩阵CCC 的形状是 m×pm× pm×p。我们可以通过将两个或多个矩阵并列放置以书写矩阵乘法。Ci,j=∑kAi,kBk,jC_{i,j} = \sum_k{A_{i,k}B_{k,j}

2021-07-14 14:59:14 3064

原创 机器学习中的向量

列向量先说一个很重要的结论:机器学习中的向量是列向量。另一个结论:用分号分隔不同的行,用逗号分隔同一行中的不同元素。在线性代数中,列向量(Column vector)是一m×1m× 1m×1的矩阵,即矩阵由一个包含mmm个元素的列组成。书写方式1:[x1x2⋮xm]\begin{bmatrix} x_1 \\ x_2 \\ \vdots\\ x_m\end{bmatrix}⎣⎢⎢⎢⎡​x1​x2​⋮xm​​⎦⎥⎥⎥⎤​为简化书写、方便排版起见,有时会以加上转置符号T的行向

2021-07-14 14:52:39 2207

原创 机器学习中的常用概率分布

1、伯努利分布伯努利分布是单个二值型随机变量的分布。它由单个参数ϕ∈[0,1]\phi \in [0, 1]ϕ∈[0,1]控制,ϕ\phiϕ给出了等于1的概率。它具有如下的一些性质:$$\begin{aligned}P(x =1) = \phi \P(x =0) = 1-\phi \P(x = x) = \phi^x (1-\phi)^{1-x} \E_{x}[x] = \phi \Var_{x}(x) = \phi(1-\phi)\end{aligned}$$2、多项式分布多

2021-07-13 17:11:05 712 3

原创 香农熵、交叉熵和相对熵

1、自信息、香农熵信息论的基本思想是一个不太可能得事件居然发生了,要比一个非常可能发生的事件发生,能提供更多的信息。定义一个事件发生的自信息为:I(x)=−log⁡P(x)I(x) = -\log P(x)I(x)=−logP(x)P(x)P(x)P(x)为xxx事件发生的概率。如果log以自然对数e为底,则单位为奈特;如果以2为底,则单位为比特。自信息只能处理单个的输出,我们可以使用香农熵来对整个概率分布中的不确定性总量进行量化:H(x)=Ex−p[I(x)]=−Ex−p[log⁡P(x)

2021-07-13 16:43:40 1106

原创 期望值、方差、标准差、协方差

1、期望值函数 f(x)f(x)f(x)关于某分布P(x)P(x)P(x)的期望(expectation)或者期望值(expected value)是指,当xxx由PPP产生时,fff作用于xxx的平均值。其实可以简单理解为f(x)f(x)f(x)在某种分布P(x)P(x)P(x)下的加权平均值。对于离散型随机变量,可以通过求和得到期望值:Ex−P[f(x)]=∑xP(x)f(x)E_{x-P}[f(x)] = \sum_x P(x)f(x)Ex−P​[f(x)]=x∑​P(x)f(x)举个简单

2021-07-13 16:21:54 2916

原创 边缘概率与条件概率

1、边缘概率当P(x,y)P(x, y)P(x,y)的每个值被写在由每行表示不同的xxx值,每列表示不同的yyy值形成的网格中时,对网格中的每行求和是很自然的事情,然后将求和的结果P(x)P(x)P(x)写在每行右边的纸的边缘处。对于连续型变量,我们需要用积分替代求和:p(x)=∫p(x,y)dy.p(x) = \int p(x, y)dy.p(x)=∫p(x,y)dy.2、条件概率在很多情况下,我们感兴趣的是某个事件,在给定其他事件发生时出现的概率。这种概率叫做条件概率。我们将给定x=x\

2021-07-13 16:19:20 3725

原创 概率分布:PMF与PDF

文章目录1、PMF:离散型变量和概率分布律函数2、PDF:连续型变量和概率密度函数3、CDF随机变量是可以随机的取不同值的变量。就其本身而言,一个随机变量只是对可能的状态的描述;它必须伴随着一个概率分布来指定每个状态的可能性。1、PMF:离散型变量和概率分布律函数离散型变量的概率分布可以用概率质量函数(probability mass function, PMF)来描述。我们通常用大写字母 PPP 来表示概率质量函数。通常每一个随机变量都会有一个不同的概率质量函数,并且读者必须根据随机变量来推断所使用

2021-07-13 16:15:10 2825

Heritrix developer_manual

Heritrix developer_manual,Heritrix的开发文档

2014-06-01

Heritrix user_manual.pdf

Heritrix user_manual 1.14.4,有时候官网下不了的,先保存下来吧。

2014-06-01

Jediael_v0.1

Jediael_v0.1, basic search engine

2014-05-26

Jediael_v0.01

搜索引擎Jediael的0.01版本 it will be go on

2014-05-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除