自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 神经网络反向传播BP算法代码实现

0. 前言

2020-11-30 21:02:33 1238 1

原创 神经网络反向传播BP算法举例说明

0. 前言上篇博客对BP算法的大致步骤进行了总结,本篇博客将通过一个具体的例子来模拟一下这个算法的实现过程 !1. BP算法之例网络结构

2020-11-29 17:51:53 1710 1

原创 神经网络反向传播BP算法

0. 前言前面提到了神经网络结构中比较主要的3部分:拓扑结构、激活(激励)函数、求解权重 www 的优化算法,而BP就是与第三部分相关的 !1. BP算法说明网络的训练过程:在输入数据后,先是一个正向传播(FP)的过程,之后可以求得损失,再反向传播(BP)回传误差,根据误差调整每层的权重 www ,再重复这个过程(迭代) 。以下图网络结构为例,对反向传播的过程进行说明:...

2020-11-27 11:41:08 298 1

原创 神经网络结构与过拟合问题

1. 网络结构神经网络主要由以下3部分组成:拓扑结构(topology)描述神经元的层次与连接神经元的结构;激活函数如常用的激活函数:sigmoid函数、tanh函数…优化算法求解最优权重的优化算法...

2020-11-26 19:12:18 735

原创 感知器模型

0. 前言感知器是最简单的神经元结构,是研究单个训练样本的二分类器。1. 单个感知器对于一个感知器,其输入数据是二进制(0,1),输出也是二进制数。感知器可以看做是根据权重来做出决策的单元,对于给定的w和b,感知器能够对数据进行分类预测。1.1 单层结构1.2 表达式output={0,w⋅x+b≤01,w⋅x+b>0output=\left\{\begin{aligned} 0, & \text w \cdot x+b≤0 \\1, & \text w \

2020-11-24 21:47:47 3442

原创 Machine learning approximation algorithmsfor high-dimensional fully nonlinear PDE

1. 总体框架Section 2推导(2.1-2.6)并计算(2.7)本文提出算法的一个特例。核心思想在2.7的简化框架Section 3提出的算法在一般情况下推导(3.1-3.5)和计算(3.7)。Section 4该算法在几个高维偏微分方程情况下的数值结果4.1:采用2.7中简化框架中提出的算法近似计算一个20维Allen-Cahn方程的解2. Section 2 (deep 2BSDE method 的主要思想)此部分主要说明思想,推导比较粗略;deep 2BSDE更精确、一

2020-11-23 10:55:26 398 1

原创 多层神经网络

0. 前言前面对单层神经网络的过程进行了实现,下面想对多层的神经网络进行说明。

2020-11-20 20:53:50 2813

原创 单层神经网络实现

0. 前言前面对神经网络的优化算法—梯度下降进行了说明,下面希望python实现神经网络的学习过程。1. 问题描述假设某种物体有长、宽、高3个属性,根据这三个属性可以判定属于0这类还是1这类。长宽高类别0010111110110110把上面的场景用神经网络结构表示就是:2. 实现步骤初始化权重(weight, w)计算结果根据误差反向调整权值迭代3. 代码实现...

2020-11-18 21:09:20 395

原创 神经网络之梯度下降法python代码实现02

0. 前言前面通过梯度下降寻找二次函数的最小值,下面将用代码实现用梯度下降法完成一个拟合问题。1. 梯度下降代码实现先随机构造一些散点,再用一条直线来拟合这些散点import randomimport matplotlib.pyplot as plt# 构造数据X = [i/100 for i in range(100)] # 100个数据(0-0.99)Y = [3 * x + 4 + random.random() for x in X]w = random.random()

2020-11-18 14:59:53 597

原创 神经网络之梯度下降法python代码实现01

0. 前言上篇博客对神经网络中的梯度下降法的原理进行了说明,下面希望实现以下该文中的例子。1.

2020-11-17 18:57:33 478

原创 神经网络之梯度下降法原理

0. 前言梯度下降法是神经网络的一个优化算法,在回调权值的过程中有重要的作用,下面先回顾一下神经网络指明一下梯度下降在何时用上。1. 回顾神经网络先来回归一下神经网络的学习过程,如下图:上图是一个模型,其中w是参数,也是我们说的权重,x是输入的数据。w和x运算之后得到的h是输出结果。假设期望结果(实际值)是y,损失是loss,则:hhh = wxwxwxloss=(h−y)2=(wx−y)2loss = (h-y)^2 = (wx-y)^2loss=(h−y)2=(wx−y)2求解目标就是使

2020-11-16 11:38:36 2186

原创 简述神经网络学习过程

0. 前言本篇博客打算通俗地说明一下神经网络的学习过程。1. 基本原理还是通过举例来进行说明。假如有一种花,其花瓣长度与叶子长度成一定的比例。花瓣长度叶子长度927237229632661245735942159277819603190可以把上面的数据在坐标系中画出来:现在,我们知道一朵花的花瓣长度是20,想知道它的叶子长度是多少?从上边的散点图中,可以看到实际上就是需要找到一条直线来拟合这些

2020-11-15 17:33:19 2018

原创 多分类单层神经网络

0. 前言前面模拟了在单层神经网络中二分类的过程,现在想清楚在单层神经网络中多分类是怎么样的。1. softmax函数的神经网络softmax函数是神经网络进行多分类时,默认放在输出层中处理数据的函数。假设现在神经网络处理一个三分类的问题,那么会有如下结构:...

2020-11-12 21:22:53 376

原创 二分类单层神经网络

0. 前言前面说明了线性回归在神经网络结构中的实现。线性回归实际就是单层的回归神经网络。那么如何把回归推广到分类模型呢?在逻辑回归

2020-11-12 17:10:49 799

原创 单层神经网络

1. 回归单层神经网络:线性回归

2020-11-12 10:40:48 1828 1

原创 神经网络概述

1. 概述人工神经网络(Artificial Neural Network),即ANN,通常称为神经网络。比起其他的机器学习算法,它是模仿人类如何学习。人类的学习过程:通过神经元对信息进行传入、传出的过程。人脑学习过程与机器学习过程的类比:在深度学习中,类比于人脑的神经元,用圆圈表示神经元,线表示数据流动的方向。...

2020-11-11 21:18:40 194

原创 SVD

SVD使用奇异值作为信息量的衡量指标SVD使用奇异值分解来找空间V,降维时,它会通过一些数学方法将特征矩阵X分解成三个矩阵:U∑VTU\sum V^{T}U∑VT;UUU和VTV^{T}VT是左奇异矩阵和右奇异矩阵,也是辅助矩阵,∑\sum∑是对角矩阵(对角线有值,其余为0)但对角线上的值是奇异值。...

2020-11-11 15:21:28 110

原创 PCA中n_components的设置

SVD使用奇异值作为信息量的衡量指标SVD使用奇异值分解来找空间V,降维时,它会通过一些数学方法将特征矩阵X分解成三个矩阵:U∑VTU\sum V^{T}U∑VT;UUU和VTV^{T}VT是左奇异矩阵和右奇异矩阵,也是辅助矩阵,∑\sum∑是对角矩阵(对角线有值,其余为0)但对角线上的值是奇异值。...

2020-11-11 10:39:02 19474 2

原创 PCA实现降维

0. 前言上篇博客通过举例说明了降维如何实现,下面将学习PCA这种降维算法。1. PCA介绍

2020-11-10 17:54:32 7790

原创 降维算法实现原理

0. 前言上篇博客对于维度以及降维相关概念进行了说明,下面将学习什么是PCA,什么是SVD?1. PCA & SVD前面也提到了,降维就是要减少特征的数目,也就是说会删除一部分数据,而在训练模型的时候,数据减少可能会影响模型的最终表现。除此之外,高维数据中,有一些特征是无效的,还有些特征可能是线性相关的。如果能有一种算法可以衡量特征上的信息,使得在降维的过程中,在减少特征数量的同时又能保留更多的有效的信息(想兼得鱼和熊掌)。也就是说,将那些重复的信息(线性相关的)合并一下,把无效的特征删除掉,

2020-11-10 15:12:24 2120

原创 关于降维相关概念

1. 概述1. 1 维度

2020-11-10 11:44:32 2344

原创 调用Apriori算法库实现关联分析

0. 前言对于关联分析,同样是有算法库可以直接调用的,下面将通过Apriori算法库来对数据进行关联分析。1. 安装函数库apriori这个库是在apyori模块中的,如果之前没有装,就需要通过pip命令装一下!pip install apyori装好了,就导入这个库看会不会报错:from apyori import apriori2. Apriori算法库实现关联分析from apyori import apriori# 1. 制作数据data = [['方便面', '火腿肠']

2020-11-09 21:14:52 6640

原创 Apriori算法寻找频繁集

0. 前言上篇博客对Apriori算法的原理进行了总结,下面希望来实现以下这个算法。1. Apriori算法步骤

2020-11-09 16:26:16 5953

原创 Apriori算法原理

关联分析从大规模数据集中寻找

2020-11-09 13:18:24 2322

原创 线性回归实现

0. 前言前面对线性回归的原理进行了分析,现在希望用代码来实现它。1. 调用sklearn库实现from sklearn.linear_model import LinearRegressionX = [[1], [2], [3], [4]]y = [[6], [5], [7], [10]]regression = LinearRegression()model = regression.fit(X, y)print("系数:", model.coef_)print("截距:", mod

2020-11-08 18:11:04 142

原创 线性回归原理

什么是线性回归?假如我们想要开一家奶茶店,开店当然是为了赚钱了!所以在开店之前先来预测一下能否盈利。就算没做过生意我们也知道 利润 = 收入 - 成本。成本很好预测,就是房租、设备等费用,但收入如何预测呢?此时,有下面的这些数据人流量(千人)日均收入(千元)19332545...

2020-11-08 15:18:54 217

原创 Linux超级基础命令

0. 前言本篇博客想对Linux一些基础的命令做个总结,以便需要时可以回顾。1. 基本介绍

2020-11-08 10:35:57 224

原创 调用sklearn库实现随机森林及AdaBoost

1. 随机森林1.1 原理介绍随机森林(Random Forest)是一种遵循bagging技术的集成机器学习算法。Bagging算法 (英语:Bootstrap aggregating,引导聚集算法),又称装袋算法,是机器学习领域的一种团体学习算法。最初由Leo Breiman于1994年提出。Bagging算法可与其他分类、回归算法结合,提高其准确率、稳定性的同时,通过降低结果的方差,避免过拟合的发生。 给定一个大小为n的训练集 D,Bagging算法从中均匀、有放回地(即使用自助抽样法)选出m

2020-11-07 21:29:36 1519

原创 简单集成

0. 前言上篇博客对集成学习的原理做了简单的总结,这篇博客想结合代码来更进一步理解。1. 简单集成1.1 投票法(Vote)投票法就是使用多个模型来预测,每个模型都会有其对应的预测结果,最终的预测结果以绝大多数模型预测结果为准。举个通俗的例子就是1.2 均值法1.3 加权平均...

2020-11-07 15:33:04 149 1

原创 集成学习原理

什么是集成学习(Ensemble learning)?最常听到的关于集成学习的说法就是:“三个臭皮匠,顶个诸葛亮”。整个模型内部是由多个弱监督模型组成,每个弱监督模型只在某个方向表现较好,把这些监督算法合而为一,就可以得到稳定且各方面都表现较好的模型。而集成方法(Ensemble method)就是将几种分类器组合成一个预测模型的元算法。下面总结一下集成学习的几个方法随机森林(bagging类型)随机森林(Random)...

2020-11-06 16:55:09 493

原创 VMware14虚拟机安装Ubuntu

Ubuntu镜像文件官网下载可以选择去官网下载:官网链接网盘下载也可以选择网盘下载,此处我将自己的镜像文件放在网盘上了。VMware14虚拟机安装Ubuntu

2020-11-06 13:13:41 474

原创 调用sklearn库实现SVM

前言算法实现SVM还是比较难的,先通过调用算法库来感受一下SVM预测的精确度以及预测过程。调库实现SVM数据集此处使用了sklearn提供的乳腺癌数据集load-barest-cancer(),这是一个简单经典的用于二分类任务的数据集。该数据集有539个样本,每个样本有30个特征。cancer = datasets.load_breast_cancer()X = cancer.data # 样本y = cancer.target # 类别划分数据集将数据集进行划分,分成训练集和

2020-11-05 20:56:20 2936

原创 可视化线性SVM

前言前面几篇博客对SVM的原理以及决策边界和损失函数是怎么来的做了详细的说明,下面希望用代码来可视化这个过程。标题数据集这里通过make_blobs这个聚类数据生成器来生成数据。关于make_blobs参数:n_samples:生成的样本的总数n_features:每个样本的特征数centers:类别数(簇个数)cluster_std:每个簇的方差# 50个样本,每个样本特征数为2,2个类别X, y = make_blobs(n_samples=50, n_features=2,

2020-11-04 22:07:44 273

原创 SVM决策边界及损失函数

回顾决策边界回顾一下前面博客中提到的决策边界,在二维的平面上,决策边界即超平面是一条直线。现在假设有N个样本点,每个样本点表示为(xi_ii​, yiy_iyi​),xi_ii​是特征向量。为了便于理解,所以假设每个样本有2个特征,即对于任意一个样本i有: (x1i_{1i}1i​, x2i_{2i}2i​, yi{y_i}yi​),就表示他们的两个特征值和对应的标签。接着在二维平面上,将它们表示出来(相当于用x1_{1}1​来表示横坐标,x2_{2}2​表示纵坐标,y{y}y表示类别,图中体现为蓝色

2020-11-04 17:14:59 3725

原创 SVM原理概述二

前言通过上篇博客举的例子,可以明白支持向量机的分类方法就是在数据集上,找到一个超平面作为决策边界,并且模型在数据上的分类误差尽可能小。这节将对SVM作进一步说明。相关概念

2020-11-03 13:10:52 385

原创 支持向量机原理概述

什么是SVM?支持向量机(Support Vector Machines, SVM),它是一种二分类模型,属于有监督学习算法。它的决策边界是对学习样本求解最大边距超平面(maximum-margin hyperplane)。好吧,上面的解释并不是特别清楚,下面举例来说明一下SVM到底是什么。便于理解,先从二维数据集开始。假如在平面上有圆圈和三角形,希望用一条直线来将它们分隔开。...

2020-11-02 20:05:26 650

原创 VMware14虚拟机安装RedHad

前言前面装好了VMware,这一节在虚拟机下来装Linux系统,这一节选择装Redhat,镜像文件可以自行去网上下载。VMware 虚拟机安装RedHad首先需要创建新的虚拟机,即点击“创建新的虚拟机”,接着选择自定义类型的配置虚拟机硬件兼容性的选择,默认的选择就好,因为低版本可能不兼容新硬件新系统此处选择稍后安装操作系统此处选择安装Linux操作系统以及合适的版本给虚拟机命名并且选择合适的位置放置处理器的配置,此处是根据默认的选择给虚拟机分配内存

2020-11-02 17:22:33 442

原创 随机梯度上升

前言前面通过梯度上升法实现求解最佳回归系数,虽然能够达到不错的效果,但是实现过程需要进行大量的计算(dataMatrix*weights进行了300次相乘,实现过程)。所以对该算法进行改进。

2020-11-01 18:13:25 1026 1

空空如也

空空如也

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

TA关注的人

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