- 博客(109)
- 收藏
- 关注
原创 排序算法对比
2019 September 07 排序算法对比 排序算法对比 排序算法对比 排序算法 平均时间复杂度 最好情况 最坏情况 空间复杂度 原址排序 比较排序 稳定 插入排序 $\Theta \left( n^{2} \right)$ $\Theta \left( n \right)$ $\Theta \left( n^{2} \right)$ $\mathbf{O} \left(...
2019-09-07 06:31:13
207
原创 统计学习方法-第9章-EM算法
2019 July 06 EM算法 统计学习方法-第9章-EM算法 适用问题:概率模型参数估计 模型特点:含隐变量的概率模型 学习策略:极大似然估计,极大后验概率估计 损失函数:对数似然损失 学习算法:迭代算法 EM 算法精髓 EM 算法是通过不断求解下界得极大化逼近对数似然函数极大化得算法。 构造下界函数(Jessen 不等式),通过巧妙地取 Q 的值而保证在参数的当前迭代点处下界函数...
2019-07-06 12:03:42
273
原创 统计学习方法-第8章-提升方法
2019 July 05 提升方法 统计学习方法-第8章-提升方法 适用问题:二分类 模型特点:弱分类器的线性组合 模型类型:判别模型 学习策略:极小化加法模型的指数损失 损失函数:指数损失 学习算法:前向分布加法算法 ...
2019-07-05 21:27:17
257
原创 统计学习方法-第9章-EM算法
2019 July 04 EM算法 统计学习方法-第9章-EM算法 EM 算法精髓 EM 算法是通过不断求解下界得极大化逼近对数似然函数极大化得算法。 构造下界函数(Jessen 不等式),通过巧妙地取 Q 的值而保证在参数的当前迭代点处下界函数与要求解的目标函数数值相等(Jessen 不等式取等号),从而保证优化下界函数后在新的迭代处目标函数是上升的。 Q 函数 完全数据的对数似然函数 $...
2019-07-04 13:56:28
302
原创 统计学习方法-第7章-支持向量机
2019 July 04 支持向量机 统计学习方法-第7章-支持向量机 适用问题:二分类 模型特点:分离超平面,核技巧 模型类型:判别模型 学习策略:极小化正则化合页损失,软间隔最大化 损失函数:合页损失 学习算法:序列最小最优化算法(SMO) 线性可分支持向量机 学习算法 输入:线性可分训练集 $T = { \left(x_{1},y_{1}\right),\left(x_{2},y_...
2019-07-04 10:34:20
165
原创 统计学习方法-第6章-逻辑斯蒂回归模型
2019 July 03 逻辑斯蒂回归模型 统计学习方法-第6章-逻辑斯蒂回归模型 适用问题:多分类 模型特点:特征条件下类别的条件概率分布,对数线性模型 模型类型:判别模型 学习策略:极大似然估计,正则化的极大似然估计 损失函数:逻辑斯蒂损失 学习算法:改进的迭代尺度算法,梯度下降,拟牛顿法 ...
2019-07-03 16:32:35
214
原创 统计学习方法-第6章-最大熵模型
2019 July 03 最大熵模型 统计学习方法-第6章-最大熵模型 适用问题: 模型特点: 模型类型: 学习策略: 损失函数: 学习算法:
2019-07-03 04:29:41
173
原创 统计学习方法-第5章-决策树模型
2019 July 02 决策树模型 统计学习方法-第5章-决策树模型 适用问题: 模型特点: 模型类型: 学习策略: 损失函数: 学习算法:
2019-07-02 04:05:58
166
原创 统计学习方法-第3章-k近邻法
2019 June 30 k近邻法 统计学习方法-第3章-k近邻法 k近邻法 分类与回归方法 多数表决、无显示的学习过程 三个基本要素:k值的选择、距离度量、分类决策规则 模型 k 近邻法的模型对应特征空间的一个划分。 距离度量 特征空间中的两个实例点的距离是两个实例点相似程度的反映。距离越近(数值越小), 相似度越大。 $L_p$ 距离: L _ { p } \left( x _ { ...
2019-06-30 23:40:37
185
原创 统计学习方法-第2章-感知机
2019 June 29 感知机 统计学习方法-第2章-感知机 二分类,Y = {-1, +1} 分离超平面,线性分类模型,判别模型 基于误分类的损失函数 梯度下降法 学习算法,原始形式、对偶形式 模型 输入空间: $\mathcal { X } \subseteq \mathbf { R } ^ { n }$ 输出空间:$\mathcal { Y } = { + 1 , - 1 }$ ...
2019-06-29 11:56:45
116
原创 统计学习方法-第1章-绪论
2019 June 28 监督学习 统计学习方法-第1章-绪论 统计学习分类 分类标准 类型 基本分类 监督学习、无监督学习、强化学习 按模型分类 概率模型、非概率模型(在监督学习中,概率模型是生成模型,非概率模型是判别模型) 按算法分类 在线学习、批量学习 按技巧分类 贝叶斯学习、核方法 统计学习方法三要素 模型 在监督学习过程中,模型就是所要学习的条件概率...
2019-06-28 22:06:46
227
原创 频率学派与贝叶斯学派
2019 June 27 频率学派, 贝叶斯学派 频率学派与贝叶斯学派 频率学派 - Frequentist - Maximum Likelihood Estimation (MLE,最大似然估计) 贝叶斯学派 - Bayesian - Maximum A Posteriori (MAP,最大后验估计) 频率学派认为世界是确定的,有一个本体,这个本体的真值是不变的,我们的目标就是...
2019-06-27 00:58:45
264
原创 凸优化
2019 June 26 凸优化 凸优化 梯度下降法和牛顿法等基于导数作为判据的优化算法,找到的都导数/梯度为 0 的点,而梯度等于 0 只是取得极值的必要条件而不是充分条件。即局部最优解不一定是全局最优解。 凸优化问题——满足下面两个限制条件的最优化问题。 目标函数是凸函数; 优化变量的可行域是凸集; 凸优化问题——局部最优解一定是全局最优解。 凸集 对于 n 维空间中点的集合...
2019-06-26 20:27:03
660
原创 Makefile 函数
2020 May 14 make Makefile 函数 函数的调用语法 函数调用,很像变量的使用,也是以 $ 来标识的,其语法如下: $(<function> <arguments>)# 或者${<function> <arguments>} 这里, <function> 就是函数名。 <arguments>...
2019-06-25 16:20:13
183
原创 Cmake 命令
2020 May 31 cmake Cmake 命令 add_custom_command 用法① 为了生成输出文件,添加一条自定义命令 语法格式① add_custom_command(OUTPUT output1 [output2 ...] COMMAND command1 [ARGS] [args1...] ...
2019-06-25 16:20:10
191
原创 机器学习与深度学习常见面试题
2019 June 25 面试笔记 机器学习与深度学习常见面试题 比较Boosting和Bagging的异同 二者都是集成学习算法,都是将多个弱学习器组合成强学习器的方法。 Bagging:从原始数据集中每一轮有放回地抽取训练集,训练得到k个弱学习器,将这k个弱学习器以投票的方式得到最终的分类结果。 Boosting:每一轮根据上一轮的分类结果动态调整每个样本在分类器中的权重,训练得到k个弱...
2019-06-25 13:35:27
14065
原创 凸优化
2019 June 25 凸优化 凸优化 梯度下降法和牛顿法等基于导数作为判据的优化算法,找到的都导数/梯度为 0 的点,而梯度等于 0 只是取得极值的必要条件而不是充分条件。即局部最优解不一定是全局最优解。 凸优化问题——满足下面两个限制条件的最优化问题。 目标函数是凸函数; 优化变量的可行域是凸集; 凸优化问题——局部最优解一定是全局最优解。 凸集 对于 n 维空间中点的集合...
2019-06-25 07:58:13
1932
原创 梯度下降法
2019 June 25 梯度下降 梯度下降法 导数与梯度 驻点(疑似极值点):梯度为 0 的点 梯度为 0 的点 <==·≠≠> 极值点,梯度为0只是函数取极值的必要条件而不是充分条件。 极大值 or 极小值? 通过二阶导数/Hessian矩阵判定。 如果Hessian矩阵正定,函数有极小值 如果Hessian矩阵负定,函数有极大值 如果Hessian矩阵不定,则需...
2019-06-25 02:38:46
216
原创 梯度下降法
2019 June 24 梯度下降 梯度下降法 导数与梯度 驻点(疑似极值点):梯度为 0 的点 梯度为 0 的点 <==·≠≠> 极值点,梯度为0只是函数取极值的必要条件而不是充分条件。 极大值 or 极小值? 通过二阶导数/Hessian矩阵判定。 如果Hessian矩阵正定,函数有极小值 如果Hessian矩阵负定,函数有极大值 如果Hessian矩阵不定,则需...
2019-06-24 20:53:08
423
原创 贝叶斯原理及其推断
2019 June 23 贝叶斯原理及其推断 贝叶斯原理及其推断 贝叶斯定理 条件概率:在时间 B 发生的情况下,事件 A 发生的概率,用 $P \left( A \mid B \right)$ 来表示。 根据文氏图,可以很清楚的看到在事件 B 发生的情况下,事件 A 发生的概率就是 P(AB) 除以 P(B)。 P ( A \mid B ) = \frac { P ( A \cap ...
2019-06-23 22:10:18
1289
原创 损失函数
2019 June 18 损失函数 损失函数 回归损失 均方误差/平方损失/L2 损失 M S E = \frac { \sum _ { i = 1 } ^ { n } \left( y _ { i } - \hat { y } _ { i } \right) ^ { 2 } } { n } 均方误差(MSE)度量的是预测值和实际观测值间差的平方的均值。它只考虑误差的平均大小,不考虑其方向。...
2019-06-18 16:47:51
345
原创 正则化
2019 June 09 正则化 正则化 Batch Normalization(批标准化) 加速网络的训练(缓解梯度消失,支持更大的学习率) 防止过拟合 降低了参数初始化的要求 动机 训练的本质是学习数据分布。如果训练数据与测试数据的分布不同会降低模型的泛化能力。因此,应该在开始训练前对所有输入数据做归一化处理。 而在神经网络中,因为每个隐层的参数不同,会使下一层的输入发生变化,从而...
2019-06-09 17:59:00
205
原创 激活函数
2019 June 08 激活函数 激活函数 激活函数的作用 向网络中加入非线性因素,加强网络的表示能力,解决线性模型无法解决的问题 为什么加入非线性因素能够加强网络的表示能力?——神经网络的万能近似定理 神经网络的万能近似定理:主要神经网络具有至少一个非线性隐藏层,那么只要给予网络足够数量的隐藏单元,它就可以以任意的精度来近似任何从一个有限维空间到另一个有限维空间的函数。 如果不使...
2019-06-08 09:02:46
141
原创 过拟合与欠拟合
2019 June 07 过拟合, 欠拟合 过拟合与欠拟合 过拟合与欠拟合 欠拟合指模型不能在训练集上获得足够低的训练误差; 过拟合指模型的训练误差与测试误差(泛化误差)之间差距过大; 反映在评价指标上,就是模型在训练集上表现良好,但是在测试集和新数据上表现一般(泛化能力差); 降低过拟合风险的方法 所有为了减少测试误差的策略统称为正则化方法,这些方法可能会以增大训练误差...
2019-06-07 06:38:19
92
原创 Cmake 内置变量
2019 May 31 cmake Cmake 内置变量 信息变量 CMAKE_SYSTEM 系统名称,例如 Linux-2.6.22、FreeBSD-5.4-RELEASE、Windows 5.1 CAMKE_SYSTEM_NAME 系统名称,如 Linux、FreeBSD、Windows CMAKE_SYSTEM_VERSION 系统版本,如 2.6.22 CMAKE_SYS...
2019-05-31 19:49:14
1178
原创 Cmake 命令
2019 May 31 cmake Cmake 命令 add_custom_command 用法① 为了生成输出文件,添加一条自定义命令 语法格式① add_custom_command(OUTPUT output1 [output2 ...] COMMAND command1 [ARGS] [args1...] ...
2019-05-31 11:22:47
152
原创 Makefile 函数
2019 May 14 make Makefile 函数 函数的调用语法 函数调用,很像变量的使用,也是以 $ 来标识的,其语法如下: $(<function> <arguments>)# 或者${<function> <arguments>} 这里, <function> 就是函数名。 <arguments>...
2019-05-14 20:40:46
176
原创 头文件和源文件分离
2019 May 14 头文件, 源文件 头文件和源文件分离 概览 非模板类型(none-template) 模板类型(template) 头文件(.h) 1. 全局变量申明(带 extern 限定符)2. 全局函数的申明3. 带 inline 限定符的全局函数的定义4. 类的定义5. 类函数成员和数据成员的申明(在类内部)6. 类定义内的函数定义(相当于 inline )...
2019-05-14 08:52:52
903
原创 Makefile
2019 May 13 make Makefile makefile 的执行步骤 1、读入所有的 Makefile; 2、读入被 include 的其它 Makefile; 3、初始化文件中的变量; 4、推导隐晦规则,并分析所有规则; 5、为所有的目标文件创建依赖关系链; 6、根据依赖关系,决定哪些目标要重新生成; 7、执行生成命令; 文件搜索路径 目标文件和依赖文件 执行 make 命令时...
2019-05-13 09:23:27
76
原创 TensorRT - Custom Layer
2019 May 05 tensorrt TensorRT - Custom Layer Custom Layer 的实现 Custom Layer 通过继承 IPlugin类,对 TensorRT 的五个阶段分别实现。 创建网络阶段 构建 Engine 阶段 序列化 Engine 阶段 反序列化 Engine 阶段 执行推理 Engine 阶段 创建网络阶段 网络创建需要告诉Tenso...
2019-05-05 18:03:05
638
原创 Git 版本控制下的源码安装
2019 April 11 git Git 版本控制下的源码安装 克隆源码 方法1(推荐-下载更速度快) $ git clone git@github.com:jpe/some_repo.git # 不包含子模块$ git submodule update --init --recursive # 更新子模块并初始化 方法2 一次克隆主模块和所有子模块并初始化 $ gi...
2019-04-11 21:38:27
127
原创 TX2 常用操作
2019 April 11 tx2 TX2 常用操作 1. trt 版本 $ !dpkg -l | grep nvinfer 2. cuda 信息 不能在 tx2 上使用 nvidia-smi 查看。 cuda 路径:/usr/local/cuda-x-y (X、Y 是 cuda 版本) 3. cudnn 信息 $ sudo find / -name libcudnn* 4....
2019-04-11 04:07:10
1051
原创 git clone 速度很慢的解决方法
2019 April 10 git git clone 速度很慢的解决方法 浏览器访问 https://www.ipaddress.com/,获取 github.global.ssl.fastly.net、global-ssl.fastly.net、assets-cdn.github.com 和 github.com 的 IP 修改 hosts,增加 host 映射 xxx.xxx...
2019-04-10 17:18:09
1456
原创 Pytorch官方教程(五)—Saving and Loading Models
2019 April 05 pytorch Pytorch官方教程(五)—Saving and Loading Models Core Function torch.save 使用 pickle 实现对象序列化并保存到磁盘。模型、tensor和所有类型的字典对象都可以使用这个函数保存。 torch.save(obj, f, pickle_module=<module '...'>...
2019-04-05 08:20:38
236
原创 Pytorch官方教程(四)—Transfer Learning Tutorial
2019 April 04 pytorch Pytorch官方教程(四)—Transfer Learning Tutorial 迁移学习主要的两种应用场景: 微调卷积网络:使用预训练模型初始化网络,而不是随机初始化,比如在imagenet 1000数据集上训练的网络,剩余的正常训练。 卷积网络作为固定的特征提取器:冻结除最后一个全连接层外所有网络的权值。最后一个全连接层被替换为一个具有随机...
2019-04-04 17:20:22
284
原创 Pytorch官方教程(三)—Learning Pytorch with Examples
2019 April 03 pytorch Pytorch官方教程(三)—Learning Pytorch with Examples Pytorch 提供了两个主要特性: n 维 Tensor,类似 numpy 不过可以在 GPU 上运行 构建和训练神经网络的自动微分 使用全连接 ReLU 网络作为运行示例。在网络中有一个隐藏层,并通过梯度下降训练来匹配随机数据,使网络输出与真实输出之...
2019-04-03 21:19:07
352
原创 Pytorch官方教程(二)—Data Loading and Processing Tutorial
2019 April 02 pytorch Pytorch官方教程(二)—Data Loading and Processing Tutorial Introduction 在解决机器学习的问题时,大部分精力都花费在准备数据上。Pytorch 提供了很多工具来简化数据加载,使代码具有很好的可读性。 下面的教程我们将学习如何加载数据、预处理/增强数据。 from __future__ impo...
2019-04-02 04:36:45
165
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人