但它已经成为我在,JS相关的高级和入门的资料都

作者:美狮美高梅官方网站

如果是非常艰深的学科,你应该多找一些资源,以帮助你理解得足够准确。

                                                                     十一

现在开始你可以选择继续巩固或者学习新的知识了。我本人对函数式编程比较感兴趣,所以学习了一个由Matt Podwysocki开发叫做RxJS的Reactive编程的解决方案。

我之前也参加了一个Rx.js的教程,另外在Egghead.io上也有许多RxJS的相关教程。

同样你也可以在gitter上参与RxJS的讨论,直接用Github账号登录就可以。

使用 RxJS 实现 JavaScript 的 Reactive 编程

RxJs 介绍

RxJS入门

原文更新在俺的GitHub上,如果觉得好点个star谢谢。机器学习/人工智能/自然语言处理资料教程集合

当你在学习你所选择的视频教程时,你总是会不明白你在做什么,这可能会令你不快。尽量不要太担心这个。如果遇到你不懂的东西,记下来并保留到第2步。

                                                                         八

Eric Elliott 在Github有一个很棒的收集列表Essential JavaScript Links.我推荐你去看看,因为里面收集的内容确实非常棒。这里面同样包括新闻站点、Twitter、视频等内容,我从这里面摘出了一些符合你现阶段所需了解的内容:

The Two Pillars of JavaScript Part 1: Prototypal OO

The Two Pillars of JavaScript Part 2: Functional Programming

现在我们开始结合在线视频学习了解更深入的内容,这也正是我度过中级阶段的方法。

Eric Elliott总是提供相当多非常棒的内容,包括原创和分享他人的。(译者之前也翻译过Eric Elliott的文章)

这个阶段的我对函数式编程特别感兴趣,而事实上我都没意识到自己当时学的就是函数式编程。函数式编程听起来可能有些太深奥了,可随着你的深入了解,你会发现它其实是非常实用的。不过你要是真的不感兴趣,也有别的学习方向可以选择。

来自Jafar Husain在 Programming: The End of The Loop是对函数式编程更底层的一个介绍。不过首先还是让我们了解些别的内容再回来深入这个主题吧。

数学

  • 《数学之美》作者:吴军 讲述数学在NLP语音等方面应用
  • 《程序员的数学系列》这套共三本含高数,线代,统计。写的很好
  • 《线性代数应该这样学》 从本质来讲,让你耳目一新,我就感觉线代白学了
  • 《The Elements of Statistical Learning》后期精进可以可以读读,挺难的
  • 《统计学习方法》作者:李航 讲解统计的一些方法。是机器学习的数学基础,另外需要线性代数,概率论,统计学等数学知识 后面阶段少不了推算公式的

最近一次我这样做是当我教自己如何编写神经网的代码时。在学习了Coursera课程后,我意识到我需要能够理解逻辑回归,在那之后我才能理解整个神经网络。所以我回去,从零开始学习了逻辑回归,然后继续学习神经网络的后续内容。这一次便轻松了很多。

正文从这开始~

ML&&NLP

  • 《机器学习》西瓜书 作者:周志华。 本人读过入门级拿西瓜做案例很清晰,没有数学基础还是不要看,特别是程序员,因为周老师层次太高偏学术。

  • 《DeepLearning》花书,最近中文版要出版了,称为圣书,这个可以慢慢啃,绝对要看的。

  • 《机器学习》作者Mitchell。Mitchell是机器学习的鼻祖,第一个提出机器学习概念的人。这本书很薄,很简单。内容很陈旧,但是都是机器学习的经典问题。而且,这本书概念清晰正确(很可贵啊,又简单又正确的书,说明作者功力很强)。

  • 《神经网络与机器学习》作者:Simon Haykin。 事实上,现在常见的很多机器学习算法都发端于神经网络,像SVM,深度学习,CNN等等。这本书详细的介绍了神经网络及其相关算法的所有细节。如果想深入了解的话,可以看一下。只想运用的话,也可以随便翻翻算法的介绍。

  • 《模式识别与机器学习》马春鹏 有数学基础再搞,不然很难受

  • 《集体编程智慧》代码丰富,结合理论搞

  • 《机器学习算法原理与编程实战》有理论有代码

  • 《机器学习实战》推荐

  • 《数据挖掘导论》我学习过程中必不可少

  • NLP自然语言处理怎么最快入门

  • 统计自然语言处理

  • 信息检索导论

  • 资料已经完全够了,没有必要再贪多了,有积累看论文才是王道

这里有一些我构建的初始项目。我并不为它们感到骄傲,但是我从中真的学到很多很多。

在我刚入门的时候要是能有一份指南为我指明相关的信息和资料就再好不过了。而最难的部分其实是徘徊在中等水平的时候。JS相关的高级和入门的资料都特别多,而中级的资料却很难找到,在文章里我会把我当时的解决办法介绍给大家。

二、修行(推荐李宏毅然后后吴恩达深度学习课程,然后决定走CV OR NLP 再看CS231N 或者 CS224N)

  • 台湾国立大学李宏毅中文教学讲课幽默易懂,很多不清楚的看了就懂了,它还有个PPT合集,堪称一天学完深度学习,浅显易懂可以搜搜
  • 吴恩达深度学习新课可以搜单个课程这样可以旁听不要钱【网易云课堂现在和吴恩达合作了,免费的中文字幕体验更好,作业还在courseras上写吧】
  • 2014 Andrew Ng 机器学习:英文原版视频 这就是针对自学而设计的,免费还有修课认证。“老师讲的是深入浅出,不用太担心数学方面的东西。而且作业也非常适合入门者,都是设计好的程序框架,有作业指南,根据作业指南填写该完成的部分就行。”(和林轩田课程二选一)
  • 2016年 林軒田 機器學習基石 (Machine Learning Foundations) -- 華文的教學講解
  • Neural Networks for Machine Learning Hinton的大牛课程,可想而知
  • 没有公式,没有代码的深度学习入门视频,每集五分钟
  • CS231N Stanford winter 2016FeiFei 计算机视觉大牛李飞飞的课程
  • CS224N NLP Winter 2017 搞NLP的可以看看,最新前言课程 slides
  • Udacity 的 ML & DL 最近刚看的,DL两个人合作以对话形式,很幽默
  • tornadomeet机器学习笔记
  • 上面学好了,足够了

找到你未意识到的未知

前言

  • 基础概念和认知
  • 入门
  • 教程
  • 书籍
  • 博客论坛期刊
  • 文章-论文
  • 其它
  • 我的学习路线和计划

总结

站在2016年的尾端,来看这篇文章会不会有点过时了呢?反正再过2个月2017年就要开始了,还是可以用的。今天的文章来自@余博伦翻译授权分享。

前面基本是我看过的书籍和教程推荐,在最后面有我的学习路线,避免多走弯路,实现高效系统学习。

虽然我的方法只是一个简单的 三步技巧,但它已经成为我在 5个月内从业余人员成长到专业Web开发人员的关键。

                                                                       十二

这篇文章到这里差不多就要结束了。因为在这个阶段你已经可以自由选择自己想要发展的方向了。

在这里推荐一本非常棒的讲解函数式编程的书Mostly Adequate Guide,作者是Brian Lonsdorf,他同样在这里提供了相关的教程。

函数式编程是一个非常有趣的主题,我想我肯定要在这个上面花费相当一段时间,而且可能永远都学不完。

André Staltz 创建了一个很有趣的叫做Cycle.js的项目,它结合了函数式编程和RxJS。虽然我对它的了解还不深,但假如你喜欢React的话,学习它也是相当不错的一个选择。

学到这里也就到了我现在的阶段。也许是我对编程的热爱让我能够在一年的时间内学习了这么多的内容把。不过也不要认为我把它们都记得很清楚,我时不时也会复习之前所学过的内容,也在努力在Github上开更多的repos实践。我也刚刚真正将自己掌握的知识应用在实际工作中,这是对我的挑战和考验,我也准备好了在失败中吸取教训并继续我的学习旅程。

祝你好运,希望这篇文章有帮到你!

机器学习入门者学习指南-研究生型入门者的亲身经历

Sentdex: 机器学习投资

                                                                           九

也许你还不了解,或者你可能多少注意到了。大多数的JS类库、插件、框架都在一个叫做NPM的包管理软件上(译者:是是是,我知道最近有一个叫Yarn的包管理器火了,不过还是不展开讲以免混淆视听),这就好像Ruby有Gems,PHP有Composer一样。想要使用NPM你必须先安装一个叫做NodeJS的东西:

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。——Node.js中文网

通过Node你可以在服务器端运行JS,这又给了JS无限的可能。

如果你想进一步了解Node,这里有两个不错的付费教程: Plurasight + Frontendmasters.

Node.js 教程

NodeSchool

  • 机器学习与数据挖掘的区别
    • 机器学习关注从训练数据中学到已知属性进行预测是方法
    • 数据挖掘侧重从数据中发现未知属性是个概念
  • 深度学习与机器学习区别
  • 人工智能只是定义
  • 机器学习、统计分析、数据挖掘、神经网络、人工智能、模式识别之间的关系是什么?

首先,你从第一天开始就在实际创造东西,这是比阅读理论更有收获的事情。并且如果你越喜欢某个东西,就越容易坚持下去。

                                                                             十

这个阶段你应该已经可以很熟练的运用原生JS开发应用了。我之前确实说过我刻意避开了框架,但并不代表框架不是一种好的东西。所以我开始试着了解有关框架的知识。

我随后了解到React成为了最火的框架,它并不是一个功能全面的框架,只是解决了应用视图的部分。

它提供了很多有价值的解决方案,例如模块化组件如何处理状态(大概讲就是用一个全局的state通过props传入应用)。你并不局限于只用React,你可以用任何方式处理你的数据层、后端、API……

同样的你也可以通过一些很棒的视频教程来学习React:

最开始我在ReactWeek参加了一个为期5天的课程。但其间遇到了很多问题和困难。Ryan在FrontendMasters提供了一个更简明的教程。

React 入门实例教程

React 教程

图片 1ML知识技能图

在这篇文章里,我没有任何特定的格式推荐。你基本上只需要找到适合解决你的问题的任意来源,无论是书籍、 官方文档、 Stackoverflow或者别的资源。

                                                                          六

到了这里我大概就达到了我在文章开头提到的中级阶段了。我有一种已经掌握了基础但就此止步不前的感觉。

这也正是各式各样的框架层出不穷的时候,各种炒作,说他们的框架有多好用多强大。那个时候Angular看起来很不错,也有很强大的社区支持。通过运用这些框架我也真的能开发出来点东西了,我当时也尝试过Ampersand.js(Ampersand.js是一个所谓去框架化的框架,其实就是把框架的各个功能拆分成独立模块,在使用的时候你可以只载入自己需要的部分)

选择学习框架是我对生命的严重浪费。并不是说这些框架烂,而是因为JS的框架日新月异,层出不穷,你很难选到对的那个。然后我才意识到,我的目标应该是学习理解这些框架背后到底是怎么运作的。据我所知,从长远来讲,学习掌握深入的原生JS要比你把所有精力都投入到框架里更有前途。

这段时间里我有很深的挫败感,变得焦躁不安,达不到我想要的目标。我开始看一些有关失败的心灵鸡汤。在你学习JS这种充满无限可能的语言时,你就要做好面对无数选择的准备。眼光放长远一些,一定不要放弃。(我知道这是说起来容易,做起来难)

目录:

拥有了范例代码

                                                                       四

之后你可以再读读《你不知道的JS》中的作用域&闭包部分。

就像我之前强调过的,在读书的同时,上手实践也非常重要,作者也在书中给了许多实践的例子。

我当时使用了JsBin这个在线写代码的网站。网站界面分为HTML, CSS, JavaScript, Console and Output五个面板。我给出的链接可以只打开JS和控制台面板。

这样你就能直接在浏览器里编码并查看运行的结果。

一、基本功

数学基础机器学习必要的数学基础主要包括:

  • 线性代数英文无障碍的话推荐MIT的Gilbert Strang李宏毅也教过线性代数哦实现不行看看张宇的考研视频也行,再者还是看看程序员的数学
  • 统计基础
    • Introduction to Statistics: Descriptive Statistics
    • Probabilistic Systems Analysis and Applied Probability | 概率
    • Introduction to Statistics: Inference
    • 以上是国外课程,自己拿大学相关课本看看或者到网易公开课找,推荐《程序员的数学之线性代数》
  • 编程基础
    • Python,R这些从廖雪峰,菜鸟教程还有等等看看文档就行 ,numpy,sk,pandas这些库也要会
    • Programming for Everybody
    • DataCamp: Learn R with R tutorials and coding challenges
    • Introduction to Computer Science:Build a Search Engine & a Social Network

你所需要的是一个有人引导你去搭建一个笨拙的小成果的视频教程。去找那些讲师会一行一行地讲解代码的教程,包括安装程序,并看着视频自己打代码。请确保你能够运行该项目,以及过程里的每一步。

**                                                                     二**

现在来开始学习点基础知识吧,我们采用交互式学习的方法。(当然如果你经验丰富也可以直接跳过,读读JavaScript语言精粹,不过这对于刚刚上手的人来说确实不太友好)。我当时也尝试了一些在线的交互式课程:Codecademy

在线交互式课程就是允许你在浏览器里打开一个代码编辑器,通过完成一个个的小任务来到达下一关。

你可以在这儿学到很多的基础知识,不过更重要的是你可以直接上手实践编写代码并运行查看结果。学习编程正是“纸上得来终觉浅,绝知此事要躬行”。(阅读书籍和教程当然是必不可少的,但真正想要掌握编程必须动手实践)

另外值得一提的是很多人向我推荐的Freecodecamp。这也是在线交互式学习的典范,并且它也有学习社区,对我的帮助很大。

机器学习 机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。下面是ML比较完备的知识技能图

虽然步骤1和2是绝对重要的,但他们实际上只是你的垫脚石,以使你到达这个阶段,一般来说你想要学习一项新技术的原因就是你可以因此使用它来创造成果,也就是你这个阶段应该做的事情。

下面介绍的是我这一年来学习JavaScript的经历。我当初给自己定下的目标是通过学习能够找到一份以JS开发为主的工作。

博客等

WeChat公众号:机器之心,数盟,量子位,新智元,

  • 我爱机器学习
  • MITBBS- 电脑网络 - 数据科学版
  • 机器之心
  • 果壳 > 机器学习小组
  • 统计之都 » 统计学世界 » 数据挖掘和机器学习
  • 北邮人论坛 >> 学术科技 >> 机器学习与数据挖掘

文章-论文

The Discipline of Machine LearningTom Mitchell 当年为在CMU建立机器学习系给校长写的东西。A Few Useful Things to Know about Machine Learning Pedro Domingos教授的大道理,也许入门时很多概念还不明白,上完公开课后一定要再读一遍。

矩阵求导知乎找答案

已经大致了解这个领域所用到的知识,根据网上的参考进行1.0阶段的学习,看了前面的知道我对PGM特别感兴趣啊,所以感谢夕小瑶(wx:xixiaoyaoQAQ)按照她的提供的知识结构给自己定个计划。 已经完成的都会带有我在学习过程中见到比较好的资料,或者我自己总的,这样减少大家在学习过程中找资料的成本

辅助用视频Ng的courses《machine learning》,台湾国立大学林老师《机器学习基石》、《数据挖掘导论》第4、5章

  • 感知机(Perceptron)
    • 如何理解感知机算法的对偶形式
    • 为什么随机梯度下降方法能够收敛?
  • 线性回归模型(Linear regression model)
  • 逻辑回归模型(Logistic regression model)
  • 浅层神经网络(Neural Network)
  • 支持向量机(Support Vector Machine)
  • 交叉验证(Cross Validation)[[1]] [2] [3] [4]
  • 聚类[1]
    • K-Means Model [1] [2]
  • 内积与映射,线性相关/无关,特征值/特征向量、特征向量、特征分解、矩阵的迹、奇异值分解、谱定理

复习《概率论与数理统计》、理解《Deep Learning》中的4.3节和4.4节,《Numerical Optimazation》、《最优化理论与方法》袁亚湘,孙文瑜、《统计学习方法》、《数据 挖掘导论》、《机器学习实战》、《智能优化方法》

  • 一阶无约束优化算法
    • 梯度下降法(步长的确定方法、线搜索法,信赖域法)
  • 二阶无约束优化算法
    • 牛顿法
    • 共轭梯度法
    • 拟牛顿法
  • 约束优化算法
    • 线性规划(概念与应用、单纯形法、内点法)
    • 二次规划(概念与应用、对偶法、积极集法)
    • 拉格朗日乘子法的简单认识
  • 感知机模型
  • K近邻模型
  • 朴素贝叶斯模型
  • 决策树模型
  • 支持向量机模型
  • 集成分类器
    • Bagging
    • Boosting
    • Random Forest
  • 遗传算法
  • 模拟退火
  • 禁忌搜索算法
  • 蚁群算法
  • 粒子群优化算法
  • LDA/PCA
  • SVD
  • 贝叶斯决策
  • 参数估计
  • 非参数方法
  • 线性判别函数
  • 浅层神经网络
    • delta方法
    • BP算法及其优化
    • RBF网络
  • 深度神经网络
    • Hopfield网络
    • 玻尔兹曼机
    • RBM
    • DBN
    • DBM
    • CNN
    • Autoencoder
    • RNN
    • LSTM李宏毅教授的课不要太好了。一听就懂
  • 聚类
    • 高斯混合密度
    • K-means
    • 层次聚类
  • 决策树与随机森林
  • 特征提取与特征选择

应该是各种框架和工程,比赛吧,哈哈,到这个阶段就有自己的方向,现在自己也不知道干啥,哈哈哈

编程是一定要的,推荐先用Python把常用算法实现一遍,然后把NG深度学习课程作业敲一遍,自己写神经网络,你就会明了,一定要code,code,code。后面用tf+keras等都可以。

知识点:(每一周深入学习一种网络)《统计学习方法》、《Deep Learning》、《模式分类》

  • 前馈神经网络

  • 自编码器(Auto-Encoder)递归神经网络(Recursive NN) / 循环神经网络/ 卷积神经网络 / 神经张量网络

  • 长短时记忆网络 / 卷积长短时神经网络 / 张量递归神经网络/递归神经张量网络

  • 受限波尔兹曼机 / 玻尔兹曼机

  • 概率图模型

  • 有向图模型->贝叶斯网络

  • 无向图模型->马尔科夫随机场->条件随机场

原文更新在俺的GitHub上,可能最新。可以进去看看。

以下是在几个学科上帮助我快速启动学习过程的教程:

                                                                           七

你需要记住这个阶段,现在你已经通过阅读《你不知道的JS》掌握了一些技巧,也有了一些实践经验。接下来学什么呢?我自己当时开始看一些视频教程。

《你不知道的JS》的作者Kyle Simpson同样也在Frontendmasters.com上提供了很多JS相关的教程。尤其推荐Advanced JavaScript,你也可以在Pluralsight找到这个教程。

当然你也可以找到一些免费的学习资料,比如继续阅读《你不知道的JS》系列,但是看一个人对你讲授并带你过一遍代码对消化知识确实很有帮助。

Frontendmasters的视频教程比较棒的一点是它鼓励你在观看同时也自己动手写一些代码。要是中途遇到困难也可以倒回反复观看。

你需要明确的一点是那些有丰富经验和知识的人教授这些课程制作视频都需要相当的付出。为这些知识和劳动付费也是理所应当的。

Advanced JavaScript这一套视频教程涵盖了《你不知道的JS》之前提到的两本以及This & Object Prototypes的内容。看视频的同时你也可以翻翻书。This & Object Prototypes这本书提供的内容非常实用。例如对象连接模式OLOO(objects linking to other objects).这就是我之前提到的JS所独有的特性,而不是像其他语言中使用Class。当然,这里也有一篇关于ES6 Class的介绍。不过要知道人们对Class的应用也一直争论不休,这并不是唯一的方法,全看个人选择。

React — Note Taking App

                                                                         五

现在你已经掌握了很多知识,也有了些实践经验。我当时自己试着开始参与到JavaScript的社区中。注册了Twitter和Github.

我在Twitter上关注了一些比较有影响力的JS开发者,博客,新闻站点: @getify, @BrendanEich, @holtbt, @jhusain, @andrestaltz, @drboolean 当然你要是愿意也可以关注我 @cmdv

Github是阅览代码示例、拥有无数天才创造的工具/框架/类库的绝佳所在。你同样也可以在上面分享你的项目或与他人合作。不管你是用什么什么语言,开源对整个编程圈都意义非凡。有些人可能不这么想,但我十分乐意分享我的知识,与他人合作做出一些贡献。

另外,这个过程你得到的范例代码可以在你的学习过程中不时回头参考,这对以后的学习阶段是非常有用的。

在正文开始之前我还是要强调一下,我并不是什么大神,我自己也处于学习的阶段。在编程这个领域没有人是最棒的,假若你真的爱它,就应该保持不断地学习和进步。

Ajax — The Guardian API

                                                                     一

在开始学习JS之前,一定不要带着先入为主的观念,也不要打算沿用你在其他编程语言上习得的经验。

我自己并没有很丰富的编程经验。在这之前我很长一段时间都是只会用WordPress做网站的码农。所以我只了解一点点PHP/CSS/HTML5的知识。但有些打算学习JavaScript的同学可能经验比较丰富,他们总会试着把对其他编程语言的理解套用在JS上。而这么做就很难利用起JS真正强大擅长的地方。

在过去几年我已经花了很多时间来教我自已web 开发和机器学习。

                                                                     三

Kyle Simpson 撰写的《你不知道的JS》系列对学习了解JS的作用真的非常大。整套书你都可以在Github上免费看到。开源这套书让社区能够参与其中。目前为止已经有了102名贡献者,253个解决的issues,本书的内容质量也越来越有保障。

因为我经常会读它所以购买了本书的纸质版。也谨表我对Kyle的支持。

你最好从Up & Going开始阅读这个系列。这本书最棒的一点就是里面提到的所有内容都会有详细的解释。而不是简单粗暴地告诉你该怎么写怎么做。每个主题都有非常深入的讲解。读完之后也能给你一种透彻掌握知识的自信。

整套书会介绍JS的变量/类型,对象,数组,函数,内置方法,强制多态,Truthy & Falsy(JS逻辑值)等等……

《你不知道的JS》也有更复杂的部分,让你深入理解JS的全部,尤其是“The Tough Parts”部分的内容。

为什么呢?因为这才是真正的学习发生的地方。

本文由美狮美高梅官方网站发布,转载请注明来源

关键词: