零低代码开发平台有哪些越来越被大家认可,认为是未来的方向,请问国内最好的是哪个

  【IT168 评论】这一次连续创业者任向晖找到他的PMF了

  4月28日,明道更名为明道云任向晖带着他的团队从SaaS协同向低低代码开发平台有哪些(Low Code Platform)转舵,而这并非孤例更早一些还有从九章全协同转型而来的搭搭云。

  实际上低低代码开发平台有哪些并不新鲜可以追溯到2000年左右,由Forrester 创造了“低低代码开發平台有哪些”这一术语如今的低代码平台明星OutSystems也是在2001年成立。也有业内人士指出低低代码开发平台有哪些不难理解其出发点是尽量鼡少的代码或者不用代码去开发企业应用,提高效率同时它也被视为释放业务人员价值与潜力的一种新尝试。

  2018年西门子以约7亿美元收购了低低代码开发平台有哪些MendixOutSystems获得了3.6亿美元融资,这让低低代码开发平台有哪些变得火爆起来

  这种火热很快传导到了国内,不論是去年入局者还是更早的布道者一年多来低低代码开发平台有哪些的市场声量逐渐加大,而其背后是一个可期的蓝海市场Forrester预计到2020年低低代码开发平台有哪些市场将达155亿美元,75%的应用程序将在低低代码开发平台有哪些中开发

  但是同SaaS一样,在国内低低代码开发平台囿哪些同样起步晚于国外国内转型入局者或者看好者是出于怎样的考虑?低低代码开发平台有哪些的现状以及未来的挑战有哪些近日,IT168走访了几家国内低低代码开发平台有哪些创业者试图为您呈现国内这一市场的一个切面。

  “我们真正擅长的领域就是非标的行业企业之间的差异差距还是蛮大的,就是标准化已经满足不了他了他才会用我们这个平台。”明道云创始人&CEO任向晖如是说标准化之外財是明道云的市场,其中包括标准化产品不能覆盖的部分以及非标行业

  比如制造业,很多工艺流程都不一样生产环节需要长期的積累,甚至包括其采购、运营等非制造环节对定制化需求都很大还有VC行业,其主要客户关系是LP投资人、出资人不是一个简单的销售关系,每个行业的销售场景和客户服务场景都有所不同

  他从不讳言这次转型,在SaaS协同领域钉钉、企业微信的免费替代为中小企业市場带来了很大的冲击,而对于中大型市场也很难满足其定制化需求2018年初开始筹备,经过一年多的时间明道更名明道云,他做起了无低玳码开发平台有哪些转换了赛道。

  很多创业者和投资人认为与国外相比国内企业定制化需求更多更大。这是SaaS起不来的一个重要原洇SaaS追求标准化,一位资深创业者接受笔者采访时曾判断低代码开发很有可能是未来SaaS破局的方向之一而这也代表了一部分ToB创业者的心声。实际上经过多年的尝试发现不只是SaaS几乎所有国内的ToB创业者纯靠产品都很难走。

  “为什么现在低代码和无代码这样备受关注他给叻SaaS更多的想象空间。原先SaaS是标准的按年收费客户付费意愿又非常低,我现在告诉你我这是一种无代码的方式在SaaS的基础上我们提供额外嘚服务,这个其实就是想象空间和想象力”轻流创始人&CEO薄智元笃信能够提供标准化之外的服务是低代码和无代码的价值所在。

  以CRM为唎薄智元介绍标准化的CRM产品从销售线索转化到公海、成单,但是成单后往往涉及不到覆盖不到的地方就是低代码或者无代码平台的用武之地。

  在笔者接触的低代码或无低代码开发平台有哪些创业者中无论是服务中小企业还是中大企业,均强调了定制化和服务

  搭搭云创始人万斌在去年搭搭云3.0发布时强调,搭搭云的核心价值是降低技术门槛让再小的企业都有能力有机会用定制化软件。

  2014年荿立的APICloud在2016年基于客户需求探索商业化落地,比如某客户采购了APICloud平台但是没有人将其业务需求通过APP去落地,需要定制APICloud在2016年开始做定制岼台,定制平台其实就相当于产品加服务“国内To B可能光靠产品还不好说,完全靠产品挺难的所以一定得做定制,所以我们2016年开始做服務它其实是相当于基于我们的产品去做服务,然后依靠我们的生态帮助企业去定制应用。”APICloud的CTO邹达告诉笔者他认为中国人创业的时候,其实还是需要做一些定制的事情“因为要有差异,不定制怎么有差异”

  低代码或者无低代码开发平台有哪些很容易满足定制囮的需求,作为平台需要进行两次业务抽象去生成模块与引擎,用户只需要拖拖拽拽即可完成应用的开发降低了使用门槛,有望实现規模化定制

  从上文可知广义上的低低代码开发平台有哪些还要分成低代码和无代码,两者之间存在着非常明显的差别

  一个很顯著的差异就是低低代码开发平台有哪些还需要开发和部署,是面向开发者的而无低代码开发平台有哪些(或称为“零低代码开发平台囿哪些”)是面向公民开发者(citizen developers)的。公民开发者由Gartner所定义是指在传统IT渠道之外创建应用程序的业务用户。

  从被Forrester定义以来低低代码开发岼台有哪些一开始发展缓慢并不被行业认可和重视,2015年AWS、Google、Microsoft 和 Oracle 等大型供应商开始进入市场,2018年西门子收购MendixOutSystems获得了3.6亿美元融资,让低低代码开发平台有哪些开始变得火热

  很多时候我们都是站在巨人肩膀上跳舞,这次也不例外随着云计算、SaaS等新技术的发展,企业嘚IT能力和底子不断健全和完善Chris Souther在OutSystems博客上的一篇文章中指出,很多代码已经被编写出来所以并不需要每个应用程序都要从零开始编码,當一个强大的低低代码开发平台有哪些其中的可视化代码块已经包含了大多数应用程序所需的90%功能时,该低低代码开发平台有哪些能够唍成大部分的工作

  而近两年来低低代码开发平台有哪些开始向着更低的代码或者无代码化发展,任向晖介绍无低代码开发平台有哪些发展初期对于技术人员来说无代码工具显得繁琐且不够灵活,对于非技术人员而言虽然不用写代码但充满技术用语的用户界面大大增加了使用难度,如今在产品能力和界面能力方面都有了显著的提高这使得无代码平台的发展成为了可能,明道云在最初便决定做无低玳码开发平台有哪些

  轻流在一开始也坚持做绝对的无代码,基于场景将表单与流程相结合薄智元认为低代码会增加客户的使用门檻,而且会引发出一个新的问题“客户会觉得你可以做二次开发,但是后来就发现你的二次开发也是有局限的”尤其是非常强势的中夶型客户,其二次开发需求可能会拖累公司的发展

  不过无代码开发也并不是绝对的没有代码,由于这些平台是为公民开发者而开发嘚IT部门必须在最后一英里的范围内完成与现有系统的集成。只不过代码开发的需求局限在对接性开发比如API的对接等方面。

  邹达介紹其实两个类型的公司会去往低低代码开发平台有哪些迈进一类像APICloud一样,从MADP前端开始积累了大量的API功能,然后去做业务另外一类是囿一些标准化业务的企业,像一些做流程BPM或者做OA其后端的业务模型能够抽象出来,然后再去做标准化

  无低代码开发平台有哪些有其自身的局限性,任向晖指出类似于餐饮、酒店这样的行业无低代码开发平台有哪些较难满足而在面向C端用户的前台系统也有挑战,比洳电商系统也很难满足

  “无代码平台一个核心就是相对来说业务流程比较固定,然后可能一些企业内部的应用对于前端使用个性囮没有那么高,这种是可以通过无代码的技术实现” 邹达表示,在APICloud的客户中22%是电商客户电商有一些虚拟的商品,有不同的营销方式泹一些平台的现有模板、解决方案覆盖不到,需要定制化也需要少量的代码开发。

  进一步来讲薄智元认为低代码或者无代码不是詓代替原有的代码开发,“就像如果你把它当成乐高不是说我有乐高我所有东西都不需要了,而是说它去解决一定场景的一些问题能夠快速去解决。所以它其实还是要场景化的”

  在某种程度上来说,无论是只做无低代码开发平台有哪些的明道云、轻流还是压注低低代码开发平台有哪些的APICloud,都是aPaaS平台Gartner在2018年专门建立了一个分类,称为高生产力应用平台(hpaPaaS)

  Gartner调研发现到2020年,60%的快速模式应用开發项目将由正式IT团队之外的人员完成在国外,有超过80%的CIO们已经意识到,企业信息化将完全进入由业务期望驱动信息化的新时代。

  吸引国內低代码或者无低代码开发平台有哪些创业者另一个因素便是全民开发者时代来临向业务人员要预算。“IT的预算一定是小于业务预算的就是额外的预算,IT的预算会比较稳定”随着技术融入到业务的方方面面,IT能否快速响应业务需求越发重要业务部门在未来企业IT治理Φ也起到比较关键的作用。

  任向晖指出一个企业里面有真正有软件需求的不是IT人员而是业务人员传统开发模式是业务向IT人员提需求,IT人员选型找产品业务人员与最终的产品之间有隔阂,只有把隔阂去掉以后才真正能够让需求和供对接起来。比如生产执行系统如果没有做过这个行业,不了解该行业的工艺路线基本上开发不出好的MES系统。而利用无代码平台让一个制造业专家自己动手,他可能半個月就把整个系统开发得非常好

  通常来讲面向全民开发者的平台往往指得是无低代码开发平台有哪些,其实低低代码开发平台有哪些也可以为业务人员服务邹达介绍业务部门与IT部门的一个很大的不同就是需要快速的验证其需求,类似于APICloud这样的低低代码开发平台有哪些一方面对于开发者而言,无需做基础性的繁重开发比如写静态页面、创建表或者创建数据模型等,可以节省其70%-80%的时间对于所有的業务人员,其实也可以把他自己的想法和创意通过低代码平台生成产品,该产品可以运行起来或者可以实现80%的运行,业务人员也可以赽速尝试然后让开发人员去完善。

  另外除了低低代码开发平台有哪些的创业者,也有做工业互联网平台的企业开始涉足低代码格创东智6月份发布了聚焦生产现场的东智工业应用智能平台,定位自己是一个更多关注最上层工业应用的aPaaS系统聚焦生产现场,强调了低玳码面向生产工程师。通过内置的基础计算模型、行业机理模型让生产工程师团队可以将自己的个性经验和工业知识,自助转化开发荿各种可复用的工业模型这些工业机理模型,在平台上可以被快速开发、测试、部署、验证和迭代富有经验的生产工程师以低代码甚臸无代码开发的方式,实现工业知识、经验的软件化和复用化

  然而释放业务人员的经验与能力的同时,也有业内人士指出会带来影孓IT问题面临安全与合规的挑战。邹达认为并非如此他指出APICloud的一些大客户比如春秋航空有近30款应用,海尔也有将近100款应用如果没有一個统一的开发标准,每个业务部门都自己去开发会造成标准不统一或者合规的问题,但是这些大企业采购APICloud平台就是为了标准化可以快速迭代。总体来说大的企业对IT系统有这种统一的标准化平台的要求反而小企业没有。

  在全民开发者时代一个可见的优势是低代码囷无低代码开发平台有哪些降低了开发门槛,能够释放业务人员的能力也吸引了众多参与者,有资本表示正在关注这一领域非常看好其发展。

  在创业者看来中国低代码和无低代码开发平台有哪些还处在探索的初级阶段竞争并没有太过激烈。

  从搜索指数来看2019姩初百度才收录了“低代码”这一关键词,关注度也并没有太高 

“低代码”百度搜索指数也是在2019年初开始出现

  任向晖认为像SaaS一样,国内低代码/无低代码开发平台有哪些要落后美国2-3年而邹达指出在低代码这方面,国外有些产品比如OutSystems已经比较全面后端所有固定的业務流程,按行业来分其实已经有一些固定业务模型、数据模型同时也能够支持前端。已经涵盖了标准化的业务模式和定制化的需求而國内相对来说还没有像OutSystems那样能够覆盖足够多的标准化和定制化需求的企业。

  而在初级阶段的探索时期对于建造各自的壁垒,几位创業者分别表达了自己的观点他们都认为技术有时间窗口但不是壁垒,颇有“工夫在诗外”的意味

  薄智元觉得所有和开发相关的能夠通过技术实现的都不是完全的壁垒,低代码或者无代码单纯从技术来说是一个堆时间的事,而这个堆时间可能比很多软件公司或者其咜的场景都会堆更多的人因为它是一个生成系统的系统,而且要花很多时间去造轮子会有很多复杂的逻辑,保证把它搭建起来的过程嚴丝合缝

  “关键的核心点并不是你暴露出来的产品。现在有各种各样的所谓的竞品这都没关系,这个其实是你冰山暴露在外面的┅角最终的核心壁垒是怎样运作这个模式,最终的人效能够达到多少你整个商业模式是否能够经得起盈利和你的扩张,我觉得这个其實才是重要的这个是对于我们这些做低代码或者无代码公司的挑战。”薄智元强调

  转型做无低代码开发平台有哪些的任向晖觉得洎己已经找到了PMF,但是并不全面“我觉得第一层面深度用户和伙伴这个PMF有八成把握了,而且我们当时坚持的无代码还是有回报的它的確大大的拓宽了我们的用户面,甚至有一些公司的老板他自己都能搭应用但是真正的挑战在于在这个平台上开发出来的行业解决方案和垂直市场里面的行业客户,其需求的接近度但是坦率来说这一层它不完全由明道云来决定。”

  而对于APICloud来说其核心是API,API其实提供各種功能到如今已经有1万多API,800多个模块基本可以覆盖主流的每一个垂直领域的SaaS产品,邹达认为APICloud的优势是低代码生成代码的还原度和代码嘚可用性而在后端行业业务并不是APICloud的优势,需要一个积累的过程目前APICloud平台上有来自各行各业的90万开发者,如何吸引更多的开发者与業务更紧密结合打造自己的小生态是其未来的挑战也是其打造壁垒所在。

  自1804年穿孔卡片可编程式提花织机问世编程语言已经存在200多姩了。到目前为止已经出现了256种编程语言技术迭代速度越来越像坐火箭,不过几乎所有的技术落地都需要与业务和场景的结合

  经過经济寒冬的洗礼,市场的磨练现在的创业者不再盲目狂奔去追风口,“我感觉现在慢慢的更理性了大家知道整个创业的核心其实还昰自己的内容和你自己的这个业务本身,跟你做一个什么样的线上的产品这个产品有多么好的用户体验,或者像一个idea这么新颖意义不夶。他必须跟业务和场景去结合”邹达说道。

  基于这种应有的理性在国内低低代码开发平台有哪些的创业者正在不断探索,不过從目前的境况来看他们似乎都生存在标准化之外。

“做开发真的一定需要写代码嗎?这次真的轮到员革自己的命了!”业内很多人都这样感叹2019年见证了低代码/零代码市场的首次爆发,种种迹象似乎在提醒着我们一個新的“风口”正在形成。

低代码这一概念并非近年来首次出现其实,在上世纪八十年代就有美国公司和实验室开始研究程序编程这個领域,做出了4GL“第四代编程语言”后来衍生成VPL(Visual Programming Language可视化编程语言)。2010年麻省理工又将这一概念应用于儿童编程领域产出了风靡全球嘚Scratch。直到2014年研究机构Forrester Research正式提出了“低代码/零代码”的概念,它的完整定义是“利用很少或几乎不需要写代码就可以快速开发应用并可鉯快速配置和部署的一种技术和工具” 。Gartner随后又提出了aPaaS和iPaaS的概念其中aPaaS概念和低代码/零代码非常吻合。

2018年以后海外市场在该赛道的投融資也比较活跃。OutSystems宣布融资.cn)投资界处理】

1、本文的内容全部来源于七月在線发布的BAT机器学习面试1000题系列;

2、文章中带斜体的文字代表是本人自己增加的内容如有错误还请批评指正;

3、原文中有部分链接已经失效,故而本人重新加上了新的链接如有不当,还请指正(也已用斜体标出)

4、部分答案由于完全是摘抄自其它的博客,所以本人就只貼出答案链接这样既可以节省版面,也可以使排版更加美观点击对应的问题即可跳转。

最后此博文的排版已经经过本人整理,公式巳用latex语法表示方便读者阅读。同时链接形式也做了优化可直接跳转至相应页面,希望能够帮助读者提高阅读体验文中如果因为本人嘚整理出现纰漏,还请指出大家共同进步!


N最成功的应用是在CV,那为什么NLP和Speech的很多问题也可以用CNN解出来为什么AlphaGo里也用了CNN?这几个不相關的问题的相似性在哪里CNN通过什么手段抓住了这个共性?

知识点链接(答案解析):

221.带核的SVM为什么能分类非线性问题

核函数的本质是兩个函数的內积,而这个函数在SVM中可以表示成对于输入值的高维映射注意核并不是直接对应映射,核只不过是一个内积

222.常用核函数及核函数的条件。

核函数选择的时候应该从线性核开始而且在特征很多的情况下没有必要选择高斯核,应该从简单到难的选择模型我们通常说的核函数指的是正定和函数,其充要条件是对于任意的x属于X要求K对应的Gram矩阵要是半正定矩阵。
RBF核径向基这类函数取值依赖于特萣点间的距离,所以拉普拉斯核其实也是径向基核
线性核:主要用于线性可分的情况

  随机森林改变了决策树容易过拟合的问题,这主要是由两个操作所优化的:
  1)Boostrap从袋内有放回的抽取样本值
  2)每次随机抽取一定数量的特征(通常为sqr(n))
  分类问题:采用Bagging投票的方式选择类别频次最高的
  回归问题:直接取每颗树结果的平均值。

  Boosting的本质实际上是一个加法模型通过改变训练样本权重学習多个分类器并进行一些线性组合。而Adaboost就是加法模型+指数损失函数+前项分布算法Adaboost就是从弱分类器出发反复训练,在其中不断调整数据权偅或者是概率分布同时提高前一轮被弱分类器误分的样本的权值。最后用分类器进行投票表决(但是分类器的重要性不同)
  将基汾类器变成二叉树,回归用二叉回归树分类用二叉分类树。和上面的Adaboost相比回归树的损失函数为平方损失,同样可以用指数损失函数定義分类问题但是对于一般损失函数怎么计算呢?GBDT(梯度提升决策树)是为了解决一般损失函数的优化问题方法是用损失函数的负梯度茬当前模型的值来模拟回归问题中残差的近似值。
  注:由于GBDT很容易出现过拟合的问题所以推荐的GBDT深度不要超过6,而随机森林可以在15鉯上
这个工具主要有以下几个特点:
可以自定义损失函数,并且可以用二阶偏导
加入了正则化项:叶节点数、每个叶节点输出score的L2-norm
在一定凊况下支持并行只有在建树的阶段才会用到,每个节点可以并行的寻找分裂特征

224.逻辑回归相关问题。

(1)公式推导一定要会
(2)逻辑囙归的基本概念
  这个最好从广义线性模型的角度分析逻辑回归是假设y服从Bernoulli分布。
  其实稀疏的根本还是在于L0-norm也就是直接统计参数鈈为0的个数作为规则项但实际上却不好执行于是引入了L1-norm;而L1norm本质上是假设参数先验是服从Laplace分布的,而L2-norm是假设参数先验为Gaussian分布我们在网仩看到的通常用图像来解答这个问题的原理就在这。
  但是L1-norm的求解比较困难可以用坐标轴下降法或是最小角回归法求解。
  首先LR囷SVM最大的区别在于损失函数的选择,LR的损失函数为Log损失(或者说是逻辑损失都可以)、而SVM的损失函数为hinge loss


其次两者都是线性模型。
  最後SVM只考虑支持向量(也就是和分类相关的少数点)
(5)LR和随机森林区别
  随机森林等树算法都是非线性的,而LR是线性的LR更侧重全局優化,而树模型主要是局部的优化
  逻辑回归本身是可以用公式求解的,但是因为需要求逆的复杂度太高所以才引入了梯度下降算法。
  一阶方法:梯度下降、随机梯度下降、mini 随机梯度下降降法随机梯度下降不但速度上比原始梯度下降要快,局部最优化问题时可鉯一定程度上抑制局部最优解的发生
  二阶方法:牛顿法、拟牛顿法:
  这里详细说一下牛顿法的基本原理和牛顿法的应用方式。犇顿法其实就是通过切线与x轴的交点不断更新切线的位置直到达到曲线与x轴的交点得到方程解。在实际应用中我们因为常常要求解凸优囮问题也就是要求解函数一阶导数为0的位置,而牛顿法恰好可以给这种问题提供解决方法实际应用中牛顿法首先选择一个点作为起始點,并进行一次二阶泰勒展开得到导数为0的点进行一个更新直到达到要求,这时牛顿法也就成了二阶求解问题比一阶方法更快。我们瑺常看到的x通常为一个多维向量这也就引出了Hessian矩阵的概念(就是x的二阶导数矩阵)。缺点:牛顿法是定长迭代没有步长因子,所以不能保证函数值稳定的下降严重时甚至会失败。还有就是牛顿法要求函数一定是二阶可导的而且计算Hessian矩阵的逆复杂度很大。
拟牛顿法: 鈈用二阶偏导而是构造出Hessian矩阵的近似正定对称矩阵的方法称为拟牛顿法拟牛顿法的思路就是用一个特别的表达形式来模拟Hessian矩阵或者是他嘚逆使得表达式满足拟牛顿条件。主要有DFP法(逼近Hession的逆)、BFGS(直接逼近Hession矩阵)、 L-BFGS(可以减少BFGS所需的存储空间)

225.用贝叶斯机率说明Dropout的原理。

DeepFace 先进行了两次全卷积+一次池化提取了低层次的边缘/纹理等特征。后接了3个Local-Conv层这里是用Local-Conv的原因是,人脸在不同的区域存在不同的特征(眼睛/鼻子/嘴的分布位置相对固定)当不存在全局的局部特征分布时,Local-Conv更适合特征的提取

227.什么事共线性, 跟过拟合有什么关联?

囲线性:多变量线性回归中,变量之间由于存在高度相关关系而使回归估计不准确
共线性会造成冗余,导致过拟合

解决方法:排除变量的相关性/加入权重正则。

229.机器学习中的正负样本

在分类问题中,这个问题相对好理解一点比如人脸识别中的例子,正样本很好理解就是人脸的图片,负样本的选取就与问题场景相关具体而言,如果你要进行教室中学生的人脸识别那么负样本就是教室的窗子、牆等等,也就是说不能是与你要研究的问题毫不相关的乱七八糟的场景图片,这样的负样本并没有意义负样本可以根据背景生成,有時候不需要寻找额外的负样本一般的正样本需要5,000,000-100,000,000的负样本来学习在互金领域一般在入模前将正负比例通过采样的方法调整到3:1-5:1。

230.机器學习中有哪些特征选择的工程方法?

数据和特征决定了机器学习的上限而模型和算法只是逼近这个上限而已。

1.计算每一个特征与响应變量的相关性:工程上常用的手段有计算皮尔逊系数和互信息系数皮尔逊系数只能衡量线性相关性而互信息系数能够很好地度量各种相關性,但是计算相对复杂一些好在很多toolkit里边都包含了这个工具(如sklearn的MINE),得到相关性之后就可以排序选择特征了;
2.构建单个特征的模型通过模型的准确性为特征排序,借此来选择特征;
3.通过L1正则项来选择特征:L1正则方法具有稀疏解的特性因此天然具备特征选择的特性,但是要注意L1没有选到的特征不代表不重要,原因是两个具有高相关性的特征可能只保留了一个如果要确定哪个特征重要应再通过L2正則方法交叉检验*;
4.训练能够对特征打分的预选模型:RandomForest和Logistic Regression等都能对模型的特征打分,通过打分获得相关性后再训练最终模型;
5.通过特征组合後再来选择特征:如对用户id和用户特征最组合来获得较大的特征集再来选择特征这种做法在推荐系统和广告系统中比较常见,这也是所謂亿级甚至十亿级特征的主要来源原因是用户数据比较稀疏,组合特征能够同时兼顾全局模型和个性化模型这个问题有机会可以展开講。
6.通过深度学习来进行特征选择:目前这种手段正在随着深度学习的流行而成为一种手段尤其是在计算机视觉领域,原因是深度学习具有自动学习特征的能力这也是深度学习又叫unsupervised feature learning的原因。从深度学习模型中选择某一神经层的特征后就可以用来进行最终目标模型的训练叻

231.在一个n维的空间中, 最好的检测outlier(离群点)的方法是:(C)

A. 作正态分布概率图

马氏距离是基于卡方分布的度量多元outlier离群点的统计方法。哽多请详见:

A. 对数几率回归是设计用来预测事件可能性的
B. 对数几率回归可以用来度量模型拟合程度
C. 对数几率回归可以用来估计回归系数

A: 對数几率回归其实是设计用来解决分类问题的
B: 对数几率回归可以用来检验模型对数据的拟合度
C: 虽然对数几率回归是用来解决分类问题的,泹是模型建立好后就可以根据独立的特征,估计相关的回归系数就我认为,这只是估计回归系数不能直接用来做回归模型。

A. 有放回哋从总共M个特征中抽样m个特征
B. 无放回地从总共M个特征中抽样m个特征
C. 有放回地从总共N个样本中抽样n个样本
D. 无放回地从总共N个样本中抽样n个样夲

234.“过拟合”只在监督学习中出现在非监督学习中,没有”过拟合”这是:(B)

我们可以评估无监督学习方法通过无监督学习的指标,如:我们可以评估聚类模型通过调整兰德系数(adjusted rand score)

235.对于k折交叉验证, 以下对k的说法正确的是 :(D)

A. k越大, 不一定越好, 选择大的k会加大评估时間
B. 选择更大的k, 就会有更小的bias (因为训练集更加接近总数据集)
C. 在选择k时, 要最小化数据集之间的方差

k越大, bias越小, 训练时间越长. 在训练时, 也要考虑数據集间方差差别不大的原则. 比如, 对于二类分类问题, 使用2-折交叉验证, 如果测试集里的数据都是A类的, 而训练集中数据都是B类的, 显然, 测试效果会佷差。

236.回归模型中存在多重共线性, 你如何解决这个问题

1.去除这两个共线性变量
2.我们可以先去除一个共线性变量
3.计算VIF(方差膨胀因子), 采取相應措施
4.为了避免损失信息, 我们可以使用一些正则化方法, 比如, 岭回归和lasso回归.
以下哪些是对的:(D)

解决多重公线性, 可以使用相关矩阵去去除楿关性高于75%的变量 (有主观成分). 也可以VIF, 如果VIF值<=4说明相关性不是很高, VIF值>=10说明相关性较高.
我们也可以用 岭回归和lasso回归的带有惩罚正则项的方法. 我們也可以在一些变量上加随机噪声, 使得变量之间变得不同, 但是这个方法要小心使用, 可能会影响预测效果。

237.模型的高bias是什么意思, 我们如何降低它 ?(B)

A. 在特征空间中减少特征
B. 在特征空间中增加特征

bias太高说明模型太简单了, 数据维数不够, 无法准确预测数据, 所以, 升维吧 !

238.训练决策树模型, 屬性节点的分裂, 具有最大信息增益的图是下图的哪一个:(A)

信息增益, 增加平均子集纯度

239.对于信息增益, 决策树分裂节点, 下面说法正确的是: (C)

1.纯度高的节点需要更多的信息去区分
2.信息增益可以用”1比特-熵”获得
3.如果选择一个属性具有许多归类值, 那么这个信息增益是有偏差的

240.洳果SVM模型欠拟合, 以下方法哪些可以改进模型 : (A)

A. 增大惩罚参数C的值
B. 减小惩罚参数C的值

如果SVM模型欠拟合, 我们可以调高参数C的值, 使得模型复杂喥上升。

?241.下图是同一个SVM模型, 但是使用了不同的径向基核函数的gamma参数, 依次是g1, g2, g3 , 下面大小比较正确的是 :(C)

242.假设我们要解决一个二类分类问题, 峩们已经建立好了模型, 输出是0或1, 初始时设阈值为0.5, 超过0.5概率估计, 就判别为1, 否则就判别为0 ; 如果我们现在用另一个大于0.5的阈值, 那么现在关于模型說法, 正确的是 : (C)

1.模型分类的召回率会降低或不变
2.模型分类的召回率会升高
3.模型分类准确率会升高或不变
4.模型分类准确率会降低

243.”点击率問题”是这样一个预测问题, 99%的人是不会点击的, 而1%的人是会点击进去的, 所以这是一个非常不平衡的数据集. 假设, 现在我们已经建了一个模型来汾类, 而且有了99%的预测准确率, 我们可以下的结论是 : (B)

A. 模型预测准确率已经很高了, 我们不需要做什么了
B. 模型预测准确率不高, 我们需要做点什麼改进模型

99%的预测准确率可能说明, 你预测的没有点进去的人很准确 (因为有99%的人是不会点进去的, 这很好预测)不能说明你的模型对点进去的囚预测准确, 所以, 对于这样的非平衡数据集, 我们要把注意力放在小部分的数据上, 即那些点击进去的人。

244.使用k=1的KNN算法, 下图二类分类问题, “+” 和 “o” 分别代表两个类, 那么, 用仅拿出一个测试样本的交叉验证方法, 交叉验证的错误率是多少 :(B)

KNN算法就是, 在样本周围看k个样本, 其中大多数样夲的分类是A类, 我们就把这个样本分成A类. 显然, k=1 的KNN在上图不是一个好选择, 分类的错误率始终是100%

245.我们想在大数据集上训练决策树, 为了使用较少時间, 我们可以 : (C)

A.增加树的深度, 会导致所有节点不断分裂, 直到叶子节点是纯的为止. 所以, 增加深度, 会延长训练时间。
B.决策树没有学习率参数鈳以调(不像集成学习和其它有步长的学习方法)
D.决策树只有一棵树, 不是随机森林。

246.对于神经网络的说法, 下面正确的是 : (A)
1.增加神经网络层數, 可能会增加测试数据集的分类错误率
2.减少神经网络层数, 总是能减小测试数据集的分类错误率
3.增加神经网络层数, 总是能减小训练数据集的汾类错误率

深度神经网络的成功, 已经证明, 增加神经网络层数, 可以增加模型范化能力, 即训练数据集和测试数据集都表现得更好. 但更多的层数, 吔不一定能保证有更好的表现所以,不能绝对地说层数多的好坏, 只能选A。

247.假如我们使用非线性可分的SVM目标函数作为最优化对象, 我们怎么保證模型线性可分(C)

C无穷大保证了所有的线性不可分都是可以忍受的。

248.训练完SVM模型后, 不是支持向量的那些样本我们可以丢掉, 也可以继续汾类:(A)

SVM模型中, 真正影响决策边界的是支持向量

249.以下哪些算法, 可以用神经网络去构造: (B)

1.KNN算法不需要训练参数, 而所有神经网络都需要训練参数, 因此神经网络帮不上忙
2.最简单的神经网络, 感知器, 其实就是线性回归的训练
3.我们可以用一层的神经网络构造对数几率回归

250.请选择下面鈳以应用隐马尔科夫(HMM)模型的选项: (D)

只要是和时间序列问题有关的 , 都可以试试HMM。

251.我们建立一个5000个特征, 100万数据的机器学习模型. 我们怎么有效哋应对这样的大数据训练 : (F)

A. 我们随机抽取一些样本, 在这些少量样本之上训练
B. 我们可以试用在线机器学习算法
C. 我们应用PCA算法降维, 减少特征數

252.我们想要减少数据集中的特征数, 即降维. 选择以下适合的方案 :(D)
1.使用前向特征选择方法
2.使用后向特征排除方法
3.我们先把所有特征都使用, 詓训练一个模型, 得到测试集上的表现. 然后我们去掉一个特征, 再去训练, 用交叉验证看看测试集上的表现. 如果表现比原来还要好, 我们可以去除這个特征
4.查看相关性表, 去除相关性最高的一些特征

1.前向特征选择方法和后向特征排除方法是我们特征选择的常用方法
2.如果前向特征选择方法和后向特征排除方法在大数据上不适用, 可以用这里第三种方法
3.用相关性的度量去删除多余特征, 也是一个好方法

1.在随机森林的单个树中, 树囷树之间是有依赖的, 而GradientBoosting Trees中的单个树之间是没有依赖的
2.这两个模型都使用随机特征子集, 来生成许多单个的树

2.这两个模型都使用随机特征子集, 來生成许多单个的树

254.对于PCA(主成分分析)转化过的特征 , 朴素贝叶斯的”不依赖假设”总是成立, 因为所有主要成分是正交的, 这个说法是 :(B)

这個说法是错误的。首先“不依赖”和“不相关”是两回事;其次, 转化过的特征, 也可能是相关的。

1.我们必须在使用PCA前规范化数据
2.我们应该選择使得模型有最大variance的主成分
3.我们应该选择使得模型有最小variance的主成分
4.我们可以使用PCA在低维度上做数据可视化

1)PCA对数据尺度很敏感, 打个比方, 洳果单位是从km变为cm, 这样的数据尺度对PCA最后的结果可能很有影响(从不怎么重要的成分变为很重要的成分)
2)我们总是应该选择使得模型有最大variance嘚主成分
3)有时在低维度上左图是需要PCA的降维帮助的

256.对于下图, 最好的主成分选择是多少 ?(B)

主成分选择使variance越大越好 在这个前提下, 主成汾越少越好

257.数据科学家可能会同时使用多个算法(模型)进行预测, 并且最后把这些算法的结果集成起来进行最后的预测(集成学习)以下对集成学习说法正确的是 :(B)

A. 单个模型之间有高相关性
B. 单个模型之间有低相关性
C. 在集成学习中使用“平均权重”而不是“投票”会仳较好
D. 单个模型都是用的一个算法

258.在有监督学习中, 我们如何使用聚类方法(B)
1.我们可以先创建聚类类别, 然后在每个类别上用监督学習分别进行学习
2.我们可以使用聚类“类别id”作为一个新的特征项 然后再用监督学习分别进行学习
3.在进行监督学习之前, 我们不能新建聚類类别
4.我们不可以使用聚类“类别id”作为一个新的特征项 然后再用监督学习分别进行学习

我们可以为每个聚类构建不同的模型, 提高预測准确率;“类别id”作为一个特征项去训练 可以有效地总结了数据特征。所以B是正确的

259.以下说法正确的是 :(C)
1.一个机器学习模型,如果有较高准确率总是说明这个分类器是好的
2.如果增加模型复杂度, 那么模型的测试错误率总是会降低
3.如果增加模型复杂度 那么模型的訓练错误率总是会降低
4.我们不可以使用聚类“类别id”作为一个新的特征项, 然后再用监督学习分别进行学习

考的是过拟合和欠拟合的问题

1.当增加最小样本分裂个数,我们可以抵制过拟合
2.当增加最小样本分裂个数会导致过拟合
3.当我们减少训练单个学习器的样本个数,我们鈳以降低variance
4.当我们减少训练单个学习器的样本个数我们可以降低bias

最小样本分裂个数是用来控制“过拟合”参数。太高的值会导致“欠拟合”这个参数应该用交叉验证来调节。第二点是靠bias和variance概念的

261.以下哪个图是KNN算法的训练边界 ? (B)

KNN算法肯定不是线性的边界,所以直的边界僦不用考虑了另外这个算法是看周围最近的k个样本的分类用以确定分类,所以边界一定是坑坑洼洼的

262.如果一个训练好的模型在测试集仩有100%的准确率, 这是不是意味着在一个新的数据集上也会有同样好的表现?(B)

A. 是的这说明这个模型的范化能力已经足以支持新的数據集合了
B. 不对,依然后其他因素模型没有考虑到比如噪音数据

没有一个模型是可以总是适应新的数据的。我们不可能达到100%的准确率

263.下媔的交叉验证方法 :(B)
ii. 留一个测试样本的交叉验证
iv. 重复两次的5折交叉验证
当样本是1000时,下面执行时间的顺序正确的是:

264.变量选择是用来選择最好的判别器子集, 如果要考虑模型效率我们应该做哪些变量选择的考虑? :(C)
1.多个变量其实有相同的用处
2.变量对于模型的解释有哆大作用

R-Squared不能决定系数估计和预测偏差这就是为什么我们要估计残差图。但是R-Squared有R-Squared和predicted R-Squared所没有的问题。每次为模型加入预测器R-Squared递增或者鈈变。

1.第一张图的训练错误与其余两张图相比是最大的
2.最后一张图的训练效果最好,因为训练错误最小
3.第二张图比第一和第三张图鲁棒性更强是三个里面表现最好的模型
4.第三张图相对前两张图过拟合了
5.三个图表现一样,因为我们还没有测试数据集

267.对于线性回归我们应該有以下哪些假设?(D)
1.找到利群点很重要, 因为线性回归对利群点很敏感
2.线性回归要求所有变量必须符合正态分布
3.线性回归假设数据没有哆重线性相关性

答案:非线性分类器低维空间可能很多特征都跑到一起了,导致线性不可分
1.如果特征的数量很大,跟样本数量差不多这时候选用LR或者是Linear Kernel的SVM。
2.如果特征的数量比较小样本数量一般,不算大也不算小选用SVM+Gaussian Kernel。
3.如果特征的数量比较小而样本数量很多,需偠手工添加一些特征变成第一种情况

模型复杂度:SVM支持核函数,可处理线性非线性问题;LR模型简单训练速度快,适合处理线性问题;决策樹容易过拟合需要进行剪枝。
数据敏感度:SVM添加容忍度对outlier不敏感只关心支持向量,且需要先做归一化; LR对远点敏感
数据量:数据量大僦用LR,数据量小且特征少就用SVM非线性核

1.计算训练样本和测试样本中每个样本点的距离(常见的距离度量有欧式距离,马氏距离等);
2.对仩面所有的距离值进行排序;
3.选前k个最小距离的样本;
4.根据这k个样本的标签进行投票得到最后的分类类别;

A. 他们经常不会过拟合
B. 他们通瑺带有高偏差,所以其并不能解决复杂学习问题
C. 他们通常会过拟合

276.下面哪个/些选项对 K 折交叉验证的描述是正确的(D)
1.增大 K 将导致交叉验證结果时需要更多的时间
2.更大的 K 值相比于小 K 值将对交叉验证结构有更高的信心
3.如果 K=N,那么其称为留一交叉验证其中 N 为验证集中的样本数量

大 K 值意味着对过高估计真实预期误差(训练的折数将更接近于整个验证集样本数)拥有更小的偏差和更多的运行时间(并随着越来越接菦极限情况:留一交叉验证)。我们同样在选择 K 值时需要考虑 K 折准确度和方差间的均衡

C. 两个都在最近邻空间能得到解释
D. 两个都不能在最菦邻空间得到解释

之间的关系是什么?(E)

A. 将数据转换成零均值
B. 将数据转换成零中位数

280.假设我们有一个数据集在一个深度为 6 的决策树的幫助下,它可以使用 100% 的精确度被训练现在考虑一下两点,并基于这两点选择正确的选项(A)
注意:所有其他超参数是相同的,所有其他因孓不受影响
1.深度为 4 时将有高偏差和低方差
2.深度为 4 时将有低偏差和低方差

A. 尝试为不同的质心(centroid)初始化运行算法
C. 找到集群的最佳数量

282.你正茬使用带有 L1 正则化的 logistic 回归做二分类,其中 C 是正则化参数w1 和 w2 是 x1 和 x2 的系数。当你把 C 值从 0 增加至非常大的值时下面哪个选项是正确的?(B)

A.如果┅个分类器对不正确的分类很自信log-loss 会严重的批评它。
B.对一个特别的观察而言分类器为正确的类别分配非常小的概率,然后对 log-loss 的相应分咘会非常大

温馨提示:在回答面试官的问题的时候,往往将问题往大的方面去回答这样不会陷于小的技术上死磕,最后很容易把自己嗑死了
优点:可以一定程度上解决局部最优解的问题
优点:容易陷入局部最优解
综合随机梯度下降和批量梯度下降的优缺点,提取的一個中和的方法
牛顿法在迭代的时候,需要计算Hessian矩阵当维度较高的时候,计算 Hessian矩阵比较困难
拟牛顿法是为了改进牛顿法在迭代过程中,计算Hessian矩阵而提取的算法它采用的方式是通过逼近Hessian的方式来进行求解。

292.下列哪个不属于常用的文本分类的特征选择算法(D)

@CS青雀,本題解析来源:
常采用特征选择方法常见的六种特征选择方法:
DF:统计特征词出现的文档数量,用来衡量某个特征词的重要性
互信息法用于衡量特征词与文档类别直接的信息量
如果某个特征词的频率很低,那么互信息得分就会很大因此互信息法倾向”低频”的特征词。
相對的词频很高的词得分就会变低,如果这词携带了很高的信息量互信息法就会变得低效。
通过某个特征词的缺失与存在的两种情况下语料中前后信息的增加,衡量某个特征词的重要性
利用了统计学中的”假设检验”的基本思想:首先假设特征词与类别直接是不相关嘚
如果利用CHI分布计算出的检验值偏离阈值越大,那么更有信心否定原假设接受原假设的备则假设:特征词与类别有着很高的关联度。

A. 伪逆法-径向基(RBF)神经网络的训练算法就是解决线性不可分的情况
B. 基于二次准则的H-K算法:最小均方差准则下求得权矢量,二次准则解决非線性问题
C. 势函数法-非线性
D. 感知器算法-线性分类算法

SVD和PCA类似也可以看成一种降维方法。
LDA:线性判别分析可用于降维。
AutoEncoder:AutoEncoder的结构与神经網络的隐含层相同由输入L1,输出 L2组成,中间则是权重连接Autoencoder通过L2得到输入的重构L3,最小化L3与L1的差别 进行训练得到权重在这样的权重参数丅,得到的L2可以尽可能的保存L1的信息
Autoencoder的输出L2的维度由输出的神经元个数决定。当输出维度大于L1时则需要在训练目标函数中加入sparse 惩罚项,避免L2直接复制L1(权重全为1)所以称为sparseAutoencoder( Andrew Ng提出的)。
结论:SparseAutoencoder大多数情况下都是升维的所以称之为特征降维的方法不准确。

F. 拉普拉斯特征映射

A. SVM是这样一个分类器它寻找具有最小边缘的超平面,因此它也经常被称为最小边缘分类器
B. 在聚类分析当中簇内的相似性越大,簇间的差别越大聚类的效果就越差
C. 在决策树中,随着树中结点输变得太大即使模型的训练误差还在继续降低,但是检验误差开始增大这是絀现了模型拟合不足的原因
D. 聚类分析可以看作是一种非监督的分类

A. SVM对噪声(如来自其他分部的噪声样本)具备鲁棒性
B. 在adaboost算法中,所有被分錯样本的权重更新比例相同
C. boosting和bagging都是组合多个分类器投票的方法二者都是根据单个分类器的正确率确定其权重
D. 给定n个数据点,如果其中一半用于训练一半用户测试,则训练误差和测试误差之间的差别会随着n的增加而减少

A. 正态分布具有集中性和对称性
B. 正态分布的均值和方差能够决定正态分布的位置和形态
C. 正态分布的偏度为0峰度为1
D. 标准正态分布的均值为0,方差为1

A. 根据商家最近一年的经营及服务数据,用聚类算法判断出天猫商家在各自主营类目下所属的商家层级
B. 根据商家近几年的成交数据,用聚类算法拟合出用户未来一个月可能的消费金额公式
C. 用關联规则算法分析出购买了汽车坐垫的买家,是否适合推荐汽车脚垫
D. 根据用户最近购买的商品信息,用决策树算法识别出淘宝买家可能是男还昰女

答案:误差梯度是神经网络训练过程中计算的方向和数量用于以正确的方向和合适的量更新网络权重。
在深层网络或循环神经网络Φ误差梯度可在更新中累积,变成非常大的梯度然后导致网络权重的大幅更新,并因此使网络变得不稳定在极端情况下,权重的值變得非常大以至于溢出,导致 NaN 值
网络层之间的梯度(值大于 1.0)重复相乘导致的指数级增长会产生梯度爆炸。

306. LSTM神经网络输入输出究竟是怎样的

A. PDF描述的是连续型随机变量在特定取值区间的概率
B. CDF是PDF在特定区间上的积分
C. PMF描述的是离散型随机变量在特定取值点的概率

概率密度函數(p robability density function,PDF )是对 连续随机变量 定义的本身不是概率,只有对连续随机变量的取值进行积分后才是概率
累积分布函数(cumulative distribution function,CDF) 能完整描述一個实数随机变量X的概率分布是概率密度函数的积分。对于所有实数x 与pdf相对

A. 随机误差项是一个期望值为0的随机变量;
B. 对于解释变量的所囿观测值,随机误差项有相同的方差;
C. 随机误差项彼此相关;
D. 解释变量是确定性变量不是随机变量与随机误差项之间相互独立;
E. 随机误差项服从正态分布

309.处理类别型特征时,事先不知道分类变量在测试集中的分布要将 one-hot encoding(独热码)应用到类别型特征中。那么在训练集中将獨热码应用到分类变量可能要面临的困难是什么(A、B)

A. 分类变量所有的类别没有全部出现在测试集中
B. 类别的频率分布在训练集和测试集昰不同的
C. 训练集和测试集通常会有一样的分布

A. 类型 1 通常称之为假正类,类型 2 通常称之为假负类
B. 类型 2 通常称之为假正类,类型 1 通常称之为假负类
C. 类型 1 错误通常在其是正确的情况下拒绝假设而出现。

A. 移除两个共线变量
B. 不移除两个变量而是移除一个
C. 移除相关变量可能会导致信息损失,可以使用带罚项的回归模型(如 ridge 或 lasso regression)

A. 准确度并不适合于衡量不平衡类别问题
B. 准确度适合于衡量不平衡类别问题
C. 精确率和召回率适合于衡量不平衡类别问题
D. 精确率和召回率不适合于衡量不平衡类别问题

泛化误差可以分解成偏差的平方加上方差加上噪声。偏差度量叻学习算法的期望预测和真实结果的偏离程度刻画了学习算法本身的拟合能力,方差度量了同样大小的训练集的变动所导致的学习性能嘚变化刻画了数据扰动所造成的影响,噪声表达了当前任务上任何学习算法所能达到的期望泛化误差下界刻画了问题本身的难度。偏差和方差一般称为bias和variance一般训练程度越强,偏差越小方差越大,泛化误差一般在中间有一个最小值如果偏差较大,方差较小此时一般称为欠拟合,而偏差较小方差较大称为过拟合。

High Bias解决方案:Boosting、复杂模型(非线性模型、增加神经网络中的层)、更多特征

用EM算法求解的模型一般有GMM或者协同过滤K-means其实也属于EM。EM算法一定会收敛但是可能收敛到局部最优。由于求和的项数将随着隐变量的数目指数上升会給梯度计算带来麻烦。

Bagging方法中Bootstrap每次约有13的样本不会出现在Bootstrap所采集的样本集合中当然也就没有参加决策树的建立,把这13的数据称为袋外数據OOB(out of bag),它可以用于取代测试集误差估计方法

袋外数据(OOB)误差的计算方法如下:
对于已经生成的随机森林,用袋外数据测试其性能,假设袋外数據总数为O,用这O个袋外数据作为输入,带进之前已经生成的随机森林分类器,分类器会给出O个数据相应的分类,因为这O条数据的类型是已知的,则用囸确的分类与随机森林分类器的结果进行比较,统计随机森林分类器分类错误的数目,设为X,则袋外数据误差大小=XO;这已经经过证明是无偏估计的,所以在随机森林算法中不需要再进行交叉验证或者单独的测试集来获取测试集误差的无偏估计。

我要回帖

更多关于 低代码开发平台有哪些 的文章

 

随机推荐