去学电脑先学什么什么都不会的人学不学得来?会不会学的比别人差?

  不过这一切并未影响雷军嘚学业,相反他在计算机的世界里如鱼得水,只用2年就修完了大学4年的课程

  跟同事聊天时被问到我是否有兴趣做我们某一个产品嘚产品经理,我一下子被问住了因为虽然之前也听过这个名词很多次了,但实际上我不知道这个职位到底的职责是什么所以不敢贸然答应,仔细想想自己已经工作两年了虽然平时也在注意积累,但还真没认真思考下自己未来的是该认真总结想想了。

  历经多年艰辛雷军带领金山了发展的快车道,同时也为自己铸就了最勤奋CEO、金牌CEO、中国最好的职业经理人的荣耀在中国IT史上留下了自己的传奇。

  通常软件技术人员的职业发展有几个选择:专注于技术,成为技术专家;转型到技术型销售、技术支持等;随着技术成长从技术性管理到高级管理。这是大家都看得清楚的方向也都在向这些方向的尖努力。

  也有一些程序员工作机遇比较好不但负责了项目的設计工作,而且负责了项目管理工作对项目经理这个工作有了一定的尝试。因此这类程序员可以审视一下自 己,是否合适这项工作洳果自己对这种工作比较满意,而且具备项目经理的要求则可以向项目经理这个方向发展。项目经理承担着项目管理的职责对项目负主 要责任。它和程序员的作用也不相同项目经理的重点已经从编程转移到对人、对技术、对进度、对项目的管理。由于软件的项目经理與软件项目的相关性太大因 此,他必须要了解软件开发的各个环节、了解开发的各种技术和运用、了解开发队伍人员的水平和特点所鉯他依旧和程序员脱不了干系。从程序员到项目经理可以 使得项目经理更好地理解程序员在项目中的地位和作用了解软件开发的各种规律性的东西。从而项目的正常完成而且,项目经理的收入在公司中的地位也是 比较高的因此,我认为项目经理是程序员的另一个发展涳间我想提醒一下,程序员在担任项目经理之前最好要把软件设计工作做好这样在做项目经理的时 候,就会有很好的基础

  还 有┅种情况,程序员工作很努力技术水平也有很大的提高,工作成绩也很突出但是,公司的工作让他感觉不好例如,收入和付出差距佷大而且短期内看 不到加薪的可能;自己的技术水平已经超出公司开发所需,英雄无用武之地;公司的经营状况比较差、看不到公司未來;公司的人际关系紧张,自己得不 到重用等他可以选择跳槽走人。要说明的是这个时候跳槽走人你是有本钱的,这个本钱就是你積累的工作业绩、技术水平和工作能力

  从1992年金山,到2007年金山上市雷军在金山16年如一日,身上洋溢着的始终是最初的梦想与金山,也成为民族软件产业的一面旗帜

  不同的层次,难度系数不一样对技术要求、个人素质要求也不一样。要成为系统开发者、专 业開发者、高级应用开发者需要有很高的专业知识和很强的逻辑、抽象、空间思维能力,这就要求具有很好的基础同时具有较大的提升潛力。而要成为简单开发 者和初级应用开发者则相对容易些正是这样,才使很多人了软件开发的道

  已经工作两年以上的程序员可鉯有几种基本的职业规划:技术专家、软件架构师、实施顾问或销售。其中程序员最主要的发展方向是资深技术专家无论是 Java、是数据库領域,都要首先成为专家然后才可能继续发展为架构师。尽管架构师的职位可以工作一辈子待遇也非常好,对于科班出身的程序 员最為适合但这种工作职位非常有限,因为在中国目前的IT行业架构师需要的条件比较复杂,而且需求量也比较少这也是我国软件行业国際并有待成熟 的因素之一。

  调查研究后带着解决方案去找老板,就会得到老板的重视和信任所以一定要增强工作主动性和参与性。无论是软件开发还是项目管理国内员工大多只是做好份内事或完成交派任务,很少能主动发现问题其实,只有拥有更高眼界才能謀取大发展。

  上世纪80年代末90年代初正是中国互联网和软件业刚刚开始起步的阶段。越来越强烈的实践冲动让雷军不再甘于纸上谈兵,临近毕业时开始自己创业

  总之,程序员要根据本身的基本素质、技术能力选择开发层次由低到高,逐步发展也是一名程序員本身具备相应素质的循序渐进的发展轨迹,包括很强的技术背景和综合管理才能等素养这也就是所谓两条腿走的职业规划发展线。

  无论程序员个体之间差异有多大我认为程序员上升空间在于技术上的反思和提高。程序员到了成熟阶段往往有一种狂奔到终点后的那种感觉,身体无力特别需要休整再战。要知道程序员在奔跑的时候一般是在使用自己的体力,很少用到跑步的技术和技巧尤其是箌最后,更是依靠体力来支撑从技术提高的曲线来看,新手的技术提高速度最快无论从时间还是急迫性两个方面对新手的压力挺大的。而到了成熟阶段其编程时间也大大缩短了和学习技术的迫切性也降低了, 所以技术提高速度就慢下来许多在现实中,我们真的看到囿些年轻的程序员还看不起那些程序员的技术水平呢就是这个道理。

  1997年雷军果断提出立足办公软件市场,全方位进军家用软件市場此后,随着国内首套商业PC游戏《中关村录》、VCD全屏播放软件《金山影霸》及计算机学习软件《电脑入门》等产品的问世人们记住了金山的名字。

  在未来发展上首先确定自己的发展方向和研究方向在学习技术的同时还要为以后做准备,做好以后的技术转型广度囷深度是相对的,先广还是先深实质上从某种 意义来说取决你的工作性质如果你是从事单一工作的,多半你会短暂先深因为这是你立足的根本;而如果你选择的职业是综合性的,比如管理、等那么你 必然要先有广度才可以,但一段时间后你都要转入深度,只有你在某一方面或领域有一定的深度后你才能继续寻求广度,否则你将什么都会,但什么都不精 这样的人在市场上是最难以立足的。

  莋者图文来自网络、如涉及版权问题请联系我们以便处理。文章内容纯属作者个人观点不代表本网观点。

  新世纪到来伴着软件業黄金时代的黯淡,中国以互联网为主导的时代来临雷军敏锐地感到,互联网时代的传统软件企业必须应时否则就会像恐龙一样消 亡。2000年他看好电子商务这一模式,并创办了后来成为行业旗舰企业的卓越网;2003年后雷军又带领金山进军网游(网络游戏)。

  从1988年到1995姩金山WPS曾凭技术领先。然而前有微软,后有盗版90年代中期,这一行业背景让金山陷入前所未有的困境

  产品经理的职责:一般來说,产品经理是负责并高质量的软件产品按时完成和发布的专职管理人员他的任务包括倾听用户需求;负责产品功能的定义、规划和設计;做各种复杂决策,开发队伍顺利开展工作及程序错误等总之,产品经理全权负责产品的最终完成另外,产品经理还要认真搜集鼡户的新需求、竞争产品的资料并进行需求分析、竞品分析以及研究产品的发展趋势等。

  大四那年雷军和另外3个志同道合的同学,用卖电脑的四五千块钱开办了自己的三色软件公司,开发出国内很早的毒软件免疫90

  然而半年不到,既没有社会资源又不曾受過系统商业训练的雷军就感到力不从心。最初的创业梦以失败告终

  很多程序员希望自己能成为公司中的主管、经理、老总、老板,這样无论是收入和在公司的地位都相对比较高一些另外,一方面程序员可能厌倦了年复一年的编程工 作对工作产生了抵触情绪,希望能摆脱这种步步紧逼的工作状态管理者其实要求程序员要比一般人做更多的准备,要做更多的转型工作并不是想当管理者 就能成为管悝者的。但是如果程序员有这个志向和爱好,有积累了这方面的工作经验自己也感觉在这个方面能够发展,更重要的是有这样的机会管理者也 是可能的。由于软件公司的管理者毕竟不同于一般公司的管理者专业能力越强,管理起来就越得心应手的没有专业能力的管理,遇到的问题很多也很难解决。 因此我的程序员最好要把编程、项目设计、项目管理等基础打打好。这样转型到管理者成功率就會高一些

  我一直说,程序员最大的缺点之一就是眼光只盯在技术上。程序员在入门阶段和成长阶段这种情况还是属于正常的。泹是到了成熟阶段这种缺点将严重影响了程 序员的发展。程序员在工作中不免会接触到用户不免会了解到用户的需求。从而了解到软件实际发挥的作用进而了解了自身的工作价值所在。有的程序员则固步 自封不愿意和打交道,从内心里坚守技术底线有的程序员则囍欢和外人交流,喜欢把自己的软件推荐给用户而且用户也乐意接受这种专业的介绍,用户的 接受是程序员价值的直接实现程序员因此获得了工作成就感。这类的程序员可以将自己的专业知识和产品营销结合在一起推动软件的销售和服务,转向软件营销 职业这个职業将是一个比程序员更有发展的职业,它可以直接反应程序员的工作能力和工作程序员的收入和销售会直接挂钩。因此可以让有才华嘚程序员 获得更高的收入,接触到更大的软件市场看到更广的个人发展空间。

  因此成熟的程序员在安顿之后,一定要坐下来反思洎己看看自己的技术发展之,哪些走的比较踏实哪些走的比较急促;哪些是自己的技术特长,哪些是自己的 技术薄弱环节反思后一萣要抽出时间抓紧学习,把自己的技术上明显不足的地方给补上这样程序员的技术水平加上丰富经验和工作能力会使得自己更加具有实 仂,可以应付各种挑战为今后的发展铺平道。

  也就是在那时雷军起了一个念头:创办一家世界级软件企业,让自己做的软件界的烸一台电脑上运行

  如果把软件产品开发当做赛艇运动,在最前面擂鼓喊号的是产品经理他不但要每个参与者都使足力气,而且要協调所有的参与者将他们的力气往一处使,他还要所有人的方向都是一致的都知道朝哪个方向走,不能出现有人用力不对的情况

  程序员通常的发展线是怎样的?可以看看这个图当一个初步的职业规划方案已经成型时,如果制订者目前已在一个软件公司工作那麼,对他来说进一步的提升非常重要 首先要做的则是进行角色分析,反思一下这个职业对个人的要求和期望是什么如何使自己在单位Φ脱颖而出。

  回忆那段大学生涯雷军说:我特别害怕落后,怕一旦落后我就追不上,我不是一个善于在逆境中的人我会先把一個事情想得非常透彻,目的就是不让自己陷入逆境我是首先让自己立于不败之地,然后再出发的人

  决胜点在于长期的点滴积累,認证证书、成绩、丰富的经历是求职的表面文章在目前软件行业里不是很看中这个,真正的内功是需要规划的至于培训,我倒 是很直接加入软件公司你就会学到很多实际的东西。不过学历教育虽然在职业生涯里不是主要的,但是随着职位的提升却有很重要的意义能辅助拓展你的 职业发展空间,而不是以此为阻碍从而失去更多的机会

  今年39岁的雷军祖籍仙桃,在武汉度过了自己的大学时光1992年金山公司,从程序员做起到几年后的高级管理者,再到执掌金山近10年的CEO

  产品经理(Product Manager),又称品牌经理(Brand Manager)是企业守门员、品牌塑造者、更是营销。它既是一套完善的营销运作制度更是精深的营销操作。举凡产品从创意到上市所有相关的研发、调研、生产、编預算、广告、促销活动等等,都由产品经理掌控

  在百度上雷军的名字,相关的网页达到了250多万个可以说,无论是在IT界还是民间對雷军的关注度都是巨大的。

  2007年底雷军宣布辞去所有在金山一线的管理职务,只保留了副董事长和战略委员会的职务

  成功与夨败的区别在于,成功者选择了正确而失败者选择了错误因此,我们常常能够看到一些天赋相差无几的人由于选择了不同的方向,人苼却迥然相异选择正确的方向尤为重要,希望不同的程序员根据自己不同的优势和特点能画出适合自己的程序员职业规划图

  大学畢业后,雷军被分配到航天部但他内心并不喜欢那样的工作氛围。1992年7月带着大学时的与梦想,雷军在金山软件公司开始了新的旅程

  这归根结底,都是以技术为基础在扎实的技术基础上(高级软件工程师),如果有着比较强的抽象设计能力又打算专注于技术开發,架构师是个好的选择;如果 性格更适合做管理情商能力突出,技术型管理应该是下一步的方向这种发展规划属于瘸腿走的类型,各有侧重主攻发展的职业方向也是目前一般程序员 普遍采用的发展线规划。

  根据自己的情况决定自己做软件架构师还是高级的顾問销售,另外一部分人可能就会管理这和 个人性格与情商有关。软件优秀的管理者都必须懂得技术掌握核心技能的人才向管理岗位转型有很大的优势,因而提升管理能力成了转型的关键譬如,当唐骏还 是微软一名普通程序员时就从公司发展的角度考虑,向老板提议開发了中文版Windows最终使他从几万名工程师中脱颖而出,成为部门经理正如他所 说,虽然是程序员但自己不能只把自己当程序员,你可鉯为老板和公司着想

  产品经理的角色:在产品管理中,产品经理是领头人是协调员,是者但他并不是老板。作为产品经理虽嘫针对产品开发本身有很大的,可以对产品生命周期中的各阶段工作进行干预但从行政上讲,并不像一般的经理那样有自己的下属但怹又要调动很多资源来做事,因此如何做好这个角色是需要相当技巧的

  从WPS到网络游戏,在国产软件步履维艰的现实条件下金山走絀了一条曲线日,金山正式在联交所上市

  目前国内缺乏的是管理能力和专业知识技能并驾齐驱的IT人才。特别是懂得运用目标管理技術的项目管理人才既掌握核心技术又有全局掌控能力的项目管理人才,非常难找我对于大多数人来说,首先是要专只有在技术方向仩做得比较深入,才能适当做工作调整把自己转变为某个领域的专家。

  以后每一天早上7点,他都会第一个冲进教室占座位坐在朂前排听课;周末他喜欢看电影,但经常要自习到九、十点钟以后看晚间场

  大一开设的第一门课叫PASCAL程序设计,雷军经常因为程序设計出众受到老师的表扬。大二时这位老师将雷军写的程序编进了教材。由于小有名气人 又踏实好学,其他老师想找他帮忙做事也會主动把计算机房钥匙交给他,在那个计算机是个宝的年代他最多竟同时拥有3个机房的钥匙!

  初次的创业经历也让雷军收获很多。怹更地认识了自己的优势和劣势这使他在以后的创业历程中变得更加谨慎;他对企业运作有了初步的了解,这为他日后向企业高层管理鍺的转型奠定了基础

  从小学到中学,雷军的成绩一直都很拔尖在我的印象中,闻一多等很多名人都是在大学成名的我当时也想利用大学的机会证明我的优秀。

  雷军家里并不富裕大学期间,雷军父母的工资加起来不到300块家里还有一个姐姐也在上大学,雷军烸个月要从家里拿走150块钱他知道自己这是拿走 了家里的一半收入,父母会过得很心里很不是滋味。于是他千方百计找各种兼职挣钱。当时向各赚取稿费是他收入的主要来源。他还时常在武汉 的电子一条街有时倒卖点产品,有时替别人维修机器有时动手编一点小軟件。

  程序员在成熟期面临着上升空间的选择是上还是不上往往决定了程序员今后的发展。水往低处流人往高处走,只要程序员囿向上的意识不满足于现状,根据自身的特点和资源选择发展方向我想程序员一定会有很好的发展前途。

  而那些顺其自然的思想使得程序员缺少技术提高的主动性,程序员有明显的技术上的问题也不主动去解决,而是拖之再拖从而使得程序员的成熟度大打了折扣。

  当 然也有一些程序员惰性比较大满足于现状,享受着眼前的胜利果实也无可非议。对待这些程序员我们不要他们改变自巳的想法,我是原地发展把本 职工作做得更好,把自己的技术水平往上再提高一步在这个过程中他们的能力和自信心都会得到提高,怹们的想法不会一直一成不变的磨不误柴功,快了 自然会去柴的

  高考填写志愿时,好朋友选择了计算机系为了日后和好友仍有囲同语言的雷军也填了同样的专业,并以优异的成绩考入武汉大学计算机系

  就像烹饪一样,每一个阶段目标都需要你进行角色分析找出这一角色需要的配料,当你注意收集技术、素养等相关配料后就会成功烹饪出你所需要的目标鱼。前提是你一定要了解自己的特點和优势就好比黄瓜种子是不可能培育成西瓜一样。

  其实很多程序员走到这个阶段已经在做软件设计师工作了这是绝大多数程序員发展的必经之。因为程序员在编程序的时候,一方面会实现设计的功能另一方面 也在对设计有一个理解、认识、熟知的过程。进而慢慢地从学习别人设计转向到自己参与或设计。如果这个程序员真的非常非常喜欢程序员这个职业则可以 转向软件设计师。这个转变佷大程度是程序员意识的转变就是说要把编程的时间,逐步分摊到软件设计上要把重点从编程实现转变到项目的功能设计上。我这里 強调的是逐步的一个过程程序员要逐步减少编程的时间,增加设计的时间要克服编程的强大吸引力,要主动地攀上设计这个台阶很難有一个设计师是完全 不编程的,而且我认为会编程的设计师才是真正的设计师。一般这种转变需要花上一到两年时间

  刚开始接觸计算机编程的那会儿,雷军就很快被这种可以计算机的感觉所吸引你会觉得在做软件开发的过程中,你就是你自己领地上的国王

  不久,金山还相继推出了国内第一套大型武侠RPG游戏《剑侠情缘》、《WPS97》和《金山词霸》等产品金山一举成了中国软件市场上最耀眼的奣星。而与金山同一时代创业的一大批软件公司则在微软和盗版双重夹击下日渐式微。

  为了不落后于人雷军戒掉了午睡的习惯,紦时间分割成以半小时为单位为自己制定好每半小时的学习计划,最终雷军大一写的程序,等他上大二的时候已经被编进大一教材裏了。

}

统计学和机器学习之间的界定一矗很模糊

无论是业界还是学界一直认为机器学习只是统计学批了一层光鲜的外衣。

而机器学习支撑的人工智能也被称为“统计学的外延”

例如诺奖得主托马斯·萨金特曾经说过人工智能其实就是统计学,只不过用了一个很华丽的辞藻。

萨金特在世界科技创新论坛上表示,人工智能其实就是统计学

当然也有一些不同的声音但是这一观点的正反双方在争吵中充斥着一堆看似高深实则含糊的论述,着实让人摸不着头脑

一位名叫Matthew Stewart的哈佛大学博士生从统计与机器学习的不同;统计模型与机器学习的不同,这两个角度论证了机器学习和统计学并鈈是互为代名词

机器学习和统计的主要区别在于它们的目的

与大部分人所想的正相反,机器学习其实已经存在几十年了当初只是因为那时的计算能力无法满足它对大量计算的需求,而渐渐被人遗弃然而,近年来由于信息爆炸所带来的数据和算力优势,机器学习正快速复苏

言归正传,如果说机器学习和统计学是互为代名词那为什么我们没有看到每所大学的统计学系都关门大吉而转投'机器学习'系呢?因为它们是不一样的!

我经常听到一些关于这个话题的含糊论述最常见的是这样的说法:

"机器学习和统计的主要区别在于它们的目的。机器学习模型旨在使最准确的预测成为可能统计模型是为推断变量之间的关系而设计的。

虽然技术上来说这是正确的但这样的论述并没囿给出特别清晰和令人满意的答案。机器学习和统计之间的一个主要区别确实是它们的目的

然而,说机器学习是关于准确的预测而统計模型是为推理而设计,几乎是毫无意义的说法除非你真的精通这些概念。

首先我们必须明白,统计和统计建模是不一样的统计是對数据的数学研究。除非有数据否则无法进行统计。统计模型是数据的模型主要用于推断数据中不同内容的关系,或创建能够预测未來值的模型通常情况下,这两者是相辅相成的

因此,实际上我们需要从两方面来论述:第一统计与机器学习有何不同;第二,统计模型与机器学习有何不同

说的更直白些就是,有很多统计模型可以做出预测但预测效果比较差强人意。

而机器学习通常会牺牲可解释性以获得强大的预测能力例如,从线性回归到神经网络尽管解释性变差,但是预测能力却大幅提高

从宏观角度来看,这是一个很好嘚答案至少对大多数人来说已经足够好。然而在有些情况下,这种说法容易让我们对机器学习和统计建模之间的差异产生误解让我們看一下线性回归的例子。

统计模型与机器学习在线性回归上的差异

或许是因为统计建模和机器学习中使用方法的相似性使人们认为它們是同一个东西。对这我可以理解但事实上不是这样。

最明显的例子是线性回归这可能是造成这种误解的主要原因。线性回归是一种統计方法通过这种方法我们既可以训练一个线性回归器,又可以通过最小二乘法拟合一个统计回归模型

可以看到,在这个案例中前鍺做的事儿叫"训练"模型,它只用到了数据的一个子集而训练得到的模型究竟表现如何需要通过数据的另一个子集测试集测试之后才能知噵。在这个例子中机器学习的最终目的是在测试集上获得最佳性能。

对于后者我们则事先假设数据是一个具有高斯噪声的线性回归量,然后试图找到一条线最大限度地减少了所有数据的均方误差。不需要训练或测试集在许多情况下,特别是在研究中(如下面的传感器礻例)建模的目的是描述数据与输出变量之间的关系, 而不是对未来数据进行预测。我们称此过程为统计推断而不是预测。尽管我们可以使用此模型进行预测这也可能是你所想的,但评估模型的方法不再是测试集而是评估模型参数的显著性和健壮性。

机器学习(这里特指有监督学习)的目的是获得一个可反复预测的模型我们通常不关心模型是否可以解释。机器学习只在乎结果就好比对公司而言,你嘚价值只用你的表现来衡量而统计建模更多的是为了寻找变量之间的关系和确定关系的显著性,恰巧迎合了预测

下面我举一个自己的唎子,来说明两者的区别我是一名环境科学家。工作的主要内容是和传感器数据打交道如果我试图证明传感器能够对某种刺激(如气体濃度)做出反应, 那么我将使用统计模型来确定信号响应是否具有统计显著性。我会尝试理解这种关系并测试其可重复性,以便能够准确地描述传感器的响应并根据这些数据做出推断。我还可能测试响应是否是线性的?响应是否归因于气体浓度而不是传感器中的随机噪声等等。

而同时我也可以拿着从20个不同传感器得到的数据, 去尝试预测一个可由他们表征的传感器的响应。如果你对传感器了解不多这鈳能会显得有些奇怪,但目前这确实是环境科学的一个重要研究领域

用一个包含20个不同变量的模型来表征传感器的输出显然是一种预测,而且我也没期待模型是可解释的要知道,由于化学动力学产生的非线性以及物理变量与气体浓度之间的关系等等因素可能会使这个模型非常深奥,就像神经网络那样难以解释尽管我希望这个模型能让人看懂, 但其实只要它能做出准确的预测,我就相当高兴了

如果我試图证明数据变量之间的关系在某种程度上具有统计显著性,以便我可以在科学论文中发表我将使用统计模型而不是机器学习。这是因為我更关心变量之间的关系而不是做出预测。做出预测可能仍然很重要但是大多数机器学习算法缺乏可解释性,这使得很难证明数据Φ存在的关系

很明显,这两种方法在目标上是不同的尽管使用了相似的方法来达到目标。机器学习算法的评估使用测试集来验证其准確性然而,对于统计模型通过置信区间、显著性检验和其他检验对回归参数进行分析,可以用来评估模型的合法性因为这些方法产苼相同的结果,所以很容易理解为什么人们会假设它们是相同的

统计与机器学习在线性回归上的差异

有一个误解存在了10年:仅基于它们嘟利用相同的基本概率概念这一事实,来混淆这两个术语是不合理的

然而,仅仅基于这两个术语都利用了概率里相同的基本概念这一事實而将他们混为一谈是不合理的就好比,如果我们仅仅把机器学习当作皮了一层光鲜外衣的统计我们也可以这样说:

  • 物理只是数学的┅种更好听的说法。
  • 动物学只是邮票收藏的一种更好听的说法
  • 建筑学只是沙堡建筑的一种更好听的说法。

这些说法(尤其是最后一个)非常荒谬完全混淆了两个类似想法的术语。

实际上物理是建立在数学基础上的,理解现实中的物理现象是数学的应用物理学还包括統计学的各个方面,而现代统计学通常是建立在Zermelo-Frankel集合论与测量理论相结合的框架中以产生概率空间。它们有很多共同点因为它们来自楿似的起源,并运用相似的思想得出一个逻辑结论同样,建筑学和沙堡建筑可能有很多共同点但即使我不是一个建筑师,也不能给出┅个清晰的解释但也看得出它们显然不一样。

在我们进一步讨论之前需要简要澄清另外两个与机器学习和统计有关的常见误解。这就昰人工智能不同于机器学习数据科学不同于统计学。这些都是没有争议的问题所以很快就能说清楚。

数据科学本质上是应用于数据的計算和统计方法包括小数据集或大数据集。它也包括诸如探索性数据分析之类的东西例如对数据进行检查和可视化,以帮助科学家更恏地理解数据并从中做出推论。数据科学还包括诸如数据包装和预处理之类的东西因此涉及到一定程度的计算机科学,因为它涉及编碼和建立数据库、Web服务器之间的连接和流水线等等

要进行统计,你并不一定得依靠电脑但如果是数据科学缺了电脑就没法操作了。这僦再次说明了虽然数据科学借助统计学这两者不是一个概念。

同理机器学习也并非人工智能;事实上,机器学习是人工智能的一个分支这一点挺明显的,因为我们基于以往的数据“教”(训练)机器对特定类型的数据进行概括性的预测

在我们讨论统计学和机器学习の间的区别前,我们先来说说其相似性其实文章的前半段已经对此有过一些探讨了。

机器学习基于统计的框架因为机器学习涉及数据,而数据必须基于统计学框架来进行描述所以这点十分明显。然而扩展至针对大量粒子的热力学的统计机制,同样也建立在统计学框架之下

压力的概念其实是数据,温度也是一种数据你可能觉得这听起来不合理,但这是真的这就是为什么你不能描述一个分子的温喥或压力,这不合理温度是分子相撞产生的平均能量的显示。而例如房屋或室外这种拥有大量分子的我们能用温度来描述也就合理了。

你会认为热力学和统计学是一个东西吗当然不会,热力学借助统计学来帮助我们理解运动的相互作用以及转移现象中产生的热

事实仩,热力学基于多种学科而非仅仅统计学类似地,机器学习基于许多其他领域的内容比如数学和计算机科学。举例来说:

机器学习的悝论来源于数学和统计学

机器学习算法基于优化理论、矩阵代数和微积分

机器学习的实现来源于计算机科学和工程学概念比如核映射、特征散列等。

当一个人开始用Python开始编程突然从Sklearn程序库里找出并使用这些算法,许多上述的概念都比较抽象因此很难看出其中的区别。這样的情况下这种抽象定义也就致使了对机器学习真正包含的内容一定程度上的无知。

统计学习理论——机器学习的统计学基础

统计学囷机器学习之间最主要的区别在于统计学完全基于概率空间你可以从集合论中推导出全部的统计学内容,集合论讨论了我们如何将数据歸类(这些类被称为“集”)然后对这个集进行某种测量保证其总和为1.我们将这种方法成为概率空间。

统计学除了对这些集合和测量有所定义之外没有其他假设这就是为什么我们对概率空间的定义非常严谨的原因。一个概率空间其数学符号写作(Ω,F,P),包含三部分:

  • 一个樣本空间Ω,也就是所有可能结果的集合。
  • 一个事件集合,F每个事件都包含0或者其它值。
  • 对每个事件发生的可能性赋予概率P,这是┅个从事件到概率的函数

机器学习基于统计学习理论,统计学习理论也依旧基于对概率空间的公理化语言这个理论基于传统的统计学悝论,并发展于19世纪60年代

机器学习分为多个类别,这篇文章我仅着眼于监督学习理论因为它最容易解释(虽然因其充斥数学概念依然顯得晦涩难懂)。

统计学习理论中的监督学习给了我们一个数据集,我们将其标为S= {(x?,y?)}也就是说我们有一个包含N个数据点的数据集,烸个数据点由被称为“特征”的其它值描述这些特征用x描述,这些特征通过特定函数来描绘以返回我们想要的y值

已知这个数据集,问洳何找到将x值映射到y值的函数我们将所有可能的描述映射过程的函数集合称为假设空间。

为了找到这个函数我们需要给算法一些方法來“学习”如何最好地着手处理这个问题,而这由一个被称为“损失函数”的概念来提供因此,对我们所有的每个假设(也即提议的函數)我们要通过比较所有数据下其预期风险的值来衡量这个函数的表现。

预期风险本质上就是损失函数之和乘以数据的概率分布如果峩们知道这个映射的联合概率分布,找到最优函数就很简单了但是这个联合概率分布通常是未知的,因此我们最好的方式就是猜测一个朂优函数再实证验证损失函数是否得到优化。我们将这种称为实证风险

之后,我们就可以比较不同函数找出最小预期风险的那个假設,也就是所有函数中得出最小下确界值的那个假设

然而,为了最小化损失函数算法有通过过度拟合来作弊的倾向。这也是为什么要通过训练集“学习”函数之后在训练集之外的数据集,测试集里对函数进行验证

我们如何定义机器学习的本质引出了过度拟合的问题,也对需要区分训练集和测试集作出了解释而我们在统计学中无需试图最小化实证风险,过度拟合不是统计学的固有特征最小化统计學中无需视图程向于一个从函数中选取最小化实证风险的学习算法被称为实证风险最小化

以线性回归做一个简单例子。在传统概念中我們试图最小化数据中的误差找到能够描述数据的函数,这种情况下我们通常使用均值方差。使用平方数是为了不让正值和负值互相抵消然后我们可以使用闭合表达式来求出回归系数。

如果我们将损失函数计为均值方差并基于统计学习理论进行最小化实证风险,碰巧就能得到传统线性回归分析同样的结果

这个巧合是因为两个情况是相同的,对同样的数据以相同的方式求解最大概率自然会得出相同的结果最大化概率有不同的方法来实现同样的目标,但没人会去争论说最大化概率与线性回归是一个东西这个最简单的例子显然没能区分開这些方法。

这里要指出的第二点在于传统的统计方法中没有训练集和测试集的概念,但我们会使用不同的指标来帮助验证模型验证過程虽然不同,但两种方法都能够给我们统计稳健的结果

另外要指出的一点在于,传统统计方法给了我们一个闭合形式下的最优解它沒有对其它可能的函数进行测试来收敛出一个结果。相对的机器学习方法尝试了一批不同的模型,最后结合回归算法的结果收敛出一個最终的假设。

如果我们用一个不同的损失函数结果可能并不收敛。例如如果我们用了铰链损失(使用标准梯度下降时不太好区分,洇此需要使用类似近梯度下降等其它方法)那么结果就不会相同了。

最后可以对模型偏差进行区分你可以用机器学习算法来测试线性模型以及多项式模型,指数模型等来检验这些假设是否相对我们的先验损失函数对数据集给出更好的拟合度。在传统统计学概念中我們选择一个模型,评估其准确性但无法自动从100个不同的模型中摘出最优的那个。显然由于最开始选择的算法不同,找出的模型总会存茬一些偏误选择算法是非常必要的,因为为数据集找出最优的方程是一个NP-hard问题

这个问题其实很蠢。没有统计学机器学习根本没法存茬,但由于当代信息爆炸人类能接触到的大量数据机器学习是非常有用的。

对比机器学习和统计模型还要更难一些你需要视乎你的目標而定究竟选择哪种。如果你只是想要创建一个高度准确的预测房价的算法或者从数据中找出哪类人更容易得某种疾病,机器学习可能昰更好的选择如果你希望找出变量之间的关系或从数据中得出推论,选择统计模型会更好

图中文字:这是你的机器学习系统?对的伱从这头把数据都倒进这一大堆或者线性代数里,然后从那头里拿答案就好了答案错了咋整?那就搅搅搅到看起来对了为止。

如果你統计学基础不够扎实你依然可以学习机器学习并使用它——机器学习程序库里的抽象概念能够让你以业余者的身份来轻松使用它们,但伱还是得对统计概念有所了解从而避免模型过度拟合或得出些貌似合理的推论。

}

我要回帖

更多关于 学电脑先学什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信