然则怎样33fp却揭示iphone有wifi却搜不到到下一页面,弹出的揭示wwW33fpcom框里

&figure&&img src=&https://pic1.zhimg.com/v2-fb1ecf2ab3fad571909d_b.jpg& data-rawwidth=&632& data-rawheight=&313& class=&origin_image zh-lightbox-thumb& width=&632& data-original=&https://pic1.zhimg.com/v2-fb1ecf2ab3fad571909d_r.jpg&&&/figure&&p&本文给到的是相关具体可能会被问及的问题(编程、基础算法、机器学习算法)。从本次关于算法工程师常见的九十个问题大多是各类网站的问题汇总,希望你能从中分析出一些端倪,文末附了部分参考的答案&/p&&p&《&b& 机器学习、大数据相关岗位职责及准备(转)&/b& 》: &a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&机器学习面试的职责和面试问题(转) - 知乎专栏&/a&&/p&&p&《 &b&机器学习经典算法优缺点总结&/b&》: &a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&机器学习经典算法优缺点总结 - 知乎专栏&/a&&/p&&p&其中的关于&b&推荐系统&/b&的入门介绍可以查看专栏文章:&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&什么是推荐系统(个性化内容分发)? - 知乎专栏&/a&&/p&&p&其中的关于&b&用户画像&/b&的入门介绍可以查看专栏文章&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&比你更了解你,浅谈用户画像 - 知乎专栏&/a&&/p&&p&也欢迎大家参加我的知乎live-&/p&&p&《&b&推荐算法那点事&/b&》:&a href=&https://www.zhihu.com/lives/993472& class=&internal&&知乎 Live - 全新的实时问答&/a&&/p&&p&《 &b&推荐算法那点事(二):细节&/b& 》:&a href=&https://www.zhihu.com/lives/542464& class=&internal&&知乎 Live - 全新的实时问答&/a&&/p&&p&欢迎大家关注后续的文章&/p&&p&1.struct和class区别,你更倾向用哪个&br& 2.kNN,朴素贝叶斯,SVM的优缺点,朴素贝叶斯的核心思想,有没有考虑属性之间不是相互独立的情况&br& 3.10亿个整数,1G内存,O(n)算法,统计只出现一次的数。&br& 4.SVM非线性分类,核函数的作用&br& 5.海量数据排序&br& 6.项目中的数据是否会归一化处理,哪个机器学习算法不需要归一化处理&br& 7.两个数组,求差集&br& 8.开放性问题:每个实体有不同属性,现在有很多实体的各种属性数据,如何判断两个实体是否是同一种东西&br& 9.写程序实现二分查找算法,给出递归和非递归实现,并分析算法的时间复杂度。&br& 10.用C/C++实现单链表的反转。&br& 11.python读取文件,写代码&br& 12.python计算一个文件中有N行,每行一列的数的平均值,方差,写代码&br& 13.C++求两个一维数组的余弦相似度,写代码&br& 14.SVM详细过程,支持向量,几何间隔概念,拉格朗日函数如何求取超平面,非线性分类&br& 15.海量数据中求取出现次数最大的100个数。&/p&&p&16.字符串翻转,手写&/p&&p&17.快排,手写&/p&&p&18.KNN(分类与回归)、CART(回归树用平方误差最小化准则,分类树用基尼指数最小化准则)、Logistics(推导)、GBDT(利用损失函数的负梯度在当前模型的值作为回归问题提升树算法中的残差的近似值,拟合一个回归树)、随机森林(Bagging+CART)&/p&&p&19. 非递归的二叉前序遍历 && 两个字符串的复制(除了字符串地址重叠的情况,也要注意判断字符串本身的空间足够不足够,对于异常情况要考虑全面)&/p&&p&20.一个概率题目: 6个LED灯管,找整体旋转180'后仍然是一个正常输入的情况(考虑全即可)&br& 21. 给一个情境,考察你对于机器学习算法的了解程度以及常用情境的了解(要特别注意思维要开阔,我就是陷入某一个)&/p&&p&&b&22.&/b&一个数组,如果存在两个数之和等于第三个数,找出满足这一条件的最大的第三个数(设为x+y =c)&/p&&p&23.聚类和分类有什么区别?分类是事先知道类标的,而聚类事先不知道类标。&/p&&p&24.快速排序,怎样将二叉排序树变成双向链表,且效率最高,从栈里找最小的元素,且时间复杂度为常数级,&/p&&p&25.神经网络,plsi的推导,还有float转string,判断一棵树是否是另一棵的子树。&/p&&p&26.写写SVM的优化形式、推导SVM&/p&&p&27.在一个n*n的矩阵中填数的问题,那种转圈填数,上网搜搜有&br& 28.链表存在环问题,环的第一个节点在哪里?&br& 29.几个排序算法,必须写出&/p&&p&30.用拉格朗日公式推导SVM kernel变换&/p&&p&31.数据结构当中的树,都有哪些?&/p&&p&32.推荐系统&/p&&p&33.输出一个循环矩阵,这个我想的有点复杂了,简单的循环即可实现,我用了递归&br& 34.翻转字符串,《剑指offer》原题&br& 35.确定链表中环的起始位置&/p&&p&36.N个数找K大数那个题,堆解释了一遍,比较满意,问还能怎么优化O(Nlogk)的方法,并行方面想&/p&&p&37.一个班60个人怎么保证有两个人生日相同,听完后有点奇怪,①为什么是60个人?②为什么是保证?,反正没管这么多就是概率嘛,算就完了.&br& 38.问一个字符串怎么判断是邮箱比如:vzcxn@sdf.gre.有限状态自动机,然后要我画状态转移图.&br& 39.快排的空间复杂度,答O(n).归并的空间复杂度,答O(n).他让我好好想想,我想了会,难道空间复杂度的常数不能省吗?然后做了修改,快排是O(n)归并是O(2n).&br& 40.给10^10个64位数,100M内存的空间排序,感谢队长刚好在去的前一天教过我一个求中位数的方法.用文件操作来做了,像快排一样,二分选个数统计大于那个数的数量和小于那个数的数量,如果能用100M的空间排序就把那些数排了,如果不能继续.直到能排为止.&br& 41.main(argc,argv[])里面两个参数什么意思&br& 42.kmp算法&br& 43.电梯问题&br& 44.一个应用题,考察hash算法&/p&&p&45.求最大字段和,用动态规划和分治法两个方法,时间复杂度怎么算&br& 46.写了一下二分查找算法的代码&/p&&p&47.统计字符串中出现的字符个数,忽略大小写,其中可能有其他字符。&br& 48.一个文件2G内容是userid,username 一个文件3G内容是username,userpassword&br& 要求:输出userid,userpassword 8核cpu 2G内存&/p&&p&49.贝叶斯概率、卷积&/p&&p&50.寻找二叉树的公共父节点&/p&&p&51.通过寻找两条路径,然后寻找最后一个公共节点。&/p&&p&52.SVM核函数,合并两个文件的问题&/p&&p&53.b+ b-树、红黑树、要求写出排序算法&/p&&p&54.判断两条链表是否交叉。&/p&&p&55.归并排序,random指针的链表复制等&/p&&p&56.树的广度、深度遍历,&/p&&p&57.L1和L2的区别&/p&&p&58.生成与判别模型&/p&&p&59.隐式马尔科夫&/p&&p&60.SVM:中文分词&/p&&p&61.关联分析、aprior&/p&&p&62.各类算法优缺点、模型调优细节&/p&&p&63.特征提取的方法(无关键词也是一个特征)&/p&&p&64.稳定与不稳定排序&/p&&p&65.RBF核与高斯核的区别&/p&&p&66.Python实现LogReg&/p&&p&67.ROC与AUC&/p&&p&68.K-means起始点&/p&&p&69.深度学习和机器学习的区别、数据挖掘和人工智能的区别、测试集和训练集的区别kmeans,FCM,SVM算法的具体流程、如何优化kmeans算法&/p&&p&70.二叉树前序遍历非递归实现,大家总结一下前序,中序,后序遍历的非递归实现,尝试多几种方法会有不一样的收获。&/p&&p&71. Deep CNN, Deep RNN, RBM的典型应用与局限,看Hinton讲义和Paper去吧&/p&&p&72. 有哪些聚类方法?&/p&&p&73. 判断一个链表是否存在环?回 答:通过两个指针,快慢指针进行遍历。&/p&&p&74. 正则化是怎么回事(L1和L2)&/p&&p&75.PCA&/p&&p&76. 学校食堂如何应用数据挖掘的知识&/p&&p&77. 哪些模型容易过拟合,模型怎么选择&/p&&p&78. 什么是模糊聚类,还有划分聚类,层次聚类等&/p&&p&79. 最长上升子序列啊,两个大小相同的有序数组找公共中位数&/p&&p&80. 并行计算、压缩算法&/p&&p&81.SVD、LDA&/p&&p&82. naive bayes和logistic regression的区别&br& 83.LDA的原理和推导&br& 84.做广告点击率预测,用哪些数据什么算法&br& 85.推荐系统的算法中最近邻和矩阵分解各自适用场景&br& 86.用户流失率预测怎么做(游戏公司的数据挖掘都喜欢问这个)&br& 87.一个游戏的设计过程中该收集什么数据&br& 88.如何从登陆日志中挖掘尽可能多的信息&/p&&p&89. 统计学习的核心步骤:模型、策略、算法,你应当对logistic、SVM、决策树、KNN及各种聚类方法有深刻的理解。能够随手写出这些算法的核心递归步的伪代码以及他们优化的函数表达式和对偶问题形式。&/p&&p&90. 梯度下降、牛顿法、各种随机搜索算法(基因、蚁群等等)&/p&&p&&br&&/p&&p&部分答案的参考答案整理&/p&&p&1.struct比class有更多的限制,详见下面链接&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//angeson1987.blog.163.com/blog/static//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&angeson1987.blog.163.com&/span&&span class=&invisible&&/blog/static//&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&2. 朴素贝叶斯核心思想利用先验概率得到后验概率,并且最终由期望风险最小化得出后验概率最大化,从而输出让后验概率最大化的值(具体概率与先验概率由加入拉普拉斯平滑的极大似然估计而成的贝叶斯估计得到),特征必须相互独立。&/p&&p&file:///C:\Users\kaifei.yao\AppData\Local\Temp\msohtmlclip1\01\clip_image001.jpg&/p&&p&3.方案一:分拆然后分布式,方案二:对应每个数有三个状态,01代表出现一次,统计10亿以内数据,然后看最终哪些是01状态&/p&&p&4.应对非线性分类问题&/p&&p&5.bit 位操作&/p&&p&6.量纲问题:归一化有利于优化迭代速度(梯度下降),提高精度(KNN)&/p&&p&7. 实操,算法流程:&/p&&p&从数组1的尚未比较的元素中拿出第一个元素array1(i),用array1(i)与array2(j)进行比较(其中j&i且j&array2的长度),可能出现下面两种情况,&/p&&p&1. 数组2中找到了一个与array1(i)相等的元素,则将array2(j)与array2(i)进行交换,I 加一,进行下次迭代&/p&&p&2. 数组2直到结尾也没找到与array1(i)相等的元素,则将array1(i)与尚未进行比较的最后一个元素array1(k)进行交换,i不加一,进行下次迭代。&/p&&p&8.重写equals方法,对类里面的对象进行属性比较&/p&&p&9.实操&/p&&p&10. 实操: 为了反转这个单链表,我们先让头结点的next域指向结点2,再让结点1的next域指向结点3,最后将结点2的next域指向结点1,就完成了第一次交换,顺序就变成了Header-结点2-结点1-结点3-结点4-NULL,然后进行相同的交换将结点3移动到结点2的前面,然后再将结点4移动到结点3的前面就完成了反转,思路有了,就该写代码了: 每次都将原第一个结点之后的那个结点放在list后面,下图是原始的单链表。file:///C:\Users\kaifei.yao\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg&/p&&p&11.12.13.14.实操&/p&&p&15. 处理海量数据问题,无非就是,详细见链接&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//blog.csdn.net/flyqwang/article/details/7395866& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.csdn.net/flyqwang/&/span&&span class=&invisible&&article/details/7395866&/span&&span class=&ellipsis&&&/span&&/a&:&/p&&p&分而治之/hash映射 + hash统计 + 堆/快速/归并排序;&/p&&p&双层桶划分&/p&&p&Bloom filter/Bitmap;&/p&&p&Trie树/数据库/倒排索引;&/p&&p&外排序;&/p&&p&分布式处理之Hadoop/Mapreduce。&/p&&p&16. 实操:将原数组看成 ab,需要转换成 ba,先单独对子数组a进行反转得到a'b(a'表示a反转后的结果),同理单独反转b,得到 a'b',最后将得到的 a'b' 一起进行一次反转可得 (a'b')',而这就是最终结果 ba了&/p&&p&17.18.实操&/p&&p&19. 实操:&a href=&http://link.zhihu.com/?target=http%3A//ocaicai.iteye.com/blog/1047397& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&ocaicai.iteye.com/blog/&/span&&span class=&invisible&&1047397&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&22.先排序,然后遍历数组,每次遍历的元素求是否是前后两个元的和,小于则左边前进,大于则右边后退&/p&&p&23. 分类是事先定义好类别 ,类别数不变, K-均值聚类算法、K-中心点聚类算法、CLARANS、 BIRCH、CLIQUE、DBSCAN等&/p&&p&24. 实操:&a href=&http://link.zhihu.com/?target=http%3A//m.blog.csdn.net/blog/wkupaochuan/8912622& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&m.blog.csdn.net/blog/wk&/span&&span class=&invisible&&upaochuan/8912622&/span&&span class=&ellipsis&&&/span&&/a&,&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//blog.163.com/kevinlee_2010/blog/static//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.163.com/kevinlee_2&/span&&span class=&invisible&&010/blog/static//&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&25.实操,子树问题分两步:&/p&&p&找值相同的根结点(遍历解决)&/p&&p&判断两结点是否包含(递归:值、左孩子、右孩子分别相同)&/p&&p&26.实操&/p&&p&27. &a href=&http://link.zhihu.com/?target=http%3A//www.docin.com/p-.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&docin.com/p-.ht&/span&&span class=&invisible&&ml&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&28. &a href=&http://link.zhihu.com/?target=http%3A//blog.csdn.net/kerryfish/article/details/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.csdn.net/kerryfish&/span&&span class=&invisible&&/article/details/&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&29.30.实操&/p&&p&31. 二叉查找树(二叉排序树)、平衡二叉树(AVL树)、红黑树、B-树、B+树、字典树(trie树)、后缀树、广义后缀树。详见下面链接&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//www.cnblogs.com/dong008259/archive//2255361.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cnblogs.com/dong008259/&/span&&span class=&invisible&&archive//2255361.html&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&32. &a href=&http://link.zhihu.com/?target=http%3A//baike.baidu.com/link%3Furl%3DECsYE4xe1gguMd3R5X4x5V7eQX54NkFp0PJ0FYbAvgJIFPDiaCdD_PuftDAYZTuzH0EuIobF1vDa2Vx2rj6Dda& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&baike.baidu.com/link?&/span&&span class=&invisible&&url=ECsYE4xe1gguMd3R5X4x5V7eQX54NkFp0PJ0FYbAvgJIFPDiaCdD_PuftDAYZTuzH0EuIobF1vDa2Vx2rj6Dda&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&33. 实操 34.见16,实操
35.见28&/p&&p&36. &a href=&http://link.zhihu.com/?target=http%3A//www.douban.com/note//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&douban.com/note/2755445&/span&&span class=&invisible&&55/&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&37.1减去50个人生日不同的概率≈100%&/p&&p&38. &a href=&http://link.zhihu.com/?target=http%3A//zhidao.baidu.com/link%3Furl%3DDAnewo2j-Jz2u3WwyhFb4kYpnI3QZzfBqsQXdzVG9R061hcBTCUu01WXtoX5T89SmiiMJ_eWIkXOAAe1lhDFM0S7OPjnL_zTEX3Mm1ARc-a& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&zhidao.baidu.com/link?&/span&&span class=&invisible&&url=DAnewo2j-Jz2u3WwyhFb4kYpnI3QZzfBqsQXdzVG9R061hcBTCUu01WXtoX5T89SmiiMJ_eWIkXOAAe1lhDFM0S7OPjnL_zTEX3Mm1ARc-a&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&39. 空间复杂度:快排是O(n)归并是O(2n).&/p&&p&40. &a href=&http://link.zhihu.com/?target=http%3A//blog.csdn.net/guyulongcs/article/details/7520467& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.csdn.net/guyulongc&/span&&span class=&invisible&&s/article/details/7520467&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&41. args是Java命令行参数,我们在DOS中执行Java程序的时候使用“java 文件名 args参数”。args这个数组可以接收到这些参数。当然也可以在一个类中main方法中直接调用另一个类里的main方法,因为main方法都是static修饰的静态方法,因此可以通过类名.main来调用,这时就可在调用处main方法中传入String[]类型的字符串数组,达到调用的目的,也可不传入参数。&/p&&p&42. &a href=&http://link.zhihu.com/?target=http%3A//www.cnblogs.com/goagent/archive//3068442.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cnblogs.com/goagent/arc&/span&&span class=&invisible&&hive//3068442.html&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&43. &a href=&http://link.zhihu.com/?target=http%3A//www.cnblogs.com/BeyondAnyTime/archive//2538764.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cnblogs.com/BeyondAnyTi&/span&&span class=&invisible&&me/archive//2538764.html&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&44. &a href=&http://link.zhihu.com/?target=http%3A//www.360doc.com/content/13/819.shtml& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&360doc.com/content/13/0&/span&&span class=&invisible&&409/14/138819.shtml&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&45. &a href=&http://link.zhihu.com/?target=http%3A//blog.csdn.net/wwj_748/article/details/8919838& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.csdn.net/wwj_748/a&/span&&span class=&invisible&&rticle/details/8919838&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&46.47.实操&/p&&p&48. &a href=&http://link.zhihu.com/?target=http%3A//freewxy.iteye.com/blog/737576& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&freewxy.iteye.com/blog/&/span&&span class=&invisible&&737576&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&49. &a href=&http://link.zhihu.com/?target=http%3A//book.51cto.com/art/050.htm& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&book.51cto.com/art/2012&/span&&span class=&invisible&&05/338050.htm&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//www.guokr.com/post/342476/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&guokr.com/post/342476/&/span&&span class=&invisible&&&/span&&/a&&/p&&p&50. &a href=&http://link.zhihu.com/?target=http%3A//blog.csdn.net/zcsylj/article/details/6532787& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.csdn.net/zcsylj/ar&/span&&span class=&invisible&&ticle/details/6532787&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//www.cnblogs.com/chlde/archive//2741380.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cnblogs.com/chlde/archi&/span&&span class=&invisible&&ve//2741380.html&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&51.52. 53.实操&/p&&p&54. &a href=&http://link.zhihu.com/?target=http%3A//m.blog.csdn.net/blog/yangmm7& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&m.blog.csdn.net/blog/ya&/span&&span class=&invisible&&ngmm7&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&55.实操&/p&&p&56. &a href=&http://link.zhihu.com/?target=http%3A//driftcloudy.iteye.com/blog/782873& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&driftcloudy.iteye.com/b&/span&&span class=&invisible&&log/782873&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&57.实操&/p&&p&58.生成是先P(X,Y)再P(Y|X),判别是P(Y|X)&/p&&p&59.实操&/p&&p&60.LDA提取特征,再用SVM做分类&/p&&p&61.62.63.实操&/p&&p&64.a1与a2值相等,排序完以后两者顺序仍然没变则是稳定排序,稳定排序有插入、冒泡、归并&/p&&p&65.一样&/p&&p&66. &a href=&http://link.zhihu.com/?target=http%3A//blog.csdn.net/zouxy09/article/details/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.csdn.net/zouxy09/a&/span&&span class=&invisible&&rticle/details/&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&67. &a href=&http://link.zhihu.com/?target=http%3A//www.tuicool.com/articles/q6zYrq& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&tuicool.com/articles/q6&/span&&span class=&invisible&&zYrq&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&68. &a href=&http://link.zhihu.com/?target=http%3A//www.cnki.com.cn/Article/CJFDTotal-DNZS.htm& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cnki.com.cn/Article/CJF&/span&&span class=&invisible&&DTotal-DNZS.htm&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&69.实操&/p&&p&70.见19&/p&&p&71.实操&/p&&p&72. K-均值聚类算法、K-中心点聚类算法、CLARANS、 BIRCH、CLIQUE、DBSCAN等&/p&&p&73. &a href=&http://link.zhihu.com/?target=http%3A//m.blog.csdn.net/blog/lavor_zl/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&m.blog.csdn.net/blog/la&/span&&span class=&invisible&&vor_zl/&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&74.75.76.77.实操&/p&&p&78. &a href=&http://link.zhihu.com/?target=http%3A//blog.csdn.net/xiahouzuoxin/article/details/7748823& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.csdn.net/xiahouzuo&/span&&span class=&invisible&&xin/article/details/7748823&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//www.cnblogs.com/guolei/p/3899509.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cnblogs.com/guolei/p/38&/span&&span class=&invisible&&99509.html&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&79. &a href=&http://link.zhihu.com/?target=http%3A//blog.csdn.net/zcsylj/article/details/6802062& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.csdn.net/zcsylj/ar&/span&&span class=&invisible&&ticle/details/6802062&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//www.cnblogs.com/davidluo/articles/k-smallest-element-of-two-sorted-array.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cnblogs.com/davidluo/ar&/span&&span class=&invisible&&ticles/k-smallest-element-of-two-sorted-array.html&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&80. &a href=&http://link.zhihu.com/?target=http%3A//www.doc88.com/p-9.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&doc88.com/p-&/span&&span class=&invisible&&99.html&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&81.实操&/p&&p&82. &a href=&http://link.zhihu.com/?target=http%3A//m.blog.csdn.net/blog/muye5/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&m.blog.csdn.net/blog/mu&/span&&span class=&invisible&&ye5/&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&83.实操&/p&&p&84. &a href=&http://link.zhihu.com/?target=http%3A//bbs.pinggu.org/thread--1.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&bbs.pinggu.org/thread-3&/span&&span class=&invisible&&-1.html&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&85. &a href=&http://link.zhihu.com/?target=http%3A//www.doc88.com/p-7.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&doc88.com/p-&/span&&span class=&invisible&&57.html&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&86. &a href=&http://link.zhihu.com/?target=http%3A//www.docin.com/p-.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&docin.com/p-.&/span&&span class=&invisible&&html&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&87. &/p&&p&88.&a href=&http://link.zhihu.com/?target=http%3A//www.docin.com/p-.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&docin.com/p-.h&/span&&span class=&invisible&&tml&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&89.90.实操&/p&&p&其它:&/p&&p&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&机器学习及大数据相关面试的职责和面试问题(转)&/a&&/p&
本文给到的是相关具体可能会被问及的问题(编程、基础算法、机器学习算法)。从本次关于算法工程师常见的九十个问题大多是各类网站的问题汇总,希望你能从中分析出一些端倪,文末附了部分参考的答案《 机器学习、大数据相关岗位职责及准备(转) 》:
&figure&&img src=&https://pic1.zhimg.com/v2-bb_b.jpg& data-rawwidth=&800& data-rawheight=&530& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic1.zhimg.com/v2-bb_r.jpg&&&/figure&&p&本文的一些问题均基于书本的理论知识较多,真正的有关于深度学习的面试可能更多的会结合&&b&实践&&/b&展开,并最终落到理论部分。希望各位读者不要被我这个误导,这里更多的是偏向于理论知识问题。&/p&&p&&b&下面&/b&有&b&算法&/b&及&b&大数据&/b&相关的《面试》问题&/p&&p&1.&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&机器学习及大数据相关面试的职责和面试问题(转)&/a&&/p&&p&2.&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&如何准备机器学习工程师的面试 ?&/a&&/p&&p&对推荐算法感兴趣的小伙伴可以前往以下链接:&/p&&p&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&推荐算法相关的文档整理&/a&&/p&&p&也欢迎小伙伴们继续补充,可以私信给我,我会加到问题列表里面&/p&&h2&&b&0.关于答案&/b&&/h2&&p&a.由于非常多的小伙伴咨询答案问题,其实很多都可以在&b&bengio和goodfellow的《深度学习》以及simon haykin的《nerual networks and learning machines》&/b&里面找到,但限于每个问题如果展开来讲,篇幅较大,有兴趣的小伙伴可以去查询书籍。&/p&&p&b.如果有小伙伴对其中的问题有所了解,可以在评论区之间回答,方便后续关注的小伙伴的学习。因为书上很多其实是前后关联的,单单一个地方的回答其实只是一部分。&/p&&p&c.重要的事情再申明一下,对某些问题有所了解的&b&欢迎在评论区回复&/b&,或贴出你的&b&回答链接&/b&也可。&/p&&h2&&b&问题&/b&&/h2&&p&1.列举常见的一些范数及其应用场景,如L0,L1,L2,L∞,Frobenius范数&/p&&p&2.简单介绍一下贝叶斯概率与频率派概率,以及在统计中对于真实参数的假设。&/p&&p&3.概率密度的万能近似器&/p&&p&4.简单介绍一下sigmoid,relu,softplus,tanh,RBF及其应用场景&/p&&p&5.Jacobian,Hessian矩阵及其在深度学习中的重要性&/p&&p&6.KL散度在信息论中度量的是那个直观量&/p&&p&7.数值计算中的计算上溢与下溢问题,如softmax中的处理方式&/p&&p&8.与矩阵的特征值相关联的条件数(病态条件)指什么,与梯度爆炸与梯度弥散的关系&/p&&p&9.在基于梯度的优化问题中,如何判断一个梯度为0的零界点为局部极大值/全局极小值还是鞍点,Hessian矩阵的条件数与梯度下降法的关系&/p&&p&10.KTT方法与约束优化问题,活跃约束的定义&/p&&p&11.模型容量,表示容量,有效容量,最优容量概念&/p&&p&12.正则化中的权重衰减与加入先验知识在某些条件下的等价性&/p&&p&13.高斯分布的广泛应用的缘由&/p&&p&14.最大似然估计中最小化KL散度与最小化分布之间的交叉熵的关系&/p&&p&15.在线性回归问题,具有高斯先验权重的MAP贝叶斯推断与权重衰减的关系,与正则化的关系&/p&&p&16.稀疏表示,低维表示,独立表示&/p&&p&17.列举一些无法基于地图的优化来最小化的代价函数及其具有的特点&/p&&p&18.在深度神经网络中,引入了隐藏层,放弃了训练问题的凸性,其意义何在&/p&&p&19.函数在某个区间的饱和与平滑性对基于梯度的学习的影响&/p&&p&20.梯度爆炸的一些解决办法&/p&&p&21.MLP的万能近似性质&/p&&p&22.在前馈网络中,深度与宽度的关系及表示能力的差异&/p&&p&23.为什么交叉熵损失可以提高具有sigmoid和softmax输出的模型的性能,而使用均方误差损失则会存在很多问题。分段线性隐藏层代替sigmoid的利弊&/p&&p&24.表示学习的发展的初衷?并介绍其典型例子:自编码器&/p&&p&25.在做正则化过程中,为什么只对权重做正则惩罚,而不对偏置做权重惩罚&/p&&p&26.在深度学习神经网络中,所有的层中考虑使用相同的权重衰减的利弊&/p&&p&27.正则化过程中,权重衰减与Hessian矩阵中特征值的一些关系,以及与梯度弥散,梯度爆炸的关系&/p&&p&28.L1/L2正则化与高斯先验/对数先验的MAP贝叶斯推断的关系&/p&&p&29.什么是欠约束,为什么大多数的正则化可以使欠约束下的欠定问题在迭代过程中收敛&/p&&p&30.为什么考虑在模型训练时对输入(隐藏单元/权重)添加方差较小的噪声,与正则化的关系&/p&&p&31.共享参数的概念及在深度学习中的广泛影响&/p&&p&32.Dropout与Bagging集成方法的关系,以及Dropout带来的意义与其强大的原因&/p&&p&33.批量梯度下降法更新过程中,批量的大小与各种更新的稳定性关系&/p&&p&34.如何避免深度学习中的病态,鞍点,梯度爆炸,梯度弥散&/p&&p&35.SGD以及学习率的选择方法,带动量的SGD对于Hessian矩阵病态条件及随机梯度方差的影响&/p&&p&36.初始化权重过程中,权重大小在各种网络结构中的影响,以及一些初始化的方法;偏置的初始化&/p&&p&37.自适应学习率算法:AdaGrad,RMSProp,Adam等算法的做法&/p&&p&38.二阶近似方法:牛顿法,共轭梯度,BFGS等的做法&/p&&p&39.Hessian的标准化对于高阶优化算法的意义&/p&&p&40.卷积网络中的平移等变性的原因,常见的一些卷积形式&/p&&p&41.pooling的做法的意义&/p&&p&42.循环神经网络常见的一些依赖循环关系,常见的一些输入输出,以及对应的应用场景&/p&&p&43.seq2seq,gru,lstm等相关的原理&/p&&p&44.采样在深度学习中的意义&/p&&p&45.自编码器与线性因子模型,PCA,ICA等的关系&/p&&p&46.自编码器在深度学习中的意义,以及一些常见的变形与应用&/p&&p&47.受限玻尔兹曼机广泛应用的原因&/p&&p&48.稳定分布与马尔可夫链&/p&&p&49.Gibbs采样的原理&/p&&p&50.配分函数通常难以计算的解决方案&/p&&p&51.几种参数估计的联系与区别:MLE/MAP/贝叶斯&/p&&p&52.半监督的思想以及在深度学习中的应用&/p&&p&53.举例CNN中的channel在不同数据源中的含义&/p&&p&54.深度学习在NLP,语音,图像等领域的应用及常用的一些模型&/p&&p&55.word2vec与glove的比较&/p&&p&56.注意力机制在深度学习的某些场景中为何会被大量使用,其几种不同的情形&/p&&p&57.wide&deep模型中的wide和deep介绍&/p&&p&58.核回归与RBF网络的关系&/p&&p&此处问题很多编者本人也只有一个来自教材书籍的局部认识,望各位批评指正,可以在评论区留下正确全面的回答,共同学习与进步。&/p&&p&59.LSTM结构推导,为什么比RNN好?&/p&&p&60.过拟合在深度学习中的常见的一些解决方案或结构设计&/p&&p&61.怎么理解贝叶斯模型的有效参数数据会根据数据集的规模自动调整&/p&
本文的一些问题均基于书本的理论知识较多,真正的有关于深度学习的面试可能更多的会结合"实践"展开,并最终落到理论部分。希望各位读者不要被我这个误导,这里更多的是偏向于理论知识问题。下面有算法及大数据相关的《面试》问题1.
&figure&&img src=&https://pic2.zhimg.com/v2-1cd337db3a6607abaf9e9ded_b.jpg& data-rawwidth=&1600& data-rawheight=&1200& class=&origin_image zh-lightbox-thumb& width=&1600& data-original=&https://pic2.zhimg.com/v2-1cd337db3a6607abaf9e9ded_r.jpg&&&/figure&&p&&b&选自Google Developers&/b&&/p&&p&&b&机器之心编译&/b&&/p&&blockquote&机器之心曾开放过人工智能术语集 ,该术语库项目目前收集了人工智能领域 700 多个专业术语,但仍需要与各位读者共同完善与修正。本文编译自谷歌开发者机器学习术语表项目,介绍了该项目所有的术语与基本解释。之后,我们也将表内术语更新到了机器之心 GitHub 项目中。本文由浙江大学博士生杨海宏推荐,他的研究方向为知识图谱问答。&/blockquote&&p&机器之心人工智能术语项目:&a href=&https://link.zhihu.com/?target=https%3A//github.com/jiqizhixin/Artificial-Intelligence-Terminology& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/jiqizhixin/A&/span&&span class=&invisible&&rtificial-Intelligence-Terminology&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&&br&&/p&&h2&&b&A&/b&&/h2&&p&&b&准确率(accuracy)&/b&&/p&&p&分类模型预测准确的比例。在多类别分类中,准确率定义如下:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-d1cc1d7e779acbd5bb8f898_b.jpg& data-caption=&& data-rawwidth=&390& data-rawheight=&87& class=&content_image& width=&390&&&/figure&&p&在二分类中,准确率定义为:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-1dd17b8e924fcaf95cccb11_b.jpg& data-caption=&& data-rawwidth=&412& data-rawheight=&76& class=&content_image& width=&412&&&/figure&&p&&b&激活函数(Activation function)&/b&&/p&&p&一种函数(例如 ReLU 或 Sigmoid),将前一层所有神经元激活值的加权和输入到一个非线性函数中,然后向下一层传递该函数的输出值(典型的非线性)。&/p&&p&&b&AdaGrad&/b&&/p&&p&一种复杂的梯度下降算法,重新调节每个参数的梯度,高效地给每个参数一个单独的学习率。详见论文:&a href=&https://link.zhihu.com/?target=http%3A//www.jmlr.org/papers/volume12/duchi11a/duchi11a.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&jmlr.org/papers/volume1&/span&&span class=&invisible&&2/duchi11a/duchi11a.pdf&/span&&span class=&ellipsis&&&/span&&/a&。&/p&&p&&b&AUC(曲线下面积)&/b&&/p&&p&一种考虑到所有可能的分类阈值的评估标准。ROC 曲线下面积代表分类器随机预测真正类(Ture Positives)要比假正类(False Positives)概率大的确信度。&/p&&h2&&b&B&/b&&/h2&&p&&b&反向传播(Backpropagation)&/b&&/p&&p&神经网络中完成梯度下降的重要算法。首先,在前向传播的过程中计算每个节点的输出值。然后,在反向传播的过程中计算与每个参数对应的误差的偏导数。&/p&&p&&b&基线(Baseline)&/b&&/p&&p&被用为对比模型表现参考点的简单模型。基线帮助模型开发者量化模型在特定问题上的预期表现。&/p&&p&&b&批量&/b&&/p&&p&模型训练中一个迭代(指一次梯度更新)使用的样本集。&/p&&p&&b&批量大小(batch size)&/b&&/p&&p&一个批量中样本的数量。例如,SGD 的批量大小为 1,而 mini-batch 的批量大小通常在 10-1000 之间。批量大小通常在训练与推理的过程中确定,然而 TensorFlow 不允许动态批量大小。&/p&&p&&b&偏置(bias)&/b&&/p&&p&与原点的截距或偏移量。偏置(也称偏置项)被称为机器学习模型中的 b 或者 w0。例如,偏置项是以下公式中的 b:y′=b+w_1x_1+w_2x_2+…w_nx_n。&/p&&p&注意不要和预测偏差混淆。&/p&&p&&b&二元分类器(binary classification)&/b&&/p&&p&一类分类任务,输出两个互斥(不相交)类别中的一个。例如,一个评估邮件信息并输出「垃圾邮件」或「非垃圾邮件」的机器学习模型就是一个二元分类器。&/p&&p&&b&binning/bucketing&/b&&/p&&p&根据值的范围将一个连续特征转换成多个称为 buckets 或者 bins 二元特征,称为 buckets 或者 bins。例如,将温度表示为单一的浮点特征,可以将温度范围切割为几个离散的 bins。假如给定的温度的敏感度为十分之一度,那么分布在 0.0 度和 15.0 度之间的温度可以放入一个 bin 中,15.1 度到 30.0 度放入第二个 bin,30.1 度到 45.0 度放入第三个 bin。&/p&&h2&&b&C&/b&&/h2&&p&&b&标定层(calibration layer)&/b&&/p&&p&一种调整后期预测的结构,通常用于解释预测偏差。调整后的预期和概率必须匹配一个观察标签集的分布。&/p&&p&&b&候选采样(candidate sampling)&/b&&/p&&p&一种优化训练时间的,使用 Softmax 等算法计算所有正标签的概率,同时只计算一些随机取样的负标签的概率。例如,有一个样本标记为「小猎兔狗」和「狗」,候选取样将计算预测概率,和与「小猎兔狗」和「狗」类别输出(以及剩余的类别的随机子集,比如「猫」、「棒棒糖」、「栅栏」)相关的损失项。这个想法的思路是,负类别可以通过频率更低的负强化(negative reinforcement)进行学习,而正类别经常能得到适当的正强化,实际观察确实如此。候选取样的动力是计算有效性从所有负类别的非计算预测的得益。&/p&&p&&b&检查点(checkpoint)&/b&&/p&&p&在特定的时刻标记模型的变量的状态的数据。检查点允许输出模型的权重,也允许通过多个阶段训练模型。检查点还允许跳过错误继续进行(例如,抢占作业)。注意其自身的图式并不包含于检查点内。&/p&&p&&b&类别(class)&/b&&/p&&p&所有同类属性的目标值作为一个标签。例如,在一个检测垃圾邮件的二元分类模型中,这两个类别分别是垃圾邮件和非垃圾邮件。而一个多类别分类模型将区分狗的种类,其中的类别可以是贵宾狗、小猎兔狗、哈巴狗等等。&/p&&p&&b&类别不平衡数据集(class-imbalanced data set)&/b&&/p&&p&这是一个二元分类问题,其中两个类别的标签的分布频率有很大的差异。比如,一个疾病数据集中若 0.01% 的样本有正标签,而 99.99% 的样本有负标签,那么这就是一个类别不平衡数据集。但对于一个足球比赛预测器数据集,若其中 51% 的样本标记一队胜利,而 49% 的样本标记其它队伍胜利,那么这就不是一个类别不平衡数据集。&/p&&p&&b&分类模型(classification)&/b&&/p&&p&机器学习模型的一种,将数据分离为两个或多个离散类别。例如,一个自然语言处理分类模型可以将一句话归类为法语、西班牙语或意大利语。分类模型与回归模型(regression model)成对比。&/p&&p&&b&分类阈值(classification threshold)&/b&&/p&&p&应用于模型的预测分数以分离正类别和负类别的一种标量值标准。当需要将 logistic 回归的结果映射到二元分类模型中时就需要使用分类阈值。例如,考虑一个确定给定邮件为垃圾邮件的概率的 logistic 回归模型,如果分类阈值是 0.9,那么 logistic 回归值在 0.9 以上的被归为垃圾邮件,而在 0.9 以下的被归为非垃圾邮件。&/p&&p&&b&混淆矩阵(confusion matrix)&/b&&/p&&p&总结分类模型的预测结果的表现水平(即,标签和模型分类的匹配程度)的 NxN 表格。混淆矩阵的一个轴列出模型预测的标签,另一个轴列出实际的标签。N 表示类别的数量。在一个二元分类模型中,N=2。例如,以下为一个二元分类问题的简单的混淆矩阵:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-c7eb2a2fdb3d8ca47e4aa04c81d3aeb7_b.jpg& data-caption=&& data-rawwidth=&640& data-rawheight=&107& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-c7eb2a2fdb3d8ca47e4aa04c81d3aeb7_r.jpg&&&/figure&&p&上述混淆矩阵展示了在 19 个确实为肿瘤的样本中,有 18 个被模型正确的归类(18 个真正),有 1 个被错误的归类为非肿瘤(1 个假负类)。类似的,在 458 个确实为非肿瘤的样本中,有 452 个被模型正确的归类(452 个真负类),有 6 个被错误的归类(6 个假正类)。&/p&&p&多类别分类的混淆矩阵可以帮助发现错误出现的模式。例如,一个混淆矩阵揭示了一个识别手写数字体的模型倾向于将 4 识别为 9,或者将 7 识别为 1。混淆矩阵包含了足够多的信息可以计算很多的模型表现度量,比如精度(precision)和召回(recall)率。&/p&&p&&b&连续特征(continuous feature)&/b&&/p&&p&拥有无限个取值点的浮点特征。和离散特征(discrete feature)相反。&/p&&p&&b&收敛(convergence)&/b&&/p&&p&训练过程达到的某种状态,其中训练损失和验证损失在经过了确定的迭代次数后,在每一次迭代中,改变很小或完全不变。换句话说就是,当对当前数据继续训练而无法再提升模型的表现水平的时候,就称模型已经收敛。在深度学习中,损失值下降之前,有时候经过多次迭代仍保持常量或者接近常量,会造成模型已经收敛的错觉。&/p&&p&&b&凸函数(concex function)&/b&&/p&&p&一种形状大致呈字母 U 形或碗形的函数。然而,在退化情形中,凸函数的形状就像一条线。例如,以下几个函数都是凸函数:&/p&&ul&&li&L2 损失函数&/li&&li&Log 损失函数&/li&&li&L1 正则化函数&/li&&li&L2 正则化函数&/li&&/ul&&p&凸函数是很常用的损失函数。因为当一个函数有最小值的时候(通常就是这样),梯度下降的各种变化都能保证找到接近函数最小值的点。类似的,随机梯度下降的各种变化有很大的概率(虽然无法保证)找到接近函数最小值的点。&/p&&p&两个凸函数相加(比如,L2 损失函数+L1 正则化函数)后仍然是凸函数。&/p&&p&深度模型通常是非凸的。出乎意料的是,以凸优化的形式设计的算法通常都能在深度网络上工作的很好,虽然很少能找到最小值。&/p&&p&&b&成本(cost)&/b&&/p&&p&loss 的同义词。&/p&&p&&b&交叉熵(cross-entropy)&/b&&/p&&p&多类别分类问题中对 Log 损失函数的推广。交叉熵量化两个概率分布之间的区别。参见困惑度(perplexity)。&/p&&h2&&b&D&/b&&/h2&&p&&b&数据集(data set)&/b&&/p&&p&样本的集合。&/p&&p&&b&决策边界(decision boundary)&/b&&/p&&p&在一个二元分类或多类别分类问题中模型学习的类别之间的分离器。例如,下图就展示了一个二元分类问题,决策边界即橙点类和蓝点类的边界。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-fafabb87e540a3b901dce68e_b.jpg& data-caption=&& data-rawwidth=&208& data-rawheight=&208& class=&content_image& width=&208&&&/figure&&p&&b&深度模型(deep model)&/b&&/p&&p&一种包含多个隐藏层的神经网络。深度模型依赖于其可训练的非线性性质。和宽度模型对照(wide model)。&/p&&p&&b&密集特征(dense feature)&/b&&/p&&p&大多数取值为非零的一种特征,通常用取浮点值的张量(tensor)表示。和稀疏特征(sparse feature)相反。&/p&&p&&b&派生特征(derived feature)&/b&&/p&&p&合成特征(synthetic feature)的同义词。&/p&&p&&b&离散特征(discrete feature)&/b&&/p&&p&只有有限个可能取值的一种特征。例如,一个取值只包括动物、蔬菜或矿物的特征就是离散(或类别)特征。和连续特征(continuous feature)对照。&/p&&p&&b&dropout 正则化(dropout regularization)&/b&&/p&&p&训练神经网络时一种有用的正则化方法。dropout 正则化的过程是在单次梯度计算中删去一层网络中随机选取的固定数量的单元。删去的单元越多,正则化越强。&/p&&p&&b&动态模型(dynamic model)&/b&&/p&&p&以连续更新的方式在线训练的模型。即数据连续不断的输入模型。&/p&&h2&&b&E&/b&&/h2&&p&&b&早期停止法(early stopping)&/b&&/p&&p&一种正则化方法,在训练损失完成下降之前停止模型训练过程。当验证数据集(validation data set)的损失开始上升的时候,即泛化表现变差的时候,就该使用早期停止法了。&/p&&p&&b&嵌入(embeddings)&/b&&/p&&p&一类表示为连续值特征的明确的特征。嵌入通常指将高维向量转换到低维空间中。例如,将一个英语句子中的单词以以下任何一种方式表示:&/p&&ul&&li&拥有百万数量级(高维)的元素的稀疏向量,其中所有的元素都是整数。向量的每一个单元表示一个单独的英语单词,单元中的数字表示该单词在一个句子中出现的次数。由于一个句子中的单词通常不会超过 50 个,向量中几乎所有的单元都是 0。少量的非零的单元将取一个小的整数值(通常为 1)表示句子中一个单词的出现次数。&/li&&li&拥有数百个(低维)元素的密集向量,其中每一个元素取 0 到 1 之间的浮点数。&/li&&/ul&&p&在 TensorFlow 中,嵌入是通过反向传播损失训练的,正如神经网络的其它参量一样。&/p&&p&&b&经验风险最小化(empirical risk minimization,ERM)&/b&&/p&&p&选择能最小化训练数据的损失的模型函数的过程。和结构风险最小化(structual risk minimization)对照。&/p&&p&&b&集成(ensemble)&/b&&/p&&p&多个模型预测的综合考虑。可以通过以下一种或几种方法创建一个集成方法:&/p&&ul&&li&设置不同的初始化;&/li&&li&设置不同的超参量;&/li&&li&设置不同的总体结构。&/li&&/ul&&p&深度和广度模型是一种集成。&/p&&p&&b&评估器(Estimator)&/b&&/p&&p&tf.Estimator 类的一个例子,封装 logic 以建立一个 TensorFlow 图并运行一个 TensorFlow session。你可以通过以下方式创建自己的评估器:&a href=&https://link.zhihu.com/?target=https%3A//www.tensorflow.org/extend/estimators& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&tensorflow.org/extend/e&/span&&span class=&invisible&&stimators&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&b&样本(example)&/b&&/p&&p&一个数据集的一行内容。一个样本包含了一个或多个特征,也可能是一个标签。参见标注样本(labeled example)和无标注样本(unlabeled example)。&/p&&h2&&b&F&/b&&/h2&&p&&b&假负类(false negative,FN)&/b&&/p&&p&被模型错误的预测为负类的样本。例如,模型推断一封邮件为非垃圾邮件(负类),但实际上这封邮件是垃圾邮件。&/p&&p&&b&假正类(false positive,FP)&/b&&/p&&p&被模型错误的预测为正类的样本。例如,模型推断一封邮件为垃圾邮件(正类),但实际上这封邮件是非垃圾邮件。&/p&&p&&b&假正类率(false positive rate,FP rate)&/b&&/p&&p&ROC 曲线(ROC curve)中的 x 轴。FP 率的定义是:假正率=假正类数/(假正类数+真负类数)&/p&&p&&b&特征(feature)&/b&&/p&&p&输入变量,用于做出预测。&/p&&p&&b&特征列(feature columns/FeatureColumn)&/b&&/p&&p&具有相关性的特征的集合,比如用户可能居住的所有可能的国家的集合。一个样本的一个特征列中可能会有一个或者多个特征。&/p&&p&TensorFlow 中的特征列还可以压缩元数据比如下列情况:&/p&&ul&&li&特征的数据类型;&/li&&li&一个特征是固定长度的或应该转换为嵌入。&/li&&li&一个特征列可以仅包含一个特征。「特征列」是谷歌专用的术语。在 VW 系统(Yahoo/Microsoft)中特征列的意义是「命名空间」(namespace),或者场(field)。&/li&&/ul&&p&&b&特征交叉(feature cross)&/b&&/p&&p&将特征进行交叉(乘积或者笛卡尔乘积)运算后得到的合成特征。特征交叉有助于表示非线性关系。&/p&&p&&b&特征工程(feature engineering)&/b&&/p&&p&在训练模型的时候,决定哪些特征是有用的,然后将记录文件和其它来源的原始数据转换成上述特征的过程。在 TensorFlow 中特征工程通常意味着将原始记录文件输入 tf.Example 协议缓存中。参见 tf.Transform。特征工程有时候也称为特征提取。&/p&&p&&b&特征集(feature set)&/b&&/p&&p&机器学习模型训练的时候使用的特征群。比如,邮政编码,面积要求和物业状况可以组成一个简单的特征集,使模型能预测房价。&/p&&p&&b&特征定义(feature spec)&/b&&/p&&p&描述所需的信息从 tf.Example 协议缓存中提取特征数据。因为 tf.Example 协议缓存只是数据的容器,必须明确以下信息:&/p&&ul&&li&需要提取的数据(即特征的关键信息)&/li&&li&数据类型(比如,浮点数还是整数)&/li&&li&数据长度(固定的或者变化的)&/li&&/ul&&p&Estimator API 提供了从一群特征列中生成一个特征定义的工具。&/p&&p&&b&完全 softmax(full softmax)&/b&&/p&&p&参见 softmax。和候选采样对照。&/p&&h2&&b&G&/b&&/h2&&p&&b&泛化(generalization)&/b&&/p&&p&指模型利用新的没见过的数据而不是用于训练的数据作出正确的预测的能力。&/p&&p&&b&广义线性模型(generalized linear model)&/b&&/p&&p&最小二乘回归模型的推广/泛化,基于高斯噪声,相对于其它类型的模型(基于其它类型的噪声,比如泊松噪声,或类别噪声)。广义线性模型的例子包括:&/p&&ul&&li&logistic 回归&/li&&li&多分类回归&/li&&li&最小二乘回归&/li&&/ul&&p&广义线性模型的参数可以通过凸优化得到,它具有以下性质:&/p&&ul&&li&最理想的最小二乘回归模型的平均预测结果等于训练数据的平均标签。&/li&&li&最理想的 logistic 回归模型的平均概率的预测结果等于训练数据的平均标签。&/li&&/ul&&p&广义线性模型的能力局限于其特征的性质。和深度模型不同,一个广义线性模型无法「学习新的特征」。&/p&&p&&b&梯度(gradient)&/b&&/p&&p&所有变量的偏导数的向量。在机器学习中,梯度是模型函数的偏导数向量。梯度指向最陡峭的上升路线。&/p&&p&&b&梯度截断(gradient clipping)&/b&&/p&&p&在应用梯度之前先修饰数值,梯度截断有助于确保数值稳定性,防止梯度爆炸出现。&/p&&p&&b&梯度下降(gradient descent)&/b&&/p&&p&通过计算模型的相关参量和损失函数的梯度最小化损失函数,值取决于训练数据。梯度下降迭代地调整参量,逐渐靠近权重和偏置的最佳组合,从而最小化损失函数。&/p&&p&&b&图(graph)&/b&&/p&&p&在 TensorFlow 中的一种计算过程展示。图中的节点表示操作。节点的连线是有指向性的,表示传递一个操作(一个张量)的结果(作为一个操作数)给另一个操作。使用 TensorBoard 能可视化计算图。&/p&&h2&&b&H&/b&&/h2&&p&&b&启发式(heuristic)&/b&&/p&&p&一个问题的实际的和非最优的解,但能从学习经验中获得足够多的进步。&/p&&p&&b&隐藏层(hidden layer)&/b&&/p&&p&神经网络中位于输入层(即特征)和输出层(即预测)之间的合成层。一个神经网络包含一个或多个隐藏层。&/p&&p&&b&折页损失函数(Hinge loss)&/b&&/p&&p&损失函数的一个类型,用于分类模型以寻找距离每个样本的距离最大的决策边界,即最大化样本和边界之间的边缘。KSVMs 使用 hinge 损失函数(或相关的函数,比如平方 hinge 函数)。在二元分类中,hinge 损失函数按以下方式定义:&/p&&blockquote&loss=max(0,1-(y′*y))&/blockquote&&p&其中 y'是分类器模型的列输出:&/p&&blockquote&y′=b+w_1x_1+w_2x_2+…w_nx_n&/blockquote&&p&y 是真实的标签,-1 或+1。&/p&&p&因此,hinge 损失将是下图所示的样子:&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-80aa26aabfd64b8007a1_b.jpg& data-caption=&& data-rawwidth=&640& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-80aa26aabfd64b8007a1_r.jpg&&&/figure&&p&&b&测试数据(holdout data)&/b&&/p&&p&有意不用于训练的样本。验证数据集(validation data set)和测试数据集(test data set)是测试数据(holdout data)的两个例子。测试数据帮助评估模型泛化到除了训练数据之外的数据的能力。测试集的损失比训练集的损失提供了对未知数据集的损失更好的估计。&/p&&p&&b&超参数(hyperparameter)&/b&&/p&&p&连续训练模型的过程中可以拧动的「旋钮」。例如,相对于模型自动更新的参数,学习率(learning rate)是一个超参数。和参量对照。&/p&&h2&&b&I&/b&&/h2&&p&&b&独立同分布(independently and identically distributed,i.i.d)&/b&&/p&&p&从不会改变的分布中获取的数据,且获取的每个值不依赖于之前获取的值。i.i.d. 是机器学习的理想情况——一种有用但在现实世界中几乎找不到的数学构建。例如,网页访客的分布可能是短暂时间窗口上的 i.i.d;即分布不会在该时间窗口发生改变,每个人的访问都与其他人的访问独立。但是,如果你扩展了时间窗口,则会出现网页访客的季节性差异。&/p&&p&&b&推断(inference)&/b&&/p&&p&在机器学习中,通常指将训练模型应用到无标注样本来进行预测的过程。在统计学中,推断指在观察到的数据的基础上拟合分布参数的过程。&/p&&p&输入层(input layer)&/p&&p&神经网络的第一层(接收输入数据)。&/p&&p&&b&评分者间一致性(inter-rater agreement)&/b&&/p&&p&用来衡量一项任务中人类评分者意见一致的指标。如果意见不一致,则任务说明可能需要改进。有时也叫标注者间信度(inter-annotator agreement)或评分者间信度(inter-rater reliability)。&/p&&h2&&b&K&/b&&/h2&&p&&b&Kernel 支持向量机(Kernel Support Vector Machines/KSVM)&/b&&/p&&p&一种分类算法,旨在通过将输入数据向量映射到更高维度的空间使正类和负类之间的边际最大化。例如,考虑一个输入数据集包含一百个特征的分类问题。为了使正类和负类之间的间隔最大化,KSVM 从内部将特征映射到百万维度的空间。KSVM 使用的损失函数叫作 hinge 损失。&/p&&h2&&b&L&/b&&/h2&&p&&b&L1 损失函数(L1 loss)&/b&&/p&&p&损失函数基于模型对标签的预测值和真实值的差的绝对值而定义。L1 损失函数比起 L2 损失函数对异常值的敏感度更小。&/p&&p&&b&L1 正则化(L1 regularization)&/b&&/p&&p&一种正则化,按照权重绝对值总和的比例进行惩罚。在依赖稀疏特征的模型中,L1 正则化帮助促使(几乎)不相关的特征的权重趋近于 0,从而从模型中移除这些特征。&/p&&p&&b&L2 损失(L2 loss)&/b&&/p&&p&参见平方损失。&/p&&p&&b&L2 正则化(L2 regularization)&/b&&/p&&p&一种正则化,按照权重平方的总和的比例进行惩罚。L2 正则化帮助促使异常值权重更接近 0 而不趋近于 0。(可与 L1 正则化对照阅读。)L2 正则化通常改善线性模型的泛化效果。&/p&&p&&b&标签(label)&/b&&/p&&p&在监督式学习中,样本的「答案」或「结果」。标注数据集中的每个样本包含一或多个特征和一个标签。比如,在房屋数据集中,特征可能包括卧室数量、卫生间数量、房龄,而标签可能就是房子的价格。在垃圾邮件检测数据集中,特征可能包括主题、发出者何邮件本身,而标签可能是「垃圾邮件」或「非垃圾邮件」。&/p&&p&&b&标注样本(labeled example)&/b&&/p&&p&包含特征和标签的样本。在监督式训练中,模型从标注样本中进行学习。&/p&&p&&b&lambda&/b&&/p&&p&正则化率的同义词。(该术语有多种含义。这里,我们主要关注正则化中的定义。)&/p&&p&&b&层(layer)&/b&&/p&&p&神经网络中的神经元序列,可以处理输入特征序列或神经元的输出。&/p&&p&它也是 TensorFlow 的一种抽象化概念。层是将张量和配置选项作为输入、输出其他张量的 Python 函数。一旦必要的张量出现,用户就可以通过模型函数将结果转换成估计器。&/p&&p&&b&学习率(learning rate)&/b&&/p&&p&通过梯度下降训练模型时使用的一个标量。每次迭代中,梯度下降算法使学习率乘以梯度,乘积叫作 gradient step。&/p&&p&学习率是一个重要的超参数。&/p&&p&&b&最小二乘回归(least squares regression)&/b&&/p&&p&通过 L2 损失最小化进行训练的线性回归模型。&/p&&p&&b&线性回归(linear regression)&/b&&/p&&p&对输入特征的线性连接输出连续值的一种回归模型。&/p&&p&&b&logistic 回归(logistic regression)&/b&&/p&&p&将 sigmoid 函数应用于线性预测,在分类问题中为每个可能的离散标签值生成概率的模型。尽管 logistic 回归常用于二元分类问题,但它也用于多类别分类问题(这种情况下,logistic 回归叫作「多类别 logistic 回归」或「多项式 回归」。&/p&&p&&b&对数损失函数(Log Loss)&/b&&/p&&p&二元 logistic 回归模型中使用的损失函数。&/p&&p&&b&损失&/b&&/p&&p&度量模型预测与标签距离的指标,它是度量一个模型有多糟糕的指标。为了确定损失值,模型必须定义损失函数。例如,线性回归模型通常使用均方差作为损失函数,而 logistic 回归模型使用对数损失函数。&/p&&h2&&b&M&/b&&/h2&&p&&b&机器学习(machine learning)&/b&&/p&&p&利用输入数据构建(训练)预测模型的项目或系统。该系统使用学习的模型对与训练数据相同分布的新数据进行有用的预测。机器学习还指与这些项目或系统相关的研究领域。&/p&&p&&b&均方误差(Mean Squared Error/MSE)&/b&&/p&&p&每个样本的平均平方损失。MSE 可以通过平方损失除以样本数量来计算。TensorFlow Playground 展示「训练损失」和「测试损失」的值是 MSE。&/p&&p&&b&小批量(mini-batch)&/b&&/p&&p&在训练或推断的一个迭代中运行的整批样本的一个小的随机选择的子集。小批量的大小通常在 10 到 1000 之间。在小批量数据上计算损失比在全部训练数据上计算损失要高效的多。&/p&&p&&b&小批量随机梯度下降(mini-batch stochastic gradient descent)&/b&&/p&&p&使用小批量的梯度下降算法。也就是,小批量随机梯度下降基于训练数据的子集对 梯度进行评估。Vanilla SGD 使用 size 为 1 的小批量。&/p&&p&&b&模型(model)&/b&&/p&&p&机器学习系统从训练数据中所学内容的表示。该术语有多个含义,包括以下两个相关含义:&/p&&ul&&li&TensorFlow 图,显示如何计算预测的结构。&/li&&li&TensorFlow 图的特定权重和偏差,由训练决定。&/li&&/ul&&p&&b&模型训练(model training)&/b&&/p&&p&确定最佳模型的过程。&/p&&p&&b&动量(Momentum)&/b&&/p&&p&一种复杂的梯度下降算法,其中的学习步不只依赖于当前步的导数,还依赖于先于它的步。动量包括随着时间计算梯度的指数加权移动平均数,类似于物理学中的动量。动量有时可以阻止学习陷于局部最小值。&/p&&p&&b&多类别(multi-class)&/b&&/p&&p&在多于两类的类别中进行分类的分类问题。例如,有约 128 种枫树,那么分类枫树品种的模型就是多类别的。反之,把电子邮件分成两个类别(垃圾邮件和非垃圾邮件)的模型是二元分类器模型。&/p&&h2&&b&N&/b&&/h2&&p&&b&NaN trap&/b&&/p&&p&训练过程中,如果模型中的一个数字变成了 NaN,则模型中的很多或所有其他数字最终都变成 NaN。NaN 是「Not a Number」的缩写。&/p&&p&&b&负类(negative class)&/b&&/p&&p&在二元分类中,一个类别是正类,另外一个是负类。正类就是我们要找的目标,负类是另外一种可能性。例如,医疗测试中的负类可能是「非肿瘤」,电子邮件分类器中的负类可能是「非垃圾邮件」。&/p&&p&&b&神经网络(neural network)&/b&&/p&&p&该模型从大脑中获取灵感,由多个层组成(其中至少有一个是隐藏层),每个层包含简单的连接单元或神经元,其后是非线性。&/p&&p&&b&神经元(neuron)&/b&&/p&&p&神经网络中的节点,通常输入多个值,生成一个输出值。神经元通过将激活函数(非线性转换)应用到输入值的加权和来计算输出值。&/p&&p&&b&归一化(normalization)&/b&&/p&&p&将值的实际区间转化为标准区间的过程,标准区间通常是-1 到+1 或 0 到 1。例如,假设某个特征的自然区间是 800 到 6000。通过减法和分割,你可以把那些值标准化到区间-1 到+1。参见缩放。&/p&&p&&b&numpy&/b&&/p&&p&Python 中提供高效数组运算的开源数学库。pandas 基于 numpy 构建。&/p&&h2&&b&O&/b&&/h2&&p&&b&目标(objective)&/b&&/p&&p&算法尝试优化的目标函数。&/p&&p&&b&离线推断(offline inference)&/b&&/p&&p&生成一组预测并存储,然后按需检索那些预测。可与在线推断对照阅读。&/p&&p&&b&one-hot 编码(one-hot encoding)&/b&&/p&&p&一个稀疏向量,其中:&/p&&ul&&li&一个元素设置为 1。&/li&&li&所有其他的元素设置为 0。&/li&&/ul&&p&独热编码常用于表示有有限可能值集合的字符串或标识符。例如,假设一个记录了 15000 个不同品种的植物数据集,每一个用独特的字符串标识符来表示。作为特征工程的一部分,你可能将那些字符串标识符进行独热编码,每个向量的大小为 15000。&/p&&p&&b&一对多(one-vs.-all)&/b&&/p&&p&给出一个有 N 个可能解决方案的分类问题,一对多解决方案包括 N 个独立的二元分类器——每个可能的结果都有一个二元分类器。例如,一个模型将样本分为动物、蔬菜或矿物,则一对多的解决方案将提供以下三种独立的二元分类器:&/p&&ul&&li&动物和非动物&/li&&li&蔬菜和非蔬菜&/li&&li&矿物和非矿物&/li&&/ul&&p&&b&在线推断(online inference)&/b&&/p&&p&按需生成预测。可与离线推断对照阅读。&/p&&p&&b&运算(Operation/op)&/b&&/p&&p&TensorFlow 图中的一个节点。在 TensorFlow 中,任何创建、控制或损坏张量的步骤都是运算。例如,矩阵乘法是一个把两个张量作为输入、生成一个张量作为输出的运算。&/p&&p&&b&优化器(optimizer)&/b&&/p&&p&梯度下降算法的特定实现。TensorFlow 的基类优化器是 tf.train.Optimizer。不同的优化器(tf.train.Optimizer 的子类)对应不同的概念,如:&/p&&ul&&li&动量(Momentum)&/li&&li&更新频率(AdaGrad = ADAptive GRADient descent;Adam = ADAptive with Momentum;RMSProp)&/li&&li&稀疏性/正则化(Ftrl)&/li&&li&更复杂的数学(Proximal 及其他)&/li&&/ul&&p&你甚至可以想象 NN-driven optimizer。&/p&&p&&b&异常值(outlier)&/b&&/p&&p&与大多数值差别很大的值。在机器学习中,下列都是异常值:&/p&&ul&&li&高绝对值的权重。&/li&&li&与实际值差距过大的预测值。&/li&&li&比平均值多大约 3 个标准差的输入数据的值。&/li&&/ul&&p&异常值往往使模型训练中出现问题。&/p&&p&&b&输出层(output layer)&/b&&/p&&p&神经网络的「最后」一层。这一层包含整个·模型所寻求的答案。&/p&&p&&b&过拟合(overfitting)&/b&&/p&&p&创建的模型与训练数据非常匹配,以至于模型无法对新数据进行正确的预测。&/p&&h2&&b&P&/b&&/h2&&p&&b&pandas&/b&&/p&&p&一种基于列的数据分析 API。很多机器学习框架,包括 TensorFlow,支持 pandas 数据结构作为输入。参见 pandas 文档。&/p&&p&&b&参数(parameter)&/b&&/p&&p&机器学习系统自行训练的模型的变量。例如,权重是参数,它的值是机器学习系统通过连续的训练迭代逐渐学习到的。可与超参数对照阅读。&/p&&p&&b&参数服务器(Parameter Server/PS)&/b&&/p&&p&用于在分布式设置中跟踪模型参数。&/p&&p&&b&参数更新(parameter update)&/b&&/p&&p&在训练过程中调整模型参数的操作,通常在梯度下降的单个迭代中进行。&/p&&p&&b&偏导数(partial derivative)&/b&&/p&&p&一个多变量函数的偏导数是它关于其中一个变量的导数,而保持其他变量恒定。例如,f(x, y) 对于 x 的偏导数就是 f(x) 的导数,y 保持恒定。x 的偏导数中只有 x 是变化的,公式中其他的变量都不用变化。&/p&&p&&b&分区策略(partitioning strategy)&/b&&/p&&p&在多个参数服务器中分割变量的算法。&/p&&p&&b&性能(performance)&/b&&/p&&p&具有多种含义:&/p&&ul&&li&在软件工程中的传统含义:软件运行速度有多快/高效?&/li&&li&在机器学习中的含义:模型的准确率如何?即,模型的预测结果有多好?&/li&&/ul&&p&&b&困惑度(perplexity)&/b&&/p&&p&对模型完成任务的程度的一种度量指标。例如,假设你的任务是阅读用户在智能手机上输入的单词的头几个字母,并提供可能的完整单词列表。该任务的困惑度(perplexity,P)是为了列出包含用户实际想输入单词的列表你需要进行的猜测数量。&/p&&p&困惑度和交叉熵的关系如下:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f5f81a04e790d2e65ecbbd50f8c72a11_b.jpg& data-caption=&& data-rawwidth=&320& data-rawheight=&68& class=&content_image& width=&320&&&/figure&&p&&b&流程(pipeline)&/b&&/p&&p&机器学习算法的基础架构。管道包括收集数据、将数据放入训练数据文件中、训练一或多个模型,以及最终输出模型。&/p&&p&&b&正类(positive class)&/b&&/p&&p&在二元分类中,有两种类别:正类和负类。正类是我们测试的目标。(不过必须承认,我们同时测试两种结果,但其中一种不是重点。)例如,医疗测试中正类可能是「肿瘤」,电子邮件分类器中的正类可能是「垃圾邮件」。可与负类对照阅读。&/p&&p&&b&精度(precision)&/b&&/p&&p&分类模型的一种指标。准确率指模型预测正类时预测正确的频率。即:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f5d6fef3c5f9e1_b.jpg& data-caption=&& data-rawwidth=&640& data-rawheight=&93& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-f5d6fef3c5f9e1_r.jpg&&&/figure&&p&&b&预测(prediction)&/b&&/p&&p&模型在输入样本后的输出结果。&/p&&p&&b&预测偏差(prediction bias)&/b&&/p&&p&揭示预测的平均值与数据集中标签的平均值的差距。&/p&&p&&b&预制评估器(pre-made Estimator)&/b&&/p&&p&已经构建好的评估器。TensorFlow 提供多个预制评估器,包括 DNNClassifier、DNNRegressor 和 LinearClassifier。你可以根据指导(&a href=&https://link.zhihu.com/?target=https%3A//www.tensorflow.org/extend/estimators& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&tensorflow.org/extend/e&/span&&span class=&invisible&&stimators&/span&&span class=&ellipsis&&&/span&&/a&)构建自己的预制评估器。&/p&&p&&b&预训练模型(pre-trained model)&/b&&/p&&p&已经训练好的模型或模型组件(如嵌入)。有时,你将预训练嵌入馈送至神经网络。其他时候,你的模型自行训练嵌入,而不是依赖于预训练嵌入。&/p&&p&&b&先验信念(prior belief)&/b&&/p&&p&训练开始之前你对数据的信念。例如,L2 正则化依赖于权重值很小且正常分布在 0 周围的信念。&/p&&h2&&b&Q&/b&&/h2&&p&&b&队列(queue)&/b&&/p&&p&实现队列数据结构的 TensorFlow 操作。通常在输入/输出(I/O)中使用。&/p&&h2&&b&R&/b&&/h2&&p&&b&秩(rank)&/b&&/p&&p&机器学习领域中包含多种含义的术语:&/p&&ul&&li&张量中的维度数量。比如,标量有 1 个秩,向量有 1 个秩,矩阵有 2 个秩。(注:在这个词汇表中,「秩」的概念和线性代数中「秩」的概念不一样,例如三阶可逆矩阵的秩为 3。)&/li&&li&机器学习问题中类别的序数位置,按从高到低的顺序给类别分类。比如,行为排序系统可以把狗的奖励按从高(牛排)到低(甘蓝)排序。&/li&&/ul&&p&&b&评分者(rater)&/b&&/p&&p&为样本提供标签的人,有时也叫「标注者」。&/p&&p&&b&召回率(recall)&/b&&/p&&p&分类模型的一个指标,可以回答这个问题:模型能够准确识别多少正标签?即:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-b52d5e60e5dcaeaebcf13_b.jpg& data-caption=&& data-rawwidth=&640& data-rawheight=&110& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-b52d5e60e5dcaeaebcf13_r.jpg&&&/figure&&p&&b&修正线性单元(Rectified Linear Unit/ReLU)&/b&&/p&&p&一种具备以下规则的激活函数:&/p&&ul&&li&如果输入为负或零,则输出为 0。&/li&&li&如果输入为正,则输出与输入相同。&/li&&/ul&&p&&b&回归模型(regression model)&/b&&/p&&p&一种输出持续值(通常是浮点数)的模型。而分类模型输出的是离散值,如「day lily」或「tiger lily」。&/p&&p&&b&正则化(regularization)&/b&&/p&&p&对模型复杂度的惩罚。正则化帮助防止过拟合。正则化包括不同种类:&/p&&ul&&li&L1 正则化&/li&&li&L2 正则化&/li&&li&dropout 正则化&/li&&li&early stopping(这不是正式的正则化方法,但可以高效限制过拟合)&/li&&/ul&&p&&b&正则化率(regularization rate)&/b&&/p&&p&一种标量级,用 lambda 来表示,指正则函数的相对重要性。从下面这个简化的损失公式可以看出正则化率的作用:&/p&&blockquote&minimize(loss function + λ(regularization function))&/blockquote&&p&提高正则化率能够降低过拟合,但可能会使模型准确率降低。&/p&&p&&b&表征&/b&&/p&&p&将数据映射到有用特征的过程。&/p&&p&&b&受试者工作特征曲线(receiver operating characteristic/ROC Curve)&/b&&/p&&p&反映在不同的分类阈值上,真正类率和假正类率的比值的曲线。参见 AUC。&/p&&p&&b&根目录(root directory)&/b&&/p&&p&指定放置 TensorFlow 检查点文件子目录和多个模型的事件文件的目录。&/p&&p&&b&均方根误差(Root Mean Squared Error/RMSE)&/b&&/p&&p&均方误差的平方根。&/p&&h2&&b&S&/b&&/h2&&p&&b&Saver&/b&&/p&&p&负责存储模型检查点文件的 TensorFlow 对象。&/p&&p&&b&缩放(scaling)&/b&&/p&&p&特征工程中常用的操作,用于控制特征值区间,使之与数据集中其他特征的区间匹配。例如,假设你想使数据集中所有的浮点特征的区间为 0 到 1。给定一个特征区间是 0 到 500,那么你可以通过将每个值除以 500,缩放特征值区间。还可参见正则化。&/p&&p&&b&scikit-learn&/b&&/p&&p&一种流行的开源机器学习平台。网址:&a href=&https://link.zhihu.com/?target=http%3A//www.scikit-learn.org& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&scikit-learn.org&/span&&span class=&invisible&&&/span&&/a&&/p&&p&&b&序列模型(sequence model)&/b&&/p&&p&输入具有序列依赖性的模型。例如,根据之前观看过的视频序列对下一个视频进行预测。&/p&&p&&b&会话(session)&/b&&/p&&p&保持 TensorFlow 程序的状态(如变量)。&/p&&p&&b&Sigmoid 函数(sigmoid function)&/b&&/p&&p&把 logistic 或多项式回归输出(对数几率)映射到概率的函数,返回的值在 0 到 1 之间。sigmoid 函数的公式如下:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-fc58ddcf3f7d5c56ddf0e4_b.jpg& data-caption=&& data-rawwidth=&260& data-rawheight=&110& class=&content_image& width=&260&&&/figure&&p&其中σ在 logistic 回归问题中只是简单的:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-fbba4edff0ab228ad32caa_b.jpg& data-caption=&& data-rawwidth=&588& data-rawheight=&58& class=&origin_image zh-lightbox-thumb& width=&588& data-original=&https://pic1.zhimg.com/v2-fbba4edff0ab228ad32caa_r.jpg&&&/figure&&p&在有些神经网络中,sigmoid 函数和激活函数一样。&/p&&p&&b&softmax&/b&&/p&&p&为多类别分类模型中每个可能的类提供概率的函数。概率加起来的总和是 1.0。例如,softmax 可能检测到某个图像是一只狗的概率为 0.9,是一只猫的概率为 0.08,是一匹马的概率为 0.02。(也叫作 full softmax)。&/p&&p&&b&稀疏特征(sparse feature)&/b&&/p&&p&值主要为 0 或空的特征向量。比如,一个向量的值有 1 个 1,、一百万个 0,则该向量为稀疏向量。再比如,搜索查询中的单词也是稀疏向量:在一种语言中有很多可以用的单词,但给定的查询中只用了其中的一些。&/p&&p&可与稠密特征对照阅读。&/p&&p&&b&平方损失(squared loss)&/b&&/p&&p&线性回归中使用的损失函数(也叫作 L2 Loss)。该函数计算模型对标注样本的预测值和标签真正值之间差的平方。在平方之后,该损失函数扩大了不良预测的影响。即,平方损失比 L1 Loss 对异常值(outlier)的反应更加强烈。&/p&&p&&b&静态模型(static model)&/b&&/p&&p&离线训练的模型。&/p&&p&&b&稳态(stationarity)&/b&&/p&&p&数据集中的一种数据属性,数据分布在一或多个维度中保持不变。通常情况下,维度是时间,意味着具备平稳性的数据不会随着时间发生变化。比如,具备平稳性的数据从 9 月到 12 月不会改变。&/p&&p&&b&步(step)&/b&&/p&&p&一个批量中的前向和后向评估。&/p&&p&&b&步长(step size)&/b&&/p&&p&学习速率(learning rate)乘以偏导数的值,即梯度下降中的步长。&/p&&p&&b&随机梯度下降(stochastic gradient descent/SGD)&/b&&/p&&p&批量大小为 1 的梯度下降算法。也就是说,SGD 依赖于从数据集中随机均匀选择出的一个样本,以评估每一步的梯度。&/p&&p&&b&结构风险最小化(structural risk minimization/SRM)&/b&&/p&&p&这种算法平衡两个目标:&/p&&ul&&li&构建预测性最强的模型(如最低损失)。&/li&&li&使模型尽量保持简单(如强正则化)。&/li&&/ul&&p&比如,在训练集上的损失最小化 + 正则化的模型函数就是结构风险最小化算法。更多信息,参见 &a href=&https://link.zhihu.com/?target=http%3A//www.svms.org/srm/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&svms.org/srm/&/span&&span class=&invisible&&&/span&&/a&。可与经验风险最小化对照阅读。&/p&&p&&b&摘要(summary)&/b&&/p&&p&在 TensorFlow 中,特定步计算的值或值的集合,通常用于跟踪训练过程中的模型指标。&/p&&p&&b&监督式机器学习(supervised machine learning)&/b&&/p&&p&利用输入数据及其对应标签来训练模型。监督式机器学习类似学生通过研究问题和对应答案进行学习。在掌握问题和答案之间的映射之后,学生就可以提供同样主题的新问题的答案了。可与非监督机器学习对照阅读。&/p&&p&&b&合成特征(synthetic feature)&/b&&/p&&p&不在输入特征中,而是从一个或多个输入特征中派生出的特征。合成特征的类型包括:&/p&&ul&&li&特征与自己或其他特征相乘(叫作特征交叉)。&/li&&li&两个特征相除。&/li&&li&将连续的特征放进 range bin 中。&/li&&/ul&&p&由归一化或缩放单独创建的特征不是合成特征。&/p&&h2&&b&T&/b&&/h2&&p&&b&张量(tensor)&/b&&/p&&p&TensorFlow 项目的主要数据结构。张量是 N 维数据结构(N 的值很大),经常是标量、向量或矩阵。张量可以包括整数、浮点或字符串值。&/p&&p&&b&张量处理单元(Tensor Processing Unit,TPU)&/b&&/p&&p&优化 TensorFlow 性能的 ASIC(application-specific integrated circuit,专用集成电路)。&/p&&p&&b&张量形状(Tensor shape)&/b&&/p&&p&张量的元素数量包含在不同维度中。比如,[5, 10] 张量在一个维度中形状为 5,在另一个维度中形状为 10。&/p&&p&&b&张量大小(Tensor size)&/b&&/p&&p&张量包含的标量总数。比如,[5, 10] 张量的大小就是 50。&/p&&p&&b&TensorBoard&/b&&/p&&p&展示一个或多个 TensorFlow 项目运行过程中保存的摘要数据的控制面板。&/p&&p&&b&TensorFlow&/b&&/p&&p&大型分布式机器学习平台。该术语还指 TensorFlow 堆栈中的基础 API 层,支持数据流图上的通用计算。&/p&&p&尽管 TensorFlow 主要用于机器学习,但是它也适用于要求使用数据流图进行数值运算的非机器学习任务。&/p&&p&&b&TensorFlow Playground&/b&&/p&&p&一个可以看到不同超参数对模型(主要是神经网络)训练的影响的平台。前往 &a href=&https://link.zhihu.com/?target=http%3A//playground.tensorflow.org& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&playground.tensorflow.org&/span&&span class=&invisible&&&/span&&/a&,使用 TensorFlow Playground。&/p&&p&&b&TensorFlow Serving&/b&&/p&&p&帮助训练模型使之可部署到产品中的平台。&/p&&p&&b&测试集(test set)&/b&&/p&&p&数据集的子集。模型经过验证集初步测试之后,使用测试集对模型进行测试。可与训练集和验证集对照阅读。&/p&&p&&b&tf.Example&/b&&/p&&p&一种标准 protocol buffer,用于描述机器学习模型训练或推断的输入数据。&/p&&p&&b&训练(training)&/b&&/p&&p&确定组成模型的完美参数的流程。&/p&&p&&b&训练集(training set)&/b&&/p&&p&数据集子集,用于训练模型。可与验证集和测试集对照阅读。&/p&&p&&b&真负类(true negative,TN)&/b&&/p&&p&被模型正确地预测为负类的样本。例如,模型推断某封电子邮件不是垃圾邮件,然后该电邮真的不是垃圾邮件。&/p&&p&&b&真正类(true positive,TP)&/b&&/p&&p&被模型正确地预测为正类的样本。例如,模型推断某封电子邮件是垃圾邮件,结果该电邮真的&b&是垃圾邮件。&/b&&/p&&p&&b&真正类率(true positive rate,TP rate)&/b&&/p&&p&召回率(recall)的同义词。即:&/p&&blockquote&TruePositiveRate=TruePositives/(TruePositives+FalseNegatives)&/blockquote&&p&真正类率是 ROC 曲线的 y 轴。&/p&&h2&&b&U&/b&&/h2&&p&&b&无标签样本(unlabeled example)&/b&&/p&&p&包含特征但没有标签的样本。无标签样本是推断的输入。在半监督学习和无监督学习的训练过程中,通常使用无标签样本。&/p&&p&&b&无监督机器学习(unsupervised machine learning)&/b&&/p&&p&训练一个模型寻找数据集(通常是无标签数据集)中的模式。&/p&&p&无监督机器学习最常用于将数据分成几组类似的样本。例如,无监督机器学习算法可以根据音乐的各种属性聚类数据。用这种方式收集的数据可以作为其他机器学习算法(如音乐推荐服务)的输入。聚类在难以获取真正标签的情景中非常有用。例如,在反欺诈和反滥用的情景中,聚类可以帮助人类更好地理解数据。&/p&&p&无监督机器学习的另一个例子是主成分分析(principal component analysis,PCA)。如,将 PCA 应用于包含数百万购物车内容的数据集中时,就有可能发现有柠檬的购物车往往也有解酸剂。可与监督式机器学习对照阅读。&/p&&h2&&b&V&/b&&/h2&&p&&b&验证集(validation set)&/b&&/p&&p&数据集的一个子集(与训练集不同),可用于调整超参数。可与训练集和测试集对照阅读。&/p&&h2&&b&W&/b&&/h2&&p&&b&权重(weight)&/b&&/p&&p&线性模型中的特征系数,或者深度网络中的边缘。线性模型的训练目标是为每个特征确定一个完美的权重。如果权重为 0,则对应的特征对模型而言是无用的。&/p&&p&&b&宽

我要回帖

更多关于 除却巫山为什么搜不到 的文章

 

随机推荐