自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zzhe

学习笔记

  • 博客(45)
  • 收藏
  • 关注

原创 神经网络基础-损失函数

1. 损失函数定义损失函数衡量模型输出与真实值标签之间的差距。损失函数有三个名称。(1) 损失函数(Loss Function)是单个样本的名词:(2)代价函数(Cost Function)是总体样本的损失函数平均值:(3)目标函数(Objective Function)是总体优化目标,不仅包括损失函数,还有正则项:Obj = Cost + Regularization Term2. 回归任务的损失函数在回归任务中,常见的损失函数是均方误差MSE(Mean Squared

2021-11-27 17:17:52 1286

原创 神经网络基础-反向传播

在神经网络中,信息流动有两个方向,一个是向前传播,一个是向后传播。向前传播是指,输入层数据从前向后,逐步传递到输出层;向后传播是指,损失函数从后向前,将梯度逐步传递到第一层。向前传播用于计算预测值,向后传播为了修正预测值,将误差从最后一层传回第一层,利用链式求导的梯度修正参数,使网络输出的预测值更接近真实值,也就是使误差更小。此处有两个重要概念,衡量输出与真实值差异的损失函数,梯度反向传播的链式求导法则。(1)假设此处损失函数,其中表示预测值,y表示真实值。(2)微积分中,y=f(u),

2021-11-27 16:48:26 2323

原创 神经网络基础-多层感知机

1. 多层感知机的概念由于单层感知机被证明不能解决异或问题,神经网络的发展一度进入寒潮期,直到多层感知机的提出。多层感知机(Multi Layer Perceptron, MLP)在单层感知机的基础上引入了隐藏层。图1 多层感知机权重矩阵的行数是输入层的变量个数,列数是输出层的变量个数。2. 多层感知机的激活函数激活函数在多层感知机中至关重要,如果没有激活函数,多层感知机将退化为单层网络那么输出O可以整理为:说到底,多次线性变换可以用一次线性变换得到。但.

2021-11-27 15:32:26 1516

原创 神经网络基础-感知机

1. 人工神经元如图1是大脑神经元(左)和人工神经元(右),人工神经元是大脑神经元抽象出来的数学模型,被称为M-P模型。树突相当于人工神经元的输入(Inputs),细胞核是人工神经元的operation区域(包含由weights得到的sum求和、threshold非线性判断段处理),轴突末梢是人工神经元的输出(Output)。图1 人类神经元与人工神经元2. 人工神经网络人工神经网络 是 大量神经元以某种连接方式构成的机器学习模型。人工神经网络的种类繁多图2 人工..

2021-11-25 22:32:07 2495 1

原创 python 子类、父类、超类

Son直接继承Parent,二者之间叫做子类和父类Parent直接继承Grandparent,二者之间叫做子类和父类Son间接继承Grandparent,

2021-05-31 15:35:40 4524 1

原创 Logistic逻辑回归模型与参数估计

一、引言线性回归的因变量是连续变量,而逻辑回归解决的是因变量是分类变量的问题。当然,自变量既可以是连续的也可以是分类的,但是分类变量做自变量前需要做哑变量处理。逻辑回归将分类因变量的0、1等 值转换为取其值的概率,将二分类模型转换为线性函数模型,转换后模型课表示为lnp(y=1)1−p(y=1)=β0+β1x1+...+βpxp+εln\frac{p(y=1)}{1-p(y=1)}=\beta_{0}+\beta_{1}x_{1}+...+\beta_{p}x_{p}+\varepsilon ln

2021-04-14 17:00:01 9890

原创 多元线性回归-最小二乘法 最大似然估计

引言设随机变量yyy与一般变量x1,x2,...,xpx_{1},x_{2},...,x_{p}x1​,x2​,...,xp​的线性回归模型为:y=y=y=样本(x,y)(x,y)(x,y)可由y=β0+β1x+εy=\beta _{0}+\beta _{1}x+\varepsilony=β0​+β1​x+ε 表示,其中,ε\varepsilonε为随机因素引起的噪声, y=β0+β1xy=\beta _{0}+\beta _{1}xy=β0​+β1​x为用变量xxx和yyy关系描述的一元线性回归

2021-04-14 14:07:35 5921

原创 连续变量降维-因子分析

一、与主成分分析的关系(1)主成分分析是将原始变量做线性组合;而因子分析是将原始变量做分解,表示成公共因子和特殊因子的线性组合;(2)主成分分析中不需要专门的假设;而因子分析则需要,主要包括:各个公共因子之间不相关,特殊因子之间不相关,公共因子和特殊因子不相关等;(3)主成分分析中,给定的 协方差矩阵 或者 相关矩阵 的 特征根 是唯一的,主成分一般是固定的;而因子分析的因子不是固定,可以旋转得到不同的因子;(4)主成分中,未筛选的主成分数量一定,总数量等于特征个数;因子分析的因子个数需要分析者自定

2021-04-11 14:45:15 897

原创 聚类算法-层次(系统)聚类 Kmeans聚类 两步聚类

一、距离定义1.1 点-点 距离距离用来衡量观测变量的属性,第iii个特征的观测值Xi=(xi1,xi2,...,xip)X_{i}=(x_{i1},x_{i2},...,x_{ip})Xi​=(xi1​,xi2​,...,xip​),第jjj个特征的观测值Xj=(xj1,xj2,...,xjp)X_{j}=(x_{j1},x_{j2},...,x_{jp})Xj​=(xj1​,xj2​,...,xjp​),XiX_{i}Xi​和XjX_{j}Xj​的距离有几种计算方式:(1)曼哈顿距离 :可用于既有

2021-04-09 22:01:46 3172

原创 连续变量降维-主成分分析

一、主成分分析基本思想主成分分析的基本思想是:在尽可能多地保留原始变量信息的前提下达到降维目的,从而抓住主要矛盾,以简化问题的复杂性。为了合并原始信息,主成分分析将多个原始变量X1,X2,...,XpX_{1},X_{2},...,X_{p}X1​,X2​,...,Xp​进行线性变换,形成少数几个新的综合变量Y1,Y2,...,YqY_{1},Y_{2},...,Y_{q}Y1​,Y2​,...,Yq​。由于不同的线性变换得到的综合变量YYY不尽相同,为了获得较好的效果,我们希望线性变换能够尽可能多的包

2021-04-07 14:43:16 615 2

原创 一元线性回归-最小二乘法 最大似然估计

引言本文以一元线性回归为例,整理线性回归模型参数的估计方法。样本(x,y)(x,y)(x,y)可由y=β0+β1x+εy=\beta _{0}+\beta _{1}x+\varepsilony=β0​+β1​x+ε 表示,其中,ε\varepsilonε为随机因素引起的噪声, y=β0+β1xy=\beta _{0}+\beta _{1}xy=β0​+β1​x为用变量xxx和yyy关系描述的一元线性回归模型。模型中参数β0\beta _{0}β0​和β1\beta _{1}β1​估计的两种常用方法为最小

2021-04-03 16:19:08 6886

原创 《深度学习入门》笔记_ch04_No module named ‘mcommon‘

一、bug:import sys,ossys.path.append(os.pardir)import commonfrom common.functions import *from common.gradient import numerical_gradientModuleNotFoundError: No module named 'common.functions'二、原因:这里的“common”模块是源代码中作者自己写的,并conda和pip能够安装的模块。若.

2021-03-19 17:31:42 2209 1

原创 torch-scatter -cluster -spline -geometric 安装

今天真的是吐血,一定要把这个分享出去,让更多的人少走弯路。很少有人分享torch-scatter -cluster -spline -geometric 安装,找淘宝店给我安装,他竟然说不会!我只能自己寻找方法了!首先,相信很多人看过这个教程:https://github.com/rusty1s/pytorch_geometric#pytorch-170我来排一排这个教程的坑,就可以安装成功了。一、环境变量一定要切换到想要安装库的环境变量中conda env list ...

2021-02-26 22:20:22 1090 3

原创 pytorch与gpu信息查询

torch.cuda.is_available()cuda是否可用;torch.cuda.device_count()返回gpu数量;torch.cuda.get_device_name(0)返回gpu名字,设备索引默认从0开始;torch.cuda.current_device()返回当前设备索引

2021-02-26 14:47:51 100

原创 拉普拉斯矩阵

1、预备知识拉普拉斯矩阵定义为:L=D-W。其中,D为度矩阵,W为权重矩阵。(1)D是对角矩阵,对角线上的元素时节点的度,即所有与该节点相关联的边的权重之和;对角线以外的元素为0。有向图的对角矩阵分为 出度矩阵 和 入度矩阵。 图1.1 无向图中的度矩阵(2)W在无向图中是对称矩阵,在有向图中是非对称矩阵。 ...

2020-12-02 13:09:14 13373 5

原创 回归的拟合优度

1. 评价指标为样本编号,为真实值,为预测值,是真实值的平均数,则1)均方误差:MSE(Mean Squared Error) 2)均方根误差:RMSE(Root Mean Squard Error) 3)平均绝对误差:MAE(Mean Absolute Error) 4)回归平方和:SSR(Sum of Squares forregression) = ESS (explained sum of squares)...

2020-11-28 11:50:15 3936

原创 XGboost安装

知乎上找到一个非常有效又简单的方法,亲测有效打开anaconda自带的Prompt,输入anaconda search -t conda xgboost在里面找到可以在win64上安装的包的名字,应该是“anaconda py-xgboost”,输入conda install -c anaconda py-xgboost作者:王海链接:https://www.zhihu.com/question/46377605/answer/349189097来源:知乎著作权归作者所有。商业转载

2020-11-20 16:18:13 1384 1

原创 决策树——剪枝算法

一、剪枝目的避免过拟合现象,提升模型的泛化效果二、剪枝方法剪枝算法主要分为两种,预剪枝和后剪枝2.1 预剪枝预剪枝是在构建决策树的过程中,提前停止使模型性能变差的分支预剪枝方法:当树的深度达到一定的规模,停止生长。 当前节点的样本数量小于某个阈值,停止生长。 当信息增益,信息增益率和基尼指数增益小于某个阈值,停止生长。 当测试集准确性提升小于某个阈值,或不再提升甚至有所下降时,停止生长。(西瓜书)预剪枝方法能有效提升模型性能,并减少训练时间和测试时间;但这种方法采用的是贪

2020-11-20 14:33:42 6197

原创 dataframe.iloc[] 与 dataframe.loc[] 的区别

iloc,按 索引位置 切片,DataFrame.iloc[ 行索引位置 , 列索引位置 ] # 开区间(不含最后一个值),如:dataframe.iloc[10:20, 3:5]loc,按 索引名称 切片,DataFrame.loc[ 行索引名称或条件 , 列索引名称 ] # 闭区间(含最后一个值),如:dataframe.loc[ dataframe[列名]=='?',列名 ]...

2020-11-11 14:45:21 242

原创 dataframe判断

arr=np.array([1,3,5,3])arr=pd.DataFrame(arr)arr==3arr=np.array([[1,3,5,3],[5,8,7,6],[1,2,5,9]])arr=pd.DataFrame(arr)arr==3

2020-11-11 14:18:25 517

原创 pandas DataFrame.shift()

pandas DataFrame.shift()函数可以把数据移动指定的位数period参数指定移动的步幅,可以为正为负.axis指定移动的轴,1为行,0为列.import pandas as pddata1 = pd.DataFrame({ 'a': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 'b': [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]})print data1 a b0 0 91 1 82 2

2020-11-02 20:13:40 295

原创 dataframe.rolling().method()用法

rolling : DataFrame.rolling(window, min_periods=None, freq=None, center=False, win_type=None, on=None, axis=0, closed=None)window min_periods freq center win_type on axis closed 表示时间窗的大小,注意有两种形式(int or offset)。 如果使用in..

2020-11-01 21:53:13 2502 1

原创 Python—print(f “{}”) 的用法

a=1b=2S=a+bP=a*bprint(f"Sum of a and b is {S}, and product is {P}")>>>Sum of a and b is 3, and product is 2

2020-10-27 20:25:58 29267 2

原创 Gephi安装——Cannot find Java 1.8 or higher

首先,尝试:https://blog.csdn.net/weixin_44447680/article/details/89842786不成功的话,就是版本不兼容的问题了,参照:https://blog.csdn.net/shine4869/article/details/103340820最后我安装了Gephi-0.9.1版本 和 Java Version 8版本,成功运行。Gephi-0.9.1下载地址:https://github.com/gephi/gephi/releases/..

2020-09-28 11:05:38 967

原创 复杂网络分析工具总结

工具名称 特点 收费 链接 networkx Python的网络分析的库。 优点:用起来比较简单; 缺点:是性能不够好,速度慢,不适合处理数据量大的网络。 免费 官方网站:http://networkx.lanl.gov/ igraph C/C++/R语言/Python的网络分析库。优点:性能好,效率高;图论和网络分析算法齐全,适合科研; 开源 官方网站:http://igraph.sourcefo

2020-09-27 14:27:25 3190

原创 [Matplotlib] DataFrame.plot()用法 - 子图编辑

DataFrame.plot()函数的参数详解,很多博主介绍过,例如:https://blog.csdn.net/h_hxx/article/details/90635650但DataFrame.plot()函数中的参数,很难编辑子图,子图中图例、坐标的字体和字号应该如何修改?经过各种搜索和学习,我找到一种比较容易理解和实现的方法:DataFrame.plot()参数画图,字体特别小:month.plot(subplots=True,style='k.-',markersize = 15,.

2020-09-24 13:58:30 4180

原创 Geopandas安装

我首先翻墙,然后用Anaconda Navigator安装了geopandas 0.8.1版本,安装在root基础环境中。再打开Jupyter notebook,输入:import tensorflow as tf不能运行,出现报错:The kernel appears to have died. It will restart automatical.(我这里tensorflow 1.14.0 , keras 2.2.5 版本)我的解决方法:1. 卸载Geopandas,保证T.

2020-08-09 22:30:26 1077

原创 Numpy生成特殊矩阵

import numpy as npdata=np.loadtxt("data",delimiter=",",dtype=float)特殊矩阵 解释 np.asarray(data) 拷贝data矩阵 np.ones(n) np.ones( (M, N) ) np.ones_like( data ) 生成一个长度为n的一维数组,元素都是1 生成一个M行N列的二维矩阵,元素都是1 生成一个与矩阵data相同形状的矩阵,元素都是1 .

2020-08-02 18:05:12 1076

原创 Numpy生成均匀间隔矩阵

import numpy as np# np.linspace( start, stop, n, endpoint=True, retstep=False, dtype )# 在start到stop区间内,生成n个样本数,endpoint代表stop值是否包含,retstep是否返回步长,dtype数据类型,Ture和False大写np.linspace(1,100,10,endpoint=True,retstep=True,dtype=float)(array([ 1., 12., 2.

2020-08-02 17:15:45 1337

原创 Numpy生成随机矩阵

import numpy as npfrom numpy import random as rad生成随机矩阵 解释 rad.seed(n),n为整数 确定随机数生成种子 rad.rand(n),n为整数 生成n个均匀分布的样本值(0,1) rad.randint(begin, end, n) 从给定的范围 [begin,end) 内生成n个随机整数 rad.randn(N,M,...) 生成N*M*...的正态分布矩阵(平均值为0,标准差为1) r.

2020-08-02 16:59:34 4767

原创 Numpy中的矩阵运算

矩阵运算 解释 det(array) 计算矩阵的行列式 eig(array) 计算方阵的特征值和特征向量 inv(array) 计算方阵的逆 pinv(array) 计算方阵的伪逆 qr(array) 计算qr分解 svd(array) 计算奇异值分解svd solve(array) 解方阵array的线性方程组 lstsq(array) 计算矩阵array线性方程组的最小二乘解 ...

2020-08-02 14:29:33 193

原创 Numpy中的统计参数

统计函数 解释 备注 array.mean(axis=0) 平均值 axis = 0为按列求; axis = 1为按行求; 括号中不设置参数为整体求 array.sum(axis=0) 求和 array.cumsum(axis=0) 累加 array.cumprod(axis=0) 累乘 array.std(axis=0) 标准差 array.var(axis=0) 方差 array.max(.

2020-08-02 11:21:59 389

原创 Python 切片的使用

arra=np.array[ [1,2,3], [4,5,6] [7,8,9] ]1. 使用“ , ”分割行和列有逗号时例如,arra[1,2] 代表索引第2行3列的元素,即 6无逗号时例如,a[1]代表索引第2行元素列表,即 [4,5,6]2. 使用“ : ”分隔起始和终止位置获取一定范围内元素,还需要用到冒号来定义起始和终止位置例如,arra[1:3,1:3]代表索引第2-3行2-3列的元素,即[[5,6]..

2020-07-26 11:32:18 282

原创 pip 安装

安装pip走了很多坑,大多数教程不太适合初学者,就总结了最简单易懂的方法分享给大家1. 官网下载安装包https://pypi.org/project/pip/#modal-close2. 下载后解压安装包我解压在桌面的 “Jupyter 项目练习” 文件夹里3. 利用cdm窗口安装pip搜索cdm,如图打开cdm窗口:找到解压目录中有install.py文件的文件夹,我的在这里:利用命令窗口,进入此文件夹。“cd 文件夹名字” 代表进入此文件夹...

2020-07-22 21:10:00 10706 5

原创 张量的创建、属性及运算

1. 张量的创建import numpy as np标量(0D 张量)x = np.array(1)print(x)print(x.ndim)10向量(1D 张量)y = np.array([1,2,3])print(y)print(y.ndim)[1 2 3]1矩阵(2D 张量)z = np.array([[1,2,3], [4,5,6], [7,8,9]])print(z)print...

2020-07-22 14:05:07 277

原创 张量常见示例

数据类别 阶 形状 向量数据 2D张量 (samples, features) 时间序列数据 3D张量 (samples, timesteps, features) 图像 4D张量 (samples, height, width, channels) 视频 5D张量 (samples, frames, height, width, channels) ...

2020-07-22 10:31:13 378

原创 Python—列表与元组的区别

1. 创建列表的创建用[ ],而元组的船建用( )在元组中只有一个元素时,元组创建需要加逗号“,”,逗号是元组的关键>>>temp1 = (1)>>>temp2 = (1,)>>>print( type(temp1) )<class 'int'>>>>print( type(temp2) )<class 'tuple'>创建空列表和空数组list1=[]tuple1=()

2020-07-17 14:43:11 142

原创 Python—列表比较、逻辑、连接、重复运算符

1. 比较运算符当列表中只有一个元素时,比较两个列表中元素即可,如:>>>list1 = [123]>>>list2 = [456]>>>list1 < list2Ture当列表中有多个元素时,比较索引号0位置上的元素,元素大的列表则该列表大;若list1[0]=list2[0],则比较下一个位置的元素。如:>>>list1 = [123,456,789]>>>list2 = [456

2020-07-17 09:36:11 2014

原创 Python—end=用法

九九乘法表的代码:i=1while i<=9: j=1 while j<=i: print(j,'*',i,'=',j*i,end=' ') #打印完不换行,以两个空格结尾 j+=1 print() #换行 i+=1打印出来的结果:1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 1 * 3 = 3 2 * 3 = 6 3 * 3 ...

2020-07-15 14:13:07 3995

原创 Python—一行多语句和一句多行

1. 一行多语句一行输入多个语句,用分号隔开print('hello');print('world')2. 一语句多行一语句多行有两种形式。一种是括号,包括小括号、中括号和大括号。适用于条件判断:(1<2and 1==3)这种形式尤其在条件表达式中比较好用,如:level=('D' if 0<=score<60 else 'C' if 60<=score<80 else 'B' if 80<=sco.

2020-07-13 17:14:00 13621

空空如也

空空如也

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

TA关注的人

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