energy_百分百
码龄12年
  • 665,420
    被访问
  • 195
    原创
  • 1,261,525
    排名
  • 135
    粉丝
关注
提问 私信

个人简介:while(1){慢几步,深几度}

  • 加入CSDN时间: 2010-10-30
博客简介:

lch551218的博客

查看详细资料
  • 5
    领奖
    总分 1,446 当月 94
个人成就
  • 博客专家认证
  • 获得582次点赞
  • 内容获得187次评论
  • 获得1,034次收藏
创作历程
  • 85篇
    2021年
  • 101篇
    2020年
  • 10篇
    2019年
成就勋章
TA的专栏
  • 概率基础
    12篇
  • 机器学习
    72篇
  • NLP
    23篇
  • 深度学习
    31篇
  • Pytorch
    3篇
  • 数据结构
    4篇
  • 集成学习
    1篇
  • Pyqt5
    10篇
  • 环境配置
    17篇
  • python编程
    65篇
  • linux编程
    24篇
  • django
    19篇
  • html
    10篇
  • opencv
    2篇
  • Pycharm
    5篇
  • 爬虫
    4篇
  • 成果分享
    1篇
  • c++混合编程
    4篇
  • Python语法糖
    2篇
  • VS配置问题
    3篇
  • c++
    6篇
  • TensorFlow
    24篇
  • 经典算法
    1篇
  • 网络编程
    5篇
  • MongoDB
    1篇
  • 云服务器
    9篇
  • eeglab
    1篇
  • matlab算法
    2篇
  • matlab编程
    2篇
  • mysql
    5篇
  • nginx
    9篇
  • javascript
    4篇
  • Git
    8篇
  • Github
    6篇
  • Redis
    2篇
  • docker
    4篇
  • 速查资料
    5篇
  • 多线程
    1篇
  • pipenv
    2篇
  • 域名设置
    1篇
  • 个人博客
    1篇
  • 远程仓库
    1篇
  • vscode
    1篇
  • cell
    1篇
  • 元胞
    1篇
兴趣领域 设置
  • 数据结构与算法
    排序算法推荐算法
  • 人工智能
    机器学习caffe深度学习神经网络自然语言处理tensorflowmxnetpytorchnlpscikit-learn聚类集成学习迁移学习分类回归
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

对 Relu激活函数导致 [ 神经元死亡 ] 的理解

Relu激活函数导致 [ 神经元死亡 ] 的原因relu函数和sigmoid函数相比,虽然能够避免反向传播过程中的梯度消失、屏蔽负值、防止梯度饱和;但是relu也有自身的缺陷,当学习率过大时会出现某些神经元永久死亡的现象,导致网络后期无法正常更新原因分析:上式是神经网络权重更新的公式,其中η表示学习吕,Δw表示通过求导得到的当前参数的梯度(一般为正值)当学习率过大时,会导致ηΔw 这一项很大,当ηΔw 大于w时,更新后的w’就会变为负值;当权重参数变为负值时,输入网络的正值会和权..
原创
发布博客 2021.07.17 ·
1295 阅读 ·
5 点赞 ·
1 评论

#深入理解# 线性回归中的“线性”、以及最小二乘和梯度下降的理解

​1. 线性回归中的"线性"线性回归中的线性和我们通常理解的线性有着本质的区别,例如:X为自变量函数的次数指的是自变量的最高次项,线性函数表示自变量的最高次项为1;在高中和大学的学习中,我们往往要求解最优的x,因此我们认为x为变量,这时函数是否为线性函数我们要看自变量x指数位置的最大值是否为1;参数为自变量而在机器学习中,我们往往要求解最优的参数(上式中的a),因此,这时我们将a看做是自变量,x看作是常数,这时函数的次数就取决于参数a的最高次项;因此线性回归中如果参数的最高次项为1,
原创
发布博客 2021.07.14 ·
133 阅读 ·
0 点赞 ·
0 评论

#浅谈# 构造哈夫曼树

哈夫曼树又称最优二叉树,哈夫曼树中离根节点越近,节点的权重越大统计每个数据出现的次数,将每个数据出现的次数组成数组构造哈夫曼树:选择数据列表中最小的两个值,相加成为一个新的节点,并将两个节点较小的值作为左节点,较大的值作为右节点; 将上一步选择的两个节点在数据列表中删除,将想加得到的新节点的值加入到数据列表中 重复执行1、2步操作,直至数据列表为空构造哈夫曼编码将构造的哈夫曼树所有节点的左分支赋值为0,右分支赋值为1,然后将根节点到每个叶子节点路径上的值连起来作为每个叶子节点对应的数据
原创
发布博客 2021.07.12 ·
78 阅读 ·
0 点赞 ·
0 评论

#深入理解# AdaBoost 集成学习方法

在AdaBoost算法中每个样本会被赋予一个权重,然后依次训练多个分类器,每训练完一个分类器都会根据当前分类器的结果对每个样本被选中的概率进行更新并得到当前分类器的权重参数,如果某个样本被算错则增加此样本被选中的概率,反之则降低概率;最后根据更新后的样本权重重新选择N个样本去训练下一个分类器;预测时,将每个分类器的结果加权得到预测的结果AdaBoost算法训练过程:将正样本标签置为1,负样本标签置为-1 初始化样本被选中的概率(均匀分布,每个样本被选中的概率为1/n) 根据样本权重选取N个样本训
原创
发布博客 2021.07.12 ·
92 阅读 ·
0 点赞 ·
0 评论

#深入理解# 决策树综述(ID3、C4.5、CART)

目录1. 构造决策树的依据1.1 信息增益度1.2信息增益率1.3基尼系数2. ID3 vs C4.5 vs CART3. 剪枝操作3.1 预剪枝3.2 后剪枝4. 关于 ID3、C4.5、CART 的几个问题1. 构造决策树的依据决策树的构造,从本质上讲就是每次将样本分成几组,目标是让每一组中的类别尽可能单一(每组的熵加权相加后的值尽可能的小)ID3中使用最大化信息增益度对样本进行分组,C4.5中使用最大化信息增益率对样本进行分组,CART中使用最小化分..
原创
发布博客 2021.07.11 ·
208 阅读 ·
0 点赞 ·
0 评论

Z检验、T检验下 P-value 和置信区间的计算

目录1.置信区间的计算1.1 总体方差已知1.2总体方差未知2.计算 P-Value2.1 总体方差已知2.2总体方差未知1.置信区间的计算根据总体分布(T分布或者Z分布)和规定的置信度计算总体均值在指定置信度下的置信区间,然后将实验值和置信区间比较,若在置信区间之外(小概率事件发生)则表示实验统计量和总体统计量存在显著差异1.1 总体方差已知总体方差已知时,根据总体均值和方差,使用Z分布计算置信区间,公式如下:其中: 表示样本均值 表...
原创
发布博客 2021.07.07 ·
5541 阅读 ·
0 点赞 ·
0 评论

#详细解读# 线性回归、逻辑回归及其损失函数

1. 线性回归线性回归输入如果是连续的,输出必然也是连续的,形式是损失函数一般使用 MSE、RMSE、MAE等,因为逻辑回归输出值是0~1本身给出的就是一个该概率值,而线性回归没有激活函数需要使用某种方式构造一种损失,那么最容易想到的便是最小二乘或RMSE,MAE等2. 逻辑回归(LR)逻辑回归在线性回归的基础上增加了激活函数(sigmoid)将输出限制在0到1,因此我们用交叉熵作为逻辑回归的损失函数,这里简述以下交叉熵和sigmoid激活函数:2.1 交叉熵1. 熵的定义:.
原创
发布博客 2021.07.05 ·
277 阅读 ·
0 点赞 ·
0 评论

#深入理解# DNN+HMM 语音识别模型

上一篇文章详细解析了 GMM+HMM语音识别模型,在这篇文章中,我们将重点介绍DNN+HMM语音识别模型将DNN应用在语音识别有两种方式:1. 令DNN取代GMM+HMM中的GMM,但是首先要训练一个GMM+HMM的语音识别模型,得到初始状态概率训练一个分类器,输入一个特征帧能够得到一个这个特征属于每一个状态的概率...
原创
发布博客 2021.07.07 ·
293 阅读 ·
0 点赞 ·
0 评论

#透彻理解# GMM+HMM 语音识别模型 [识别+训练] 过程

1.识别过程:对于每一帧的特征,根据状态转移矩阵A,2. 训练过程:使用k-means等方法初始化每个状态对应GMM中每个高斯分布的权重参数
原创
发布博客 2021.07.02 ·
610 阅读 ·
2 点赞 ·
1 评论

通俗理解隐马尔可夫模型(HMM)

HMM(隐马尔可夫模型)对于一个观测序列,我们认为这个观测序列是由另一个状态序列输出的,而这个状态序列我们称之为隐马尔可夫链隐马尔可夫链每次可以输出一个观测值,但是一个观测值一次只能被一个状态输出;HMM 的每一个状态输出完一个观测值后会根据概率转换到其他状态(其他状态也包括自身状态)然后在下一个状态下在输出下一个观测值,直到输出所有观测值时结束一个HMM包含三组参数(π,A,B\pi,A,Bπ,A,B):数组π\piπ:表示初始化时每种状态被选择的概率(初始概率分布);矩阵A(N * N,N=
原创
发布博客 2021.06.28 ·
515 阅读 ·
0 点赞 ·
2 评论

#通俗理解# 从极大似然估计(MLE)到最大期望(EM)算法

顾名思义,最大期望算法就是让某个函数的期望最大化从而得到最优参数,首先我们先要了解期望的公式:期望本质上就是根据随机变量的分布对函数值的加权求和,平均值是期望的一种特殊形式,平均值假设随机变量取到每种值得概率相同(均分分布)EM算法一般用来求解混合模型的参数,因为混合模型一般是多个不同参数模型的加权和,这种形式很难通过导数为零的方法得到每个参数的解析解;EM算法思想是让多个模型对应的似然函数同时最大化;在进一步说,EM算法有两部分参数:一部分是混合模型中各模型的权重参数,我们这里称之为隐变量Z;一
原创
发布博客 2021.06.24 ·
872 阅读 ·
0 点赞 ·
2 评论

语音识别(Speech Recognition)综述

1. 语音识别的基本单位1.1 Phonemea unit of sound 是声音的最基本单位,每个词语token的声音由多个 phoneme 组成1.2 Graphemesmallest unot of a writing system 每个单词书写最基本的单位,简单来说:英文的grapheme可以认为是词缀, 由 [26个英文字母 + 空格 + 标点符号]组成中文的grapheme是汉字1.3 Word英文可以用单词作为语音识别的最基本单位,但包括中文在内的很多语言无法使用word作为
原创
发布博客 2021.06.18 ·
3122 阅读 ·
4 点赞 ·
3 评论

全面理解哈希函数及其应用

1. 哈希函数哈希函数是指一种能够讲任意数据转换为固定长度编码的一种函数,因为不同数据得到的哈希值可能相同,因此哈希过程一般是不可逆的,哈希函数可以应用的密码加密,哈希存储等方面。好的哈西函数应该具备以下特点:相同的数据得到的哈希值唯一通过哈希值无法通过反向推导得到源数据源数据发生微小改变,得到的哈希值完全不同,长的字符也能快速的计算出哈希值要尽量避免冲突(不同的数据得到的编码要尽量不同)2. 哈希加密算法比如对用户密码的加密,如果使用明文来存储用户密码,那么管理员很容易就能在后台获取
原创
发布博客 2021.06.09 ·
2021 阅读 ·
0 点赞 ·
0 评论

#深入探究# Adam和SGDM优化器的对比

1. Adma 和 MSGDAdam和MSGD作为当今最优秀的两种深度学习优化器,分别在效率和精度上有着各自的优势,下面我们将分析两种优化器各自优势的原因,两边的两张图分别是 几种常见的优化器在猫狗分类数据集上的分类准确率曲线,第一个是训练集,第二个是测试集以下两张图是某个NLP任务中,几种模型的准确率和困惑度指标变换曲线通过上边两幅图片可知:Adma在训练集上的准确率较高,MSGD在测试集上的准确率较高Adma的速度更快,但MSGD能够得到好的效果第一个结论可以用下边这个图来解释:
原创
发布博客 2021.06.07 ·
2179 阅读 ·
1 点赞 ·
0 评论

对极大似然估计(MLE)和极大后验估计(MAP)的通俗理解

概率与统计对于这个函数:P ( x ∣ θ )输入有两个:x表示某一个具体的数据;θ表示模型的参数。如果 θ 是已知确定的,x是变量,这个函数叫做概率函数(probability function),它描述对于不同的样本点x,其出现概率是多少,求解x的过程属于概率学范畴。如果x是已知确定的,θ是变量,这个函数叫做似然函数(likelihood function), 它描述对于不同的模型参数,出现x这个样本点的概率是多少,求解θ的过程属于统计学范畴。也有人上上述两种问题称之为描述统计学(
原创
发布博客 2021.06.01 ·
112 阅读 ·
0 点赞 ·
0 评论

#透彻理解# 机器学习中,正则化如何防止过拟合

简单来说,正则化就是对损失函数增加额外一种约束的方法,主要用来进行特征选择和改善模型的过拟合现象常用的正则化方法有L0正则、L1正则、L2正则、随机正则L0正则:在损失函数后增加一个惩罚项,这个惩罚项计算参数的L0范数L1正则:在损失函数后增加一个惩罚项,这个惩罚项计算参数的L1范数L2正则:在损失函数后增加一个惩罚项,这个惩罚项计算参数的L2范数随机正则:随机让某些权重系数为零,在神经网络中表现为让某些神经元失活范数的概念如下:范数是一种用来度量某个向量空间(或矩阵)中的每个向量的长度或
原创
发布博客 2021.05.28 ·
207 阅读 ·
0 点赞 ·
0 评论

#手写代码# 用Bert+CNN解决文本分类问题

文章目录1 配置文件2 定义模型2.1 __init__(self,config)函数2.1 conv_and_pool()函数2.3 forward(self,x)函数1 配置文件首先定义一个配置文件类,类里边存放Bert和CNN的一些超参数class Config(object): ''' 配置参数 ''' def __init__(self,dataset): # 模型名称 self.model_name='Bert CNN Mo
原创
发布博客 2021.05.25 ·
1597 阅读 ·
3 点赞 ·
4 评论

#手写代码# 用Bert+LSTM解决文本分类问题

1 配置文件首先定义一个配置文件类,类里边存放Bert和LSTM的一些超参数class Config(object): ''' 配置参数 ''' def __init__(self,dataset): self.model_name='Bert RNN Model' # 训练集,测试集,检验集,类别,模型训练结果保存路径 # self.train_path=dataset+'/data/dev.txt' #
原创
发布博客 2021.05.24 ·
1868 阅读 ·
7 点赞 ·
3 评论

深入理解 PyTorch 的一维卷积和二维卷积,一维池化和二维池化

PyTorch 的一维卷积和二维卷积的输入都可以是多维的默认情况下,一维卷积只对输入的最后一维进行操作,二维卷积只对输入的最后两维进行操作;如果想要对输入的倒数第二维度进行一维卷积,那么必须使用二维卷积进行操作,同时卷积核的第二个维度保持和输入数据的最后一个维度保持一致,这样就能保证卷积核在输入数据的倒数第二个维度上进行滑动了;经过这样的卷积以后,输出数据的最后一个维度会变成1,这时一般会使用 unsqueeze() 函数删除数据的最后一个维度上述思想对PyTroch中的一维池化和二维池化同样适用
原创
发布博客 2021.05.24 ·
1721 阅读 ·
1 点赞 ·
0 评论

通俗理解 TextCNN网络结构

TextCNN和图像CNN最大的区别就在于TextCNN是一维卷积,而图像CNN是二维卷积有些人认为一维卷积核二维卷积的区别在于输入数据的维度,认为一维卷积的输入是一维数据,二维卷积的输入是二维数据;其实不然,两个最大的区别是卷积滑动的方向:一维卷积只在一个唯独上进行滑动二维卷积先在第一个维度上滑动,然后在第二个维度上滑动,比如对于图像来说,卷积核先在第一行像素上横向活动,然后再在第二行上横向滑动…textCNN过程如下图所示:对于一个 n*k 的文本序列,n代表文本序列的长度,k代表embe
原创
发布博客 2021.05.21 ·
207 阅读 ·
0 点赞 ·
0 评论
加载更多