- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 语义分割--DeepLab系列总结
本文是对语义分割领域的优秀模型DeepLab系列进行的总结。一、空洞卷积Atrous Convolution空洞卷积,也称之为膨胀(dilated)卷积,经常用在小波变换上,现在被应用在卷积网络中。空洞卷积的操作与常规卷积相比,多了一个“rate”参数。上图是1维空洞卷积示例(pad=n表示在左右两边都进行填充n个零输入):当rate=1时(上图),就是常规卷积,每一个输出特征(绿色)对应三个位置上连续的输入特征,即采样的间隔为0。当rate>1时(下图),就是空洞卷积,每个输
2020-12-25 00:35:29
707
原创 个人理解--batch_dot函数
在keras中有batch_dot函数,用于计算两个多维矩阵,官方注释如下:def batch_dot(x, y, axes=None): """Batchwise dot product. `batch_dot` is used to compute dot product of `x` and `y` when `x` and `y` are data in batches, i.e. in a shape of `(batch_size, :)`. `b
2020-06-30 23:24:46
3807
原创 个人理解--梯度下降
最近被问机器学习是怎么训练的,那么就顺便再深入理解梯度下降算法。一、导数 首先我们需要复习一下导数的知识。导数是什么?一个导数是描述一个函数上的一个点在自变量增大时,因变量的变化率。在这里我讨论导数的对象为二维空间上的函数。我们用极限来表达导数,当左右侧导数相等时,这个点才存在导数。 ...
2019-03-28 16:49:25
388
原创 个人理解--贝叶斯公式
一、条件概率定义 假设A和B是样本空间中的两个集合,我们可以很清楚的明白P(A)和P(B)分别代表集合A与集合B的概率,以及是两个集合交集的概率,即两个事件同时发生的概率。但是注意,凡是形式为P(x)的都是概率,背后本质是一个比值,那么就会有分子与分母...
2019-03-17 17:46:19
1973
转载 机器学习笔记(五)--SVD奇异值分解
SVD奇异值分解可运用在降维算法PCA中进行特征分解,在机器学习等领域有广泛应用,所以很有必要将它搞清楚。优秀文章:https://www.cnblogs.com/pinard/p/6251584.html一、特征值与特征向量 ...
2019-03-17 00:03:11
347
原创 数学建模学习笔记(三)--回归与分类
回归与分类这两个监督学习方法的区别主要在于:1.输出的类型:连续与离散。2.loss函数:均方差与交叉熵(输出是否为一个可度量的空间,不同输出之间是否存在可度量的距离)。3.网络结构:不需要softmax与需要softmax。这两个方法本质上相同,分类可以用回归来做。...
2019-03-16 22:40:34
456
原创 数学建模学习笔记(二)--TOPSIS
一、TOPSIS优劣解距离法优秀文章:https://zhuanlan.zhihu.com/p/37738503这个方法是使用在多方案评估问题中,给出每个方案的得分,选出最优的方案。1.指标同向化意思就是:有的变量越大越好,有的变量越小越好,有的变量在一个区间就可以,那么就需要处理这些变量,变换成同个方向。...
2019-03-16 22:36:50
4915
原创 自然语言处理笔记(一)--句子编码
NLP最初的步骤就是将文本中的句子表示成计算机能够处理的数字矩阵,而句子是由多个单词组成的,所以表达句子的任务就变成了如何表达单词。表达单词一般有两种大方法:词袋模型,词向量模型。一、词袋模型(BOW)将所有出现过的单词装进一个袋子里,忽略词法与语序,每个单词都是独立的。那么单词的维度就是词袋的大小(用单词的出现次数表达)。这样会出现稀疏性的问题(one-hot)。二、词向量模型(Wo...
2019-03-07 16:42:02
2322
原创 机器学习笔记(一)--归一化与标准化与正则化
优秀文章:https://zhuanlan.zhihu.com/p/29957294一、归一化 归一化目的是将数据映射到同一个范围,增加可比性。二、标准化 标准化目地是加速收敛,更快找到最优解,计算上与正态分布标准化类似,变换在空间中的位置。三、正则化 正则化目的是避免过拟合,减少误差。计算上在一般loss函数上加上正则项,有L1正则,...
2019-01-23 10:28:29
736
原创 数学建模学习笔记(一)--PCA
一、PCA主成分分析法优秀文章:http://blog.codinglabs.org/articles/pca-tutorial.html1.方差其中N为总体数量,但是在现实中总数往往是无法得到的,所以经校正后,用n-1即样本容量-1来代替N。2.协方差衡量两个变量的总体误差。如果为正,说明同向变化,为负则是反向变化,大小表示程度。如果两个变量是独立的,则协方差为0(实际计...
2019-01-10 16:03:04
1697
原创 机器学习笔记(三)--决策树
学习机器学习算法之决策树,这个大侠的文章写得不错:http://www.cnblogs.com/yonghao/p/5061873.html总结一下:1.对于信息熵的理解:选假设有一个离散型随机变量X有4中可能的结果:A-1/2,B-1/4,C-1/8,D-1/8,后面的是每种结果的发生概率。那么如果顺序的去猜测X,就会有以下事件可能发生:问到A,命中A,用一次,问A->B,命中...
2018-11-18 10:14:46
217
原创 记录制作MFC项目遇到的问题
1.字符编码问题 为了程序的简易与快速开发,以后都选择Unicode作为工程的字符集。转载于:https://www.cnblogs.com/gaohongchen01/p/4006700.html多字节字符集: 在最初的时候,Internet上只有一种字符集——ANSI的ASCII字符集,它使用7 bits来表示一个 字符,总共表示128个字符,其中包括了 英文字母、...
2018-11-18 10:14:14
207
原创 Windows核心编程-笔记
1.每个进程都有自己专有的地址空间,当进程中的各线程运行时,他们只能访问属于该进程的内存,线程看不到且无法访问其他进程的内存。地址空间只是一个内存地址区间,需要把物理存储器分配或映射到相应的地址空间,才能够正常读写数据。2.进程地址空间的划分及使用空指针赋值区 00000000-0000FFFF 禁止访问,帮助程序员捕获空指针的赋值。用户模式分区 00010000...
2018-11-18 10:13:47
311
转载 phpstorm+xampp+xdebug配置
详见http://sora1.coding.me/2017/01/11/xampp-phpstorm%E7%9A%84%E7%AE%80%E5%8D%95%E9%85%8D%E7%BD%AE/注意安装xdebug之前要先确定php的位数,使用phpinfo
2018-09-13 14:24:38
292
原创 MFC--手动调用CTreeCtrl的消息响应函数
在制作过程中,想要代码实现树形控件的一个动作,无奈用SendMessage无果,只能手动调用这个消息响应函数:void CWindowsExplorerDlg::OnSelchangedTree(NMHDR *pNMHDR, LRESULT *pResult){ //LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW&g...
2018-08-18 19:02:54
1375
1
原创 kali linux安装中文输入法
1.修改安装源,内容网上找命令:vi /etc/apt/sources.list按下i就可以以插入模式修改文件,修改完esc返回命令模式,按下分号:再按下wq就可以保存并退出修改。2.更新系统命令:apt-get install update3.安装fcitx命令:apt-get install fcitx注意:如果遇到 依赖: libpango1.0-0 (>=...
2018-08-03 17:57:16
574
原创 字符字典序排序C++
之前遇到字典序排序的问题,一时间没能想出来,之后想好后记录下来。 问题描述:给出一个字符串,是一个不是多个string,有大写有小写,排序结果为AaBbCcDd......之前一直不明白sort函数的自定义函数的工作原理,现在搞懂了。bool cmp1(char &a, char &b) //返回false调换{ if ((islower(a) &&...
2018-05-31 15:31:39
5779
翻译 机器学习笔记(二)--Epoch和Batch和iteration
在机器学习中,这几个概念是很重要也是较容易混淆的,百度上的资料个人觉得都没这篇外文讲得清楚。原文:https://towardsdatascience.com/epoch-vs-iterations-vs-batch-size-4dfb9c7ce9c9翻译:Epoch vs Batch Size vs Iterations在这之前,敲代码的时候你一定有想过这...
2018-04-05 09:54:14
1374
原创 机器学习笔记(四)--LeNet-5
学习卷积神经网络,最好的办法就是去实现一些著名的模型:LeNet,AlexNet,ZF-Net,GoogleNet,VGG,ResNet。首先是最老的最简单的LeNet:先上张图:这张图就已经将LeNet模型的基本内容与操作描述出来了:卷积-池化-卷积-池化-全连接,除了池化层与最后一层全连接层不用激活函数,其他层都要用.先要说明:需要激励函数Sigmoid解决非线性问题从而将把...
2018-03-06 23:50:41
518
原创 Swift实战总结1
1.guard语句:功能与if语句相同:基于一个表达式的布尔值去判断一段代码是否该被执行。与if不同的是:guard语句只有在条件不满足的时候才会执行这段代码,多用在可选绑定。如下例:func fooGuard(x: Int?) { guard let x = x where x > 0 else {//where语句是对表达式加上一个约束 // 变量不符合条件判断时,执行下面代码
2018-02-27 22:58:53
300
转载 深入理解值传递与引用传递
1.= 是赋值操作(任何包含=的如+=、-=、 /=等等,都内含了赋值操作)。不再是你以前理解的数学含义了,而+ - * /和 = 在java中更不是一个级别,换句话说, = 是一个动作,一个可以改变内存状态的操作,一个可以改变变量的符号,而+ - * /却不会。这里的赋值操作其实是包含了两个意思:1、放弃了原有的值或引用;2、得到了 = 右侧变量的值或引用。Java中对 = 的理解很重要啊!!可
2018-02-07 12:37:26
321
原创 VS2017+SQLite3编写C++控制台程序打包
接着之前的环境设置好之后,接下来学习打包。打开VS2017,打开之前创建的C++项目,新建main.cpp:#include#include"sqlite3.h"using namespace std;void main(){ sqlite3 *sql = NULL; int flag = sqlite3_open("student.db", &sql); //如果该名称的
2018-02-06 11:52:21
1045
1
原创 win8.1 64位+VS2017+SQLite3环境设置
以前在学习C++的时候有过做一个通讯录什么的作业,当时不懂数据库,现在想把当时的想法实现一下,目标就是:用VS开发C++控制台程序并使用上数据库并能够一起打包,并且能够在其他人的电脑里运行。了解了市面上的许多数据库,一开始选择了MySQL因为够轻量,没有像微软的数据库什么的几个G还有客户端,但是之后才发现MySQL也有几百MB将近1GB,不适合打包。所以,我发现了更小的SQLite,只有十几MB,
2018-02-05 23:32:35
1453
原创 Win8.1+MySQL安装+环境设置
1.官网下载ZIP:mysql-5.7.21-winx64.zip,解压。2.在文件目录下创建配置文件:my.ini代码如下:[mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设置3306端口port = 3306 # 设置mysql的安装目录basedir=G:\mysql-5.7.21-w
2018-02-04 22:24:06
1513
原创 Win8.1+Android Studio 初学创建HelloWorld
这几天对android有点兴趣想鼓捣一下,下面是从环境搭建到启动模拟器实现HelloWorld的大致过程。因为之前学习Java都是用eclipse,所以理所当然的想用它做安卓开发,但是期间遇到很多问题,所以果断放弃,转战Android Studio。1.安装Android SDK。当官网下载,注意要选择这个android-sdk_r24.4.1-windows下载,不要只下载了tools包
2018-02-04 14:41:11
304
原创 机器学习环境搭建:Win8.1+Python3.6+TensorFlow-GPU1.5.0+CUDA9.0+cudnn7
学习机器学习,我选择了Google的TensorFlow,为了充分利用资源,决定安装GPU版本,那么理所当然的要安装好英伟达显卡的计算平台CUDA+cudnn。TF1.5.0版本已经支持CUDA9.0+cudnn7,具体下载以及安装不再详细讲述自行百度,这里讲一下遇到的问题以及解决方法。(cudnn官网没有win8的版本,用win7的也行)安装TF没有什么问题,直接pip安装就可以,最大的
2018-02-01 13:15:00
1209
原创 初步理解iOS编程的委托机制Delegate
1.委托说明:如果一个类想知道另外一个类发生的事件并且做出反应,比起使用类的继承,使用委托机制更能减少代码的复杂度。2.委托的实现:假如有两个类,一个是房子,一个是看门狗,房子里有钱。class WatchDog{}class House{ var money:Float = 100}需要实现的是狗发现屋子里的钱变少了就要叫让主人知道,实现方法是先创建一个协议其
2018-01-29 15:16:38
355
原创 KMP算法运用next数组解决匹配
j 0 1 2 3 4 5 6 7 P a b a a b c a cnext(j)-1 0 0 1 1 2 0 1第一趟: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16目标 a c
2018-01-07 16:41:01
438
原创 简单运用Hash_map
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1 //在VisalStudio2017上运行时报不安全加上#include#include#includeusing namespace std;struct MyHash //自定义hash函数与比较函数{ size_t operator()(const
2017-12-16 15:47:48
762
原创 KMP算法求next数组的方法
next数组的求解方法是(这里规定next[0]=-1,next[1]=0):j 0 1 2 3 4 5 6 7 P a b a a b c a c next -1 0 ? 求next[j=2],则先将P[2-1]=b和...
2017-12-03 16:10:15
4469
原创 xcode9元素约束设置
问题描述:iOS设备左右横屏时可能导致界面元素显示出错,所以要设置元素与界面边界的距离即约束。方法:在storyboard右下角中,使用Align,设置元素在以界面中心为原点(0,0)的坐标,先将元素移动到想要的位置,再在Align中选择可以输入的框中选use current canvss value。或者:使用Add new constraints,将要设置的边点红,设置与界
2017-11-28 22:49:43
821
原创 使用栈(非递归方法)解决斐波那契数列问题
解决斐波那契数列问题可以使用递归,迭代,以及使用栈等方法,下面讲述使用栈的方法。首先,我们从数列的递归调用树就可以发现一些信息。要求第n个斐波那契数,就要向左下和右下走两步。所以使用结构体,其中dir表示向左还是向右,1为向左,0为向右。struct node{ int value; //代表要求的第x个数 int dir;};采用累加的方式算出结果:当value
2017-10-04 15:47:37
5629
1
原创 解决xcode9真机调试问题
1.建立IOS 的Single View App2.Team选择个人账号,不选团队账号。3.Bundle identifier中要以cert为后缀,如:abc.cert4.在iphone中的通用->描述文件与设备管理 中添加信任。
2017-09-26 21:44:05
1306
原创 win8下使用VM12安装OS X10.12虚拟机
工具准备:os x 10.12系统CDR镜像文件VM pro 12 正版(注册码自行百度)unlocker207.zip1.安装VM12,安装完毕后,打开系统的服务,将VM的服务都关闭。2.解压unlocker207.zip,找到win-install.cmd,右键管理员身份运行,等待完成。如果发现黑框一闪而过就是失败,原因是UAC账户安全通知的关闭,解决方法:右键wi
2017-09-10 14:51:17
515
原创 解决macbook pro在只有win8系统下开启AHCI的问题
给macbook pro升级SSD的同学都要知道,只是安装了新的硬盘,如果没有开启AHCI,在windows下系统的运行速度会严重的慢。
2017-08-25 23:18:55
3019
原创 解决cin因为输入错误的数据类型进入死循环的问题
问题:如果按照下述的代码来检查用户的输入是否合法,是不够的,当输入一个与期望不同的数据类型后,cin的状态会变成fail,当下次执行cin会直接跳过,这样就变成了死循环。int a;while (1){ cin >> a; if (a > 10) cout << "error" << endl; else cout << a << endl;}解决:先用cin.clea
2017-07-25 16:22:46
1450
原创 解决光纤猫恢复出厂功能后的上网问题
1.注册光纤猫:LOID为字母+数字共16位。2.设置光纤猫:在网络连接中选择第二条,改桥接为路由,下面选择PPPOE,输入账号与密码,就可以光猫自动拨号上网了。
2017-07-15 11:20:25
21892
原创 多重继承引发的二义性问题及解决方法分析
首先了解:1.类的继承:派生类拥有其基类拥有的所有数据成员与成员函数,但访问属性不同。2.类的派生:派生类可以加入新的基类不拥有的数据与函数。 多重继承:一个类派生出多个类,多个类派生出一个类性质与规则:1.声明方法:class D:public A,private B,protected C{}2.调用顺序:先调用A的构造函数,再到B,再到C。虚基类->非虚基
2017-06-07 22:15:26
8840
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人