算法

2020阿里内部技术精选:AI算法+机器学习+大数据+基础架构

China☆狼群 提交于 2020-03-03 15:23:53
【推荐】2020年最新Java电子书集合.pdf(吐血整理) >>> 由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容! 内容简介 这套精选集覆盖多个热门技术领域:算法、机器学习、大数据、数据库、中间件、运维、安全、移动开发等,文章内容涉及技术架构、核心算法、解决方案等干货。无论你是计算机相关专业的在校学生、科研机构的研究人员,还是步入社会的 IT 从业人员,相信都能从中受益。 书本目录 章节目录 AI算法 学术前沿 机器学习 大数据 基础架构 企业内部IT应用 来源: oschina 链接: https://my.oschina.net/u/4441013/blog/3186589

图像亮度自适应调整

大城市里の小女人 提交于 2020-03-03 14:51:23
简单介绍   本篇主要是对论文:Automatic Exposure Correction of Consumer Photographs 的实现总结。 作用是为了让图像曝光、细节更好。 论文地址:点击打开链接 实现原理   依据对输入图像的亮度信息进行分析处理,进而获得该图片相应的S型Gamma曲线。利用这条曲线对输入图像进行处理,得到更好曝光和细节效果的图像。 算法实现 图像切割   将输入图像缩放后。利用:graph-based segmentation方法进行图像切割。直接网上搜索该keyword,有相应的论文和直接的代码下载。代码做点小改动之后 能够直接opencv编译通过。   得到的结果例如以下: 缩放后图像 区域切割后图像 区域合并   首先将图像归一化。接着依据亮度0.0、0.1....1.0将图像分为11层。然后将之前切割出来的区域块,依据亮度层进行合并。 得到的结果例如以下: 区域合并后图像 细节提取   将图像依据前面的分层和亮度中间值V为分界线。将图像分为暗区和两区两部分。,对图像分别用Gamma(2.2, 0.445)进行处理,得到欠曝和过曝图像。 接着对着三张图像进行canny 细节提取。针对之前得到的前面分层。依据每层亮度是否大于V,计算出该层的细节占总细节的比例:Vb或者Vh。 区域尺寸比例   计算出每层区域的像素占整个图像像素的比例。相应为

yolo---训练时,命令行中加入-map 和 -dont_show

你离开我真会死。 提交于 2020-03-03 11:03:51
AlexeyAB(darknet yolov3)训练自己的数据时,在命令行中加入-map 和 -dont_show。 -map 是为了把loss曲线和测试的准确率打印出来; -dont_show 是在训练中图像显示给隐藏了; @https://blog.csdn.net/qq_43487391/article/details/102933080 @https://github.com/AlexeyAB/darknet#how-to-use @https://github.com/muyiguangda/darknet @https://github.com/Zzh-tju/DIoU-darknet @https://blog.csdn.net/qq_33270279/article/details/103482085 @www.freesion.com/article/1819217386/ IoU,GIoU,DIoU和CIoU三种目标检测lossIoU:使用最广泛的检测框loss。 GIoU:2019年CVPR Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression DIoU和CIoU:2020年AAAI Distance-IoU Loss: Faster and

MachineLearning入门-11(算法评估)

南楼画角 提交于 2020-03-03 10:40:40
评估就是估计算法在预测新数据时候能达到什么程度,但这不是对算法准确度的保证。 当评估完算法模型之后,可以用整个数据集(训练数据集和评估数据集的合集)重新训练算法,生成最终的算法模型。 接下来将学习4种不同的分离数据集的方法,用来分离训练数据集和评估数据集,并用其评估算法模型: 分离训练数据集和评估数据集 K折交叉验证分离 弃一交叉验证分离 重复随机评估。训练数据集分离 分离训练数据集和评估数据集 最简单的方法就是将评估数据集和训练数据集完全分开,采用评估数据集来评估算法模型。通常将67%的数据集作为训练集,将33%的数据作为评估集。这是一种非常简洁。快速的数据分离技术,通常在具有大量数据。数据分布比较平衡,或者对问题的展示比较平均的情况下非常有效。 下面给出一个简单的按照67%,34%的比例分离数据,来评估逻辑回归模型的例子。 1 #数据集分离 2 from pandas import read_csv 3 from sklearn.model_selection import train_test_split 4 from sklearn.linear_model import LogisticRegression 5 6 filename='/home/aistudio/work/pima_data1.csv' 7 names=['preg','plas','pres',

算法进阶路径

别来无恙 提交于 2020-03-03 10:34:39
第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码, 因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打 出来. 1.最短路(Floyd、Dijstra,BellmanFord) 2.最小生成树(先写个prim,kruscal要用并查集,不好写) 3.大数(高精度)加减乘除 4.二分查找. (代码可在五行以内) 5.叉乘、判线段相交、然后写个凸包. 6.BFS、DFS,同时熟练hash表(要熟,要灵活,代码要简) 7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式. 8. 调用系统的qsort, 技巧很多,慢慢掌握. 9. 任意进制间的转换 第二阶段:练习复杂一点,但也较常用的算法。 如: 1. 二分图匹配(匈牙利),最小路径覆盖 2. 网络流,最小费用流。 3. 线段树. 4. 并查集。 5. 熟悉动态规划的各个典型:LCS、最长递增子串、三角剖分、记忆化dp 6.博弈类算法。博弈树,二进制法等。 7.最大团,最大独立集。 8.判断点在多边形内。 9. 差分约束系统. 10. 双向广度搜索、A*算法,最小耗散优先. 相关的知识 图论 路径问题 0/1边权最短路径 BFS 非负边权最短路径(Dijkstra) 可以用Dijkstra解决问题的特征 负边权最短路径 Bellman-Ford Bellman

04-02 AdaBoost算法

℡╲_俬逩灬. 提交于 2020-03-03 10:11:48
文章目录 AdaBoost算法 AdaBoost算法学习目标 AdaBoost算法详解 Boosting算法回顾 AdaBoost算法 AdaBoost算法目标函数优化 AdaBoost算法流程 输入 输出 强分类器流程 强回归器流程 AdaBoost算法优缺点 优点 缺点 小结 AdaBoost算法   集成学习中弱学习器之间有强依赖关系的,称之为Boosting系列算法,而AdaBoost则是Boosting系列算法中最著名的算法之一。   AdaBoost算法强大之处在于既可以解决分类问题,又可以解决回归问题。 AdaBoost算法学习目标 AdaBoost算法目标函数优化 强分类器和强回归器流程 AdaBoost算法优缺点 AdaBoost算法详解 Boosting算法回顾   Boosting算法的流程是:首先训练处一个弱学习器,根据弱学习器的误差率更新训练样本的权重,然后基于调整权重后的训练集训练第二个弱学习器,直到弱学习器达到事先指定的数目T,停止算法。   对于Boosting算法的流程,可以看到如果我们解决以下4个问题,既可以得到完整的Boosting算法 弱学习器的误差率 训练样本的权重 w w w 更新方法 更新样本权重的方法 结合策略 AdaBoost算法   上面讲到了Boosting算法需要解决的4个问题

还记得面试时被算法支配的恐惧吗?

喜你入骨 提交于 2020-03-03 07:56:14
还记得面试时被算法支配的恐惧吗? <font size = '5'> <center>面试造火箭,上班拧螺丝</center> </font> 大多数程序员心里会想"总结的真精辟",当面试到算法时,各种“跪”、“再跪”、“还是跪”......,多少人因为算法而拿不到心仪的offer,算法毁一生啊。 智力面试时代 现在算法已经成为大厂面试的重中之重,甚至一些国外的大厂只面试算法,为什么会这样呢?其实在早期,也就是微软当老大的时候,大厂面试最爱考“智力题”,比如: 井盖为什么是圆的? 如何用3升和5升桶量取4升水? 有一对夫妇,先后生了两个孩子,其中一个孩子是女孩,问另一个孩子是男孩的概率是多少 等等等等等等等等等等等等。 实在想象不出面试程序员还需要会“脑筋急转弯”,不过按照当时微软的半官方说法是: 计算机行业是一个新兴的行业,前面没有灯塔可以对齐,每天都有大量新鲜的问题需要解决,拥有 创新性 的员工是公司急需的,公司需要这些人去打破常规,创造奇迹。 不得不说拥有“创新性”的人才不仅是公司,甚至是全社会都急需的,但真理毕竟只掌握在少数人的手中,大神也屈指可数,公司需要这些高屋建瓴的人来掌舵,也需要普通的水手来划桨,做为普通人中的一员,我仅仅是来应聘“水手”的,我能踏踏实实、认认真真的完成领导交给我的任务,就像一个团队需要“孙悟空”一样的大神,也需要“沙僧”一样踏踏实实干活的人。

人工智能课程学习笔记要点

家住魔仙堡 提交于 2020-03-03 05:15:34
简单(simple)并不意味着微不足道(trivial),简单也可以有强大的力量。 深蓝(deep blue)的推土机智能:以强大的算力弥补对定式和棋局理解记忆上的不足,与人类智能并不完全相同。 随时算法:逐步深入,获取保单,保证在规定的时间内给出最好的答案。 基于规则的专家系统,将知识用简单的规则加以表示。基于规则的专家系统真的具有智能吗?仅仅是一层伪饰让人们觉得其有智能。规则与常识并不相同。(不可知论) 深度优先搜索:将扩展的新路径放入队列首,之后继续扩展;广度优先搜索:将扩展的新路径放入队列尾。 编写以目标为中心的程序,它能解释自己的行为:根据目标树上节点的前趋和后继。 分支限界:每次扩展当前代价最小的序列。算法优化:不重复扩展已扩展节点;可容许启发式(优先扩展更有价值的节点)。A*算法=分支限界+扩展列表+可容许启发式。 模式识别中的最近邻:在特征空间中近邻分布的点。思想:在某些方面相似总有可能在其他方面也相似。使用最近邻算法需要考虑的问题是:不同维度中哪些起了作用?不起作用的维度会干扰结果。 从工程的角度来说,研究人工智能要先研究人类的智能,建立人类智能模型并完善之。 识别树:进行一系列测试(测试树)进行识别。测试时先考虑能划分出较多同质子集的特征(好的特征)、再考虑较差的特征。无序度的计算:借助信息论中信息量的计算方法。选择的特征进行测量后使得结果的无序度尽可能小—

tcp拥塞控制

ε祈祈猫儿з 提交于 2020-03-03 04:52:24
1.引言 计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况就叫做拥塞。 拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制是一个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制。 2.慢开始与拥塞避免 发送方维持一个叫做拥塞窗口cwnd(congestion window)的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口,另外考虑到接受方的接收能力,发送窗口可能小于拥塞窗口。 慢开始算法的思路就是,不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小。 这里用报文段的个数的拥塞窗口大小举例说明慢开始算法,实时拥塞窗口大小是以字节为单位的。如下图: 当然收到单个确认但此确认多个数据报的时候就加相应的数值。所以一次传输轮次之后拥塞窗口就加倍。这就是乘法增长,和后面的拥塞避免算法的加法增长比较。 为了防止cwnd增长过大引起网络拥塞,还需设置一个慢开始门限ssthresh状态变量。ssthresh的用法如下: 当cwnd<ssthresh时,使用慢开始算法。 当cwnd>ssthresh时,改用拥塞避免算法。 当cwnd=ssthresh时

论文笔记:公钥密码算法的硬件实现及侧信道攻击研究(RSA部分)

纵饮孤独 提交于 2020-03-03 01:53:39
论文笔记:公钥密码算法的硬件实现及侧信道攻击研究 作者:王晖(天津大学,2017届硕士学位论文) RSA 算法计算流程 1. 密钥对生成(软件实现) • 选取两个大素数 p 和 q; • 计算𝑛 = 𝑝 × 𝑞,以及 n 的欧拉函数𝜙(𝑛) = (𝑝 − 1) ∙ (𝑞 − 1); • 随机选取一个整数𝑒 (1 < 𝑒 < 𝜙(𝑛)),满足𝑔𝑐𝑑(𝑒, 𝜙(𝑛)) = 1; • 计算私钥 d,满足𝑑 × 𝑒 ≡ 1 𝑚𝑜𝑑 𝜙(𝑛); • 其中 n, e 可以公开为公钥;p, q 可以抛弃但不能泄露, d 需要保密 为私钥。 2. 加密过程 • 加密方拥有公钥信息 n, e,首先需要将明文信息数字化,即转换成 二进制数据,保证每次加密明文信息 m 的长度小于log2𝑛; • 加密方对明文 m 进行加密,即进行模幂运算𝑐 = 𝑚^e 𝑚𝑜𝑑 𝑛; • 加密方将加密好的密文 c 通过可信通信渠道发送给解密方。 3. 解密过程 • 解密方拥有私钥信息 d; • 解密方接收密文信息 c; • 解密方对密文 c 进行解密操作,即𝑚 = 𝑐^d 𝑚𝑜𝑑 𝑛。 显然,加解密过程的基本运算单元都是:message = 𝑚𝑒𝑠𝑠𝑎𝑔𝑒^k𝑒𝑦 𝑚𝑜𝑑 𝑛。最后通过设计状态机调用模幂模块,分别能够实现 RSA 的加解密过程。RSA整个模块在 Xilinx ISE 开发环境中基于 Xilinx