自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 秋招准备

1.BN:https://www.cnblogs.com/eilearn/p/9780696.html先拉到0,1正太分布,再反变化。LN:https://blog.csdn.net/liuxiao214/article/details/810374162.正则l1,l2:https://baijiahao.baidu.com/s?id=162105416731024235...

2019-07-19 21:59:13 225

原创 Word2Vec 源码

之前微信暑期实习面试有问过word2vec的底层实现,之前只掌握了原理和掉包,现在补补Word2Vec的C源码吧。文末附源码。参考:https://blog.csdn.net/jeryjeryjery/article/details/80245924流程:训练:(一)部分全局变量参数:size: 对应代码中layer1_size, 表示词向量的维度,默认值是...

2019-05-06 15:52:07 591

原创 百度NLP面试记录(实习offered)

4月20日,百度远程视频面试。(只记得部分)11:00 一面:(60min)1.自我介绍2.项目3.word2vec两个模式,两个优化,具体实现细节。4.bilstmcrf的具体实现步骤,crf的原理,优势。5.attention的原理。6.C++虚函数7.逻辑回归用极大似然函数为啥不用最小二乘。8.代码:C++写快排12:30 二面:(55min)1....

2019-05-03 13:37:59 1877 3

原创 机器学习算法拾遗:(十)朴素贝叶斯

1、模型的定义   朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分裂方法。首先我们来了解下贝叶斯定理和所要建立的模型。对于给定的数据集    假定输出的类别yi∈ {c1, c2, ...., ck},朴素贝叶斯通过训练数据集的条件概率分布P(x|y)来学习联合概率。因此在这里我们近视的求先验概率分布和条件概率分布来替代它。先验概率分布如下    对于先验概率的求解,可以根...

2019-04-15 18:06:54 246

原创 机器学习中的优化算法

优化算法1、梯度下降法  梯度下降法可以说是机器学习中最常用的算法,当然在深度学习中也会使用。不过一般使用的都是梯度下降法的变体—小批量梯度下降法,因为在样本较大时使用全样本进行梯度下降时需要计算的梯度太多,导致计算量会非常大。梯度下降法是一种迭代算法,选取合适的初值$x^{(0)}$,不断的迭代更新$x$的值,进行目标函数$f(x) $的极小化,直至目标函数收敛。由于负梯度方向是使得函数...

2019-04-15 17:34:04 882

原创 机器学习算法拾遗:(九)降维(SVD, PCA)

PCA  降维方法有很多,而且分为线性降维和非线性降维,本篇文章主要讲解线性降维。1、奇异值分解(SVD)2、主成分分析(PCA)   首先假设在低维空间存在这样一个超平面,将数据从高维映射到该超平面上会使得样本之间的方差最大(样本之间方差最大,也就意味着样本在映射到低维之后仍能较好的保留各样本之间的差异性。若映射后存在大量的样本重合,则映射后的样本中会存在大量无用的样本)假...

2019-04-15 17:13:43 247

原创 机器学习算法拾遗:(八)广义线性模型(线性回归,逻辑回归)

广义线性模型(线性回归,逻辑回归)、线性回归2、广义线性模型  无论是在做分类问题还是回归问题,我们都是在预测某个随机变量y 和 随机变量x 之间的函数关系。在推导线性模型之前,我们需要做出三个假设:  1)P(y|x; θ) 服从指数族分布  2)给定了x,我们的目的是预测T(y) 在条件x下的期望。一般情况下T(y) = y,这也就意味着我们希望预测h(x) = E[y|x...

2019-04-15 17:01:06 842

原创 机器学习算法拾遗:(七)隐马尔科夫模型(前向后向算法、鲍姆-韦尔奇算法、维特比算法)

1、隐马尔科夫模型HMM  隐马尔科夫模型的图结构如下    从上图中主要有两个信息:一是观测变量xi仅仅与与之对应的状态变量yi有关;二是当前的状态变量yi仅仅与它的前一个状态变量yi-1有关。隐马尔科夫模型是由初始概率分布,状态转移概率分布,以及观测概率分布确定的。设Q是所有可能的状态的集合,V是所有可能的观测的集合(注意:这里的状态集合和观测集合中的个数和序列的长度T...

2019-04-15 16:37:43 564

原创 机器学习算法拾遗:(六)EM算法与高斯混合模型

基础:EM算法和高斯混合模型、EM算法EM算法是一种迭代算法,用于含有隐变量的概率模型的极大似然估计,或者说是极大后验概率估计。1、EM算法EM算法的具体流程如下:  输入:观测变量数据Y,隐变量数据Z,联合分布P(Y, Z|θ),条件分布P(Z|Y, θ)  输出:模型参数θ  1)选择参数θ的初始值θ(0),开始迭代  2)E步:记θ(i)次迭代参数为θ的估计值,在...

2019-04-15 16:14:38 321

原创 机器学习中的损失函数

基础:损失函数在机器学习中,所有的机器学习算法都或多或少的依赖于对目标函数最大化或者最小化的过程,我们常常把最小化的函数称为损失函数,它主要用于衡量机器学习模型的预测能力。在寻找最小值的过程中,我们最常用的方法是梯度下降法。由于机器学习的任务不同,损失函数一般分为分类和回归两类,回归会预测给出一个数值结果而分类则会给出一个标签。 ...

2019-04-15 15:34:00 356

原创 机器学习算法拾遗:(五)聚类算法(K-means,密度聚类,层次聚类)

基础:聚类算法(K-means,密度聚类,层次聚类)无监督学习是在样本的标签未知的情况下,根据样本的内在规律对样本进行分类,常见的无监督学习就是聚类算法。聚类算法模型的性能度量大致有两类:  1)将模型结果与某个参考模型(或者称为外部指标)进行对比,私认为这种方法用的比较少,因为需要人为的去设定外部参考模型。  2)另一种是直接使用模型的内部属性,比如样本之间的距离(闵可夫斯基距离...

2019-04-15 14:57:57 1606

原创 机器学习算法拾遗:(四)GBDT与XGBOOST

基础:GBDT与xgboost1、前向分布算法  引入加法模型    在给定了训练数据和损失函数L(y,f(x))的条件下,可以通过损失函数最小化来学习加法模型  而且在Boosting中模型之间又是有先后顺序的,因此可以在执行每一步加法的时候对模型进行优化,那么每一步只需要学习一个模型和一个参数,通过这种方式来逐步逼近全局最优,每一步优化的损失函数:  具体算法流...

2019-04-15 14:47:25 600

原创 机器学习算法拾遗:(三)集成学习(Adaboost、RandomForest)

基础:集成学习、Adaboost根据个体学习器的生成方式不同,我们可以将集成算法分成两类:  1)个体学习器之间存在强依赖关系,必须串行化生成的序列化方法,这一类的代表是Boosting(常见的算法有Adaboost、GBDT);  2)个体学习器之间不存在强依赖关系,可以并行化生成每个个体学习器,这一类的代表是Bagging(常见的算法有RandomForest)。2、集成算法—...

2019-04-15 14:06:40 569

原创 tensorflow保存、加载模型并预测数据

保存模型(ckpt)仅需两行即可保存模型saver = tf.train.Saver(tf.global_variables(), max_to_keep= 5)#第二个参数填任意数字(用于区别各个保存的模型)path = saver.save(sess, '../model/textCNN/model/my-model',global_step = currentStep)注...

2019-04-05 14:22:56 3485

原创 机器学习实战汇总

具体代码可以看github:代码githubCh2:k - 近邻算法一,k近邻算法的工作原理: 存在一个样本数据集,也称作训练数据集,并且样本集中每个数据都存在标签,即我们知道样本集中每个数据与所属分类的对应关系。当输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似的数据的分类标签。一般来说,我们只选择样本数据集中最相似的...

2019-04-03 13:52:45 187

原创 机器学习算法拾遗:(二)决策树(ID3, C4.5, CART)

基础:决策树面试问题:决策树面试问题补充:6. ID3和C4.5有什么区别?Ans:①ID3采用信息熵的增益作为切分依据,倾向于选取特征值较多的属性进行划分;C4.5采用信息熵的增益比作为切分依据,对较少特征数目的属性有所偏好。7.请谈一谈决策树剪枝有哪些方法?Ans:剪枝的作用是为了防止决策树过拟合,有两种思路:预剪枝(Pre-Pruning)和后剪枝(Post-Prun...

2019-04-02 18:07:09 159

原创 机器学习算法拾遗:(一)支持向量机(SVM)

参考:支持向量机面试问题:SVM面试问题使用:sklearn的SVM使用1、感知机模型分类模型:sign函数是指示函数(当wx+b > 0,f(x) = +1;当wx+b < 0,f(x) = -1 ;感知机的超平面是wx+b = 0)即:整合成 y(wx+b) > 0损失函数:2、支持向量机几何间隔:基于感知机,γ是离超平...

2019-04-02 16:11:11 256

转载 使用sklearn做单机特征工程

特征工程之特征选择特征工程之特征表达特征工程之特征预处理1 特征工程是什么? 有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,人们认为特征工程包括以下方面:特征处理是特征工程的核心部分,s...

2019-03-27 23:10:50 126

转载 【调参炼丹】深度学习训练的小技巧,调参经验。(2)

超参数(Hyper-Parameter)是困扰神经网络训练的问题之一,因为这些参数不可通过常规方法学习获得。神经网络经典五大超参数:学习率(Leraning Rate)、权值初始化(Weight Initialization)、网络层数(Layers)单层神经元数(Units)、正则惩罚项(Regularizer|Normalization)这五大超参数使得神经网络更像是一门实践课...

2019-03-18 19:32:02 293

转载 【调参炼丹】深度学习训练的小技巧,调参经验。

经常会被问到你用深度学习训练模型时怎么样改善你的结果呢?然后每次都懵逼了,一是自己懂的不多,二是实验的不多,三是记性不行忘记了。所以写这篇博客,记录下别人以及自己的一些经验。Ilya Sutskever(Hinton的学生)讲述了有关深度学习的见解及实用建议:获取数据:确保要有高质量的输入/输出数据集,这个数据集要足够大、具有代表性以及拥有相对清楚的标签。缺乏数据集是很难成功的。...

2019-03-18 19:23:22 561

原创 【调参炼丹】 Batch_size和Epoch_size

Batch_Size:首先,batch_size来源于:小批量梯度下降(Mini-batch gradient descent)梯度下降法是常用的参数更新方法,而小批量梯度下降是对于传统梯度下降法的优化。深度学习中优化方法的对比定义:Batch_size是每次喂给模型的样本数量。Epoch_size是训练所有样本总的次数(即每个样本被训练的次数相当于iteration)。...

2019-03-18 17:52:04 15614 4

原创 【调参炼丹】深度学习中优化方法对比(BGD,SGD,Mini-batch gradient descent,Momentum, RMSProp, Adam)

对输入样本大小(batch)的改变:为了提升训练的速度,可以改变每次输入模型中的样本数量大小。1.批量梯度下降(BGD):一个epoch训练所有的样本后更新一遍梯度。特点:速度慢。2.随机梯度下降(SGD):每训练一个样本,更新一遍梯度。特点:速度快,但不易收敛。3.小批量梯度下降(Mini-batch gradient descent):把总的数据分为若干批次,每个批次更...

2019-03-18 17:03:45 1380

原创 Leetcode的python3版

1. 两数之和​​​题目:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。思路:建立字典,遍历差值是否在字典中。时间复杂度o(n)class Solution: def twoSum(self, nums: List[i...

2019-03-07 22:47:21 1299

原创 NLP面经归纳及答案

DL:训练百度:1.BN的全称,BN的作用,为什么能解决梯度消失?(https://www.cnblogs.com/guoyaohua/p/8724433.html)全称:Batch Normalization批标准化。作用:BN就是在深度神经网络训练过程中使得每一层神经网络的输入保持相同分布的。原因:而BN就是通过一定的规范化手段,把每层神经网络任意神经元这个输入值的分布强行...

2019-03-06 18:34:35 4460 1

转载 图、DFS、BFS

转自:https://www.jianshu.com/p/b215152a85fb这篇文章写的还是蛮好的,至少在Google中搜索关键字: BFS DFS Python, 其中的第一篇就是这个blogGraph theory and in particular the graph ADT (abstract data-type) is widely explored and imple...

2019-03-06 13:57:24 181

转载 完全二叉树、二叉查找树、平衡二叉树

完全二叉树完全二叉树是一种特殊的二叉树,满足以下要求: 所有叶子节点都出现在 k 或者 k-1 层,而且从 1 到 k-1 层必须达到最大节点数; 第 k 层可以不是满的,但是第 k 层的所有节点必须集中在最左边。 需要注意的是不要把完全二叉树和“满二叉树”搞混了,完全二叉树不要求所有树都有左右子树,但它要求: 任何一个节点不能只有左子树没有右子树 叶子...

2019-03-06 11:18:57 881

原创 WIN10+tensorflow1.9.0-GPU+CUDA9.0+vs2015+python3.6安装教程

一、本机配置Win10、显卡1050Ti二、安装1.安装Anaconda的python3.7版本下载链接:https://www.anaconda.com/distribution/#download-section安装完后在命令行cmd中分别输入和更新到最新的numpy库2.安装Microsoft Visual Studio2015迅雷下载(较快)...

2019-03-04 02:52:38 1142

原创 pip更换国内源

三大国内源:- 豆瓣:http://pypi.douban.com/simple/- 中科大:https://pypi.mirrors.ustc.edu.cn/simple/- 清华:https://pypi.tuna.tsinghua.edu.cn/simple永久修改:Windows版本:(代码中用的豆瓣源)自己在C:\Users\&lt;username&gt;路径下...

2019-03-03 21:48:48 162

原创 魔兽世界题目检索器(Python小项目)

最近接到个同学给的小项目,配合他们节目做个题目检索器。下图是题库的数据格式。需求是要按sheet名以及难度(后续会按题组)返回对应的题目生成excel,并提供UI供操作。代码:#!/usr/bin/env python# -*- coding: utf-8 -*-import pandas as pdimport tkinter as tkfrom tkinter ...

2019-03-03 13:26:43 728

原创 哈夫曼树

地址:https://www.cnblogs.com/tomhawk/p/7471133.html一、定义哈夫曼树,又称最优树,是一类带权路径长度最短的树。首先有几个概念需要清楚:1、路径和路径长度从树中一个结点到另一个结点之间的分支构成两个结点的路径,路径上的分支数目叫做路径长度。树的路径长度是从树根到每一个结点的路径长度之和。2、带权路径长度结点的带权路径长度为从该结点...

2019-02-27 17:24:13 195

转载 Echarts API文档

转自:https://echarts.baidu.com/echarts2/doc/example/themeDesigner.html theme = { // 全图默认背景 // backgroundColor: 'rgba(0,0,0,0)', // 默认色板 color: ['#ff7f50','#87cefa','#da70d6','#32...

2019-02-25 16:12:42 512

原创 PyCharm 调试Debug入门

为了摈弃print的暴力调试法,在mentor的耳濡目染下,我开始了PyCharm的Debug。例程:def helloworld(): print('hello world')a = 1b = 2c = 3for i in range(5): print(i)a = 3b = 4c = 5helloworld()print('end')1.先设置红...

2019-02-25 16:08:52 1573

原创 pyhton 备忘录

1在 Python3.x 中raw_input( )和input( )进行了整合,去除了raw_input( ),仅保留了input( )函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。21.strip():把头和尾的空格去掉2.lstrip():把左边的空格去掉3.rstrip():把右边的空格去掉4.replace('c1','c2...

2019-02-24 19:36:40 127

原创 牛客在线判题

牛客网在线判题系统使用帮助作者:管理员单行输入import systry: while True: line = sys.stdin.readline().strip() if line == '': break lines = line.split() print(lines) ...

2019-02-23 19:36:09 316

原创 聚类方法:K-means、K-modes和K-prototypes

首先:得对数据进行标准化min-max标准化(离差标准化):对原始数据进行线性变换,是结果落到【0,1】区间,转换方法为 X'=(X-min)/(max-min),其中max为样本数据最大值,min为样本数据最小值。from sklearn import preprocessingX = preprocessing.MinMaxScaler().fit_transform(X)一...

2019-02-20 10:12:37 8224 1

原创 docker 安装

0、版本环境匹配uname -r 大于3.10即可1、获取docker安装包wget -qO- https://get.docker.com/ | sh安装日志中有:If you would like to use Docker as a non-root user, you should now consideradding your user to the "do...

2019-01-16 10:26:39 91

转载 深度学习调优小技巧

转:https://blog.csdn.net/xinyuski/article/details/844005271:优化器。机器学习训练的目的在于更新参数,优化目标函数,常见优化器有SGD,Adagrad,Adadelta,Adam,Adamax,Nadam。其中SGD和Adam优化器是最为常用的两种优化器,SGD根据每个batch的数据计算一次局部的估计,最小化代价函数。学习速率决定了...

2019-01-15 15:06:43 862

原创 剑指offer(Python版)

一、线性表1.数组题3:二维数组中的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:# -*- coding:utf-8 -*-class Solution: # array 二维列表 def Fi...

2019-01-09 09:41:52 599

原创 八大排序(归并和快排要熟练!)(基线排序暂未写入)

转自:https://www.cnblogs.com/hokky/p/8529042.html性能比较:直接插入排序直接插入排序的核心思想就是:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过。因此,从上面的描述中我们可以发现,直接插入排序可以用两个循环完成:第一层循环:遍历待比较的所有数组元素 第二层循环:...

2019-01-08 22:51:26 291

转载 Flask 框架app = Flask(__name__) 解析

参考:https://www.cnblogs.com/jianguo221/p/9280840.htmlfrom flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world(): return 'Hello World!'if __name__ == '__main__': a...

2019-01-03 18:48:32 919

空空如也

空空如也

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

TA关注的人

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