
深度学习基础
多欢喜
漫漫长路,平凡一生
展开
-
FutureWarning: Method .as_matrix will be removed in a future version. Use .values instead.
大家写Python代码时不知道有没有遇到过这样的情况结果可以正常显示,但是总有红框框里面有warning,以前没有太在意过,但是今天觉得这个红框框好影响美观,所以尝试修改一下,我们先来看一下它报的错误是什么:Method .as_matrix will be removed in a future version. Use .values instead.看来是版本问题,找到问题代码:更换一下:果然好了哦...原创 2021-03-07 21:29:14 · 476 阅读 · 0 评论 -
深度学习进阶课程20---Deep Brief Network 和 Autoencoder
这篇文章是深度学习进阶课程最后一篇了,下一篇就是新的板块啦Deep Brief Network:多个Restricted Boltzmann Machines组成的网络基本特点:每层的神经元不与本层的神经元交流,最后一层通常是classification layer(分类层)除了第一层,最后一层,每层都有两个作用:对于前一层作为隐藏层,对于后一层作为输入层另一个概念:Deep Autoencoder由两个对称的Deep Brief Network组成:每层由Restricted Boltzma原创 2020-12-07 16:36:15 · 334 阅读 · 0 评论 -
深度学习进阶课程19---非监督学习神经网络Restricted Boltzmann Machine
这篇文章写一种新的networkRestricted Boltzmann Machine:(1)由Geoff Hinton发明(2)降低维度,分类,回归,特征学习(3)非监督学习(unsupervised learning)原创 2020-12-03 22:14:44 · 730 阅读 · 0 评论 -
深度学习进阶课程18---Convolution Nerual Network (CNN)算法实现
这篇文章写一下CNN的具体实现Feature Maps:20个feature maps:基准:3层隐藏层:100个神经元训练60个epochs学习率=0.1mini-batch size:10原创 2020-12-02 16:19:15 · 244 阅读 · 0 评论 -
深度学习基础11---Hierarchical clustering层次聚类
今天这篇文章写一下层次聚类,这也是除了k-means之外较为常用的另一种聚类方法。假设有N个待聚类的样本,对于层次聚类来说,步骤:1.(初始化)把每个样本归为一类,计算每两个类之间的距离,也就是样本与样本之间的相似度2.寻找各个类之间最近的两个类,把他们归为一类(这样类的总数就少了一个);3.重新计算新生成的这个类与各个旧类的相似度;4.重复2和3直到所有样本点归为一类,结束比如在以上图中,开始分为5类,计算两两之间距离,发现1和2的距离最近,所以1和2生成新的类—6,现在的类别是:3,4,5原创 2020-11-09 21:33:12 · 987 阅读 · 0 评论 -
深度学习基础10---非监督学习算法k-means应用
这篇文章写一下如何用Python算法实现k-means应用还是继续上一篇的例子:import numpy as npdef kmeans(X,k,maxIt):#X,数据集;k,聚类中心点个数;maxIt:最大迭代次数 numPoints,numDim=X.shape#行,列 dataSet=np.zeros((numPoints,numDim+1))#给原来数据多加一列 dataSet[:,:-1]=X #除了最后一列都与X相等 c原创 2020-11-08 16:17:56 · 278 阅读 · 0 评论 -
深度学习基础10---非监督学习算法k-means
前面几篇文章写了监督学习的一些算法,包括支持向量机,神经网络算法,线性回归,非线性回归等,这篇文章和后面几篇写一下非监督学习的一些算法,首先来写一下聚类(Clustering)算法。首先来看一下非监督学习聚类中一个非常经典的算法:K-means算法,首先来回归一下基本概念1.归类:聚类(clustering)属于非监督学习(unsupervised learning)无类别标记(class label)比如有以下数据:以上图表示一些肿瘤数据,我们想根据数据之间的关系自动划分为若干类,我们不知道原创 2020-11-08 14:15:55 · 1391 阅读 · 0 评论 -
深度学习基础09---回归中的相关度和决定系数应用
import numpy as npfrom astropy.units import Ybarnimport mathdef computeCorrelation(X,Y): xBar=np.mean(X) yBar=np.mean(Y) SSR=0 varX=0 varY=0 for i in range(0,len(X)): diffXXBar=X[i]-xBar diffYYBar=Y[i]-yBar原创 2020-11-07 15:45:30 · 283 阅读 · 0 评论 -
深度学习基础09---回归中的相关度和决定系数
前面几篇文章写了线性回归和非线性回归的一些基本知识和应用,这篇文章写一下如何衡量x与y的相关性,首先来看一些基本概念:1.皮尔逊相关系数(Pearson Correlation Coefficient)1.1 衡量两个值线性相关强度的量1.2 取值范围[-1,1]:正向相关:>0 ;负向相关:<0 ;无相关性:=01.3 定义式:其中Cov(X,Y)为X与Y的协方差,Var[X]为X的方差,Var[Y]为Y的方差,具体计算如下,一般用r来表示:2.计算方法举例假设有以下数据,原创 2020-11-07 14:33:19 · 2225 阅读 · 0 评论 -
深度学习基础08---非线性回归应用
这篇文章写一下如何在Python中实现非线性回归#定义数据def genData(numPoints,bias,variance): x=np.zeros(shape=(numPoints,2)) y=np.zeros(shape=(numPoints)) for i in range(0,numPoints): x[i][0]=1#每一行的第一列第一个数字等于1 x[i][1]=i#每一行第二个数字是i y[i]=(i+bias)原创 2020-11-06 17:02:35 · 381 阅读 · 0 评论 -
深度学习基础07---非线性回归分析逻辑回归Logistic Regression
首先来看一些基本概念1.概率:1.1 定义:概率(P)probability:对一件事情发生的可能性的衡量1.2 范围:0<=P<=11.3 计算方法:1.3.1 根据个人置信1.3.2 根据历史数据1.3.3 根据模拟数据1.4 条件概率:2. Logistic Regression(逻辑回归)2.1 例子如上图所示,假设现在有一些肿瘤数据,单一变量x表示肿瘤大小,另一组变量表示肿瘤是恶性还是良性的,恶性为1,良性为0,收集八个病人肿瘤数据,上图表示上面四个为恶性,下原创 2020-11-06 11:20:19 · 1026 阅读 · 0 评论 -
深度学习基础06---多元回归分析(下)
这篇文章写一下如何用Python实现多元回归分析还是继续上一个例子:数据如下:把这些数据粘贴到csv文件中进行处理原创 2020-11-05 11:37:09 · 585 阅读 · 0 评论 -
genfromtxt读取文件时,第一个数据返回nan
今天第一次使用genfromtxt读取csv文件,输出时第一个数据竟然返回nan了源代码:dataPath=r'C:\Users\XXX\Delivery.csv'deliveryData=genfromtxt(dataPath,encoding='utf-8',delimiter=',')print("data:",deliveryData)输出:修改:将encoding='utf-8’改为encoding=‘utf-8-sig’dataPath=r'C:\Users\XXX\Del原创 2020-11-05 10:56:31 · 786 阅读 · 0 评论 -
‘gbk‘ codec can‘t decode byte 0xbf in position 2: illegal multibyte sequence
今天在用genfromtxt()读取csv文件时出现了以下错误信息:源代码:dataPath=r'C:\Users\XXX\Desktop\Delivery.csv'deliveryData=genfromtxt(dataPath,delimiter=',')考虑文件编码问题,第一次修改:dataPath=r'C:\Users\XXX\Desktop\Delivery.csv'deliveryData=genfromtxt(dataPath,delimiter=',',encoding='g原创 2020-11-05 10:32:06 · 600 阅读 · 1 评论 -
深度学习基础06---多元回归分析(上)
1.与简单线性回归区别(simple linear regression)多元回归具有多个变量 x,简单回归只有一个自变量2.多元回归模型其中:β0,β1,β2…βp是参数,e为误差3.多元回归方程4.估计多元回归方程一个样本被用来计算β0,β1,β2...βpβ_0,β_1,β_2...β_pβ0,β1,β2...βp的点估计b0,b1,b2...bpb_0,b_1,b_2...b_pb0,b1,b2...bp5.估计流程(与简单线性回归类似)如图所示,跟简单线性回原创 2020-11-05 09:40:59 · 1731 阅读 · 0 评论 -
深度学习基础05---简单线性回归(下)
上一篇文章写了简单线性回归的一些基本信息,这一篇来写一下怎样求具体参数如上图所示,我们来简单求一下相关参数分子=(1-2)(14-20)+(3-2)(24-20)+(2-2)(18-20)+(1-2)(17-20)+(3-2)(27-20)=20分母=(1-2)^2 + (3-2)^2+(...原创 2020-11-04 10:49:41 · 139 阅读 · 0 评论 -
深度学习基础05---简单线性回归(上)
1.前提介绍:为什么需要统计量?统计量:描述数据特征1.1 集中趋势衡量(1)均值(平均数,平均值)(mean):比如有一组数:{6,2,9,1,2}这一组数的平均数:(6+2+9+1+2)/5=20/5=4(2) 中位数:将数据中的各个数值按照大小顺序排列,居于中间位置的变量a.给数据排序:1,2,2,6,9b.找出位置处于中间的变量:2当n为奇数的时候:直接取位置处于中间的变量当n为偶数的时候:取中间两个量的平均值(3)众数:数据中出现次数最多的数1.2 离散程度衡量(1)原创 2020-11-04 09:16:23 · 557 阅读 · 0 评论 -
深度学习基础04---神经网络做手写数字识别
先来看一个简单的例子:简单非线性关系数据集测试from NeuralNetwork import NeuralNetworkimport numpy as npnn=NeuralNetwork([2,2,1],'tanh')X=np.array([[0,0],[0,1],[1,0],[1,1]])y=np.array([0,1,1,0])nn.fit(X,y)for i in [[0,0],[0,1],[1,0],[1,1]]: print(i,nn.predict(i))再来原创 2020-11-02 16:05:32 · 918 阅读 · 0 评论 -
深度学习基础04---实现一个简单的神经网络NN算法
1.关于非线性转化方程(non-linear transformation function)sigmoid函数(S 曲线)用来作为 activation function:形状大致为S型,y的取值在【0,1】之间,当x趋近于无穷小时,y趋近于0;当x无穷大时,y趋近于1;当x=0时,y=0.5;y值在0-1之间有一个渐变过程,这是神经网络中一个非常有用的性质。Sigmoid函数由下列公式定义:其对x的导数可以用自身表示:优点:平滑、易于求导。缺点:激活函数计算量大,反向传播求误差梯度时,原创 2020-11-02 14:12:18 · 478 阅读 · 0 评论 -
深度学习基础04---神经网络NN算法
1.背景:(1)以人脑中的神经网络为启发,历史上出现过很多不同版本(2)最著名的算法是1980年的backpropagation2.多层向前神经网络(Multilayer Feed-Forward Neural Network)(1)Backpropogation被使用在多层向前神经网络上(2)多层向前神经网络由以下部分组成:输入层(input layer),隐藏层(hidden layer),输出层(output layer)输出和输出层均只有一层,但是隐藏层可以有N层(3)每层由单元原创 2020-10-23 21:26:24 · 1683 阅读 · 0 评论 -
深度学习基础03---支持向量机SVM人脸识别实例
这篇文章介绍一下支持向量机SVM针对线性不可分情况的应用原创 2020-10-22 19:40:45 · 605 阅读 · 0 评论 -
深度学习基础03---支持向量机SVM(下)
前面两篇文章介绍了支持了向量机针对线性可分的情况,这节课来介绍一下支持向量机支持线性不可分的情况SVM有以下几个特性:(1)训练好的模型的算法复杂度是由支持向量的个数决定的,而不是由数据的纬度决定的,所以SVM不太容易产生overfitting(2)SVM训练出来的模型完全依赖于支持向量(support vectors),即使训练集里面所有非支持向量的点都被去除,重复训练过程,结果仍然会得到完全一样的模型(3)一个SVM如果训练得出的支持向量个数比较少,SVM训练出的模型比较容易泛化接下来讨论一下原创 2020-10-22 14:39:08 · 242 阅读 · 0 评论 -
深度学习基础03---支持向量机SVM(上)应用篇
上一篇博客简单介绍了支持向量机SVM基本算法,这篇文章写一下它的简单应用我们来用python求解一下超平面方程from sklearn import svmx=[[2,0],[1,1],[2,3]]#图中三个点y=[0,0,1]#分类标记,(2,0)(1,1)为一类,标记为0,(2,3)标记为1clf= svm.SVC(kernel='linear')#分类器,SVC即平时我们使用的SVM,kernel为核函数,这里用的是线性核函数clf.fit(x,y)#x为特征矩阵,y为对应的class原创 2020-10-19 21:24:54 · 256 阅读 · 0 评论 -
深度学习基础03---支持向量机SVM(上)
支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)1.背景1.1 最早是由Vladimir N. Vapnik 和 Alexey Ya. Chervonenkis 在1963年提出1.2 目前的版本(soft margin)是由原创 2020-10-19 20:23:26 · 829 阅读 · 0 评论 -
深度学习基础02:最邻近规则分类----KNN算法综述
很抱歉这一篇文章与上一篇之间隔了太长时间,这期间发生了太多事…好多事不想提,还是好好学深度学习,好好写博客邻近算法,或者说K最近邻(KNN,K-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是K个最近的邻居的意思,意思是每个样本都可以用它最接近的K个邻近值来代表。近邻算法就是将数据集合中每一个记录进行分类的方法。它是Cover和Hart在1968年提出的,输入基于实例的学习(instance-based learning),懒惰学习(lazy learni原创 2020-09-01 16:49:16 · 328 阅读 · 0 评论 -
深度学习基础01----决策树算法与应用详解
决策树属于监督学习的一种,是非常常用的分类方法,是机器学习中一个非常重要的算法,那么,什么是决策树?从字面上看“决策树”分为两大部分,“决策”和“树”,“决策”就是判断嘛,那“树“就是说它的形状像树,有结点有分支如上图所示,决策树是一个类似于流程图的树结构,每个结点代表一个属性上的测试,每个分支代表一个属性的输出,每个树叶结点代表类或类分布,树的最顶层是根结点。构造决策树之前我们先来了解一个基本概念:熵1948年,香农提出了“熵”的概念:一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件原创 2020-08-09 22:23:03 · 1420 阅读 · 0 评论