前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我的Machine Learning学习之路

我的Machine Learning学习之路

作者头像
绿巨人
发布2018-05-16 17:44:41
7910
发布2018-05-16 17:44:41
举报
文章被收录于专栏:绿巨人专栏绿巨人专栏

从2016年年初,开始用python写一个简单的爬虫,帮我收集一些数据。 6月份,开始学习Machine Learning的相关知识。 9月开始学习Spark和Scala。 现在想,整理一下思路。 先感谢下我的好友王峰给我的一些建议。他在Spark和Scala上有一些经验,让我前进的速度加快了一些。

学习算法

作为一个程序猿,以前多次尝试看过一些机器学习方面的书,其过程可以说是步履阑珊,碰到的阻力很大。 主要原因是,读这些机器学习的书,需要有一些数学方面的背景。 问题就在这些数学背景上,这些背景不仅仅是数学技巧,也有一些共识。对于缺乏这些背景的我,即使一个简单的公式,也有时会感到困惑。 如果你像我一样是一个程序猿,我建议读Peter Harrington写的Machine Learning in Action (中文书名是《机器学习实战》)。 这本书是以开发者的知识背景来写的,并且提供的python代码可以下载,方便开发人员理解。

我写了一些博文,主要作用是帮助我理解学习的算法。大部分写的不好,后来我自己都看不懂。以后慢慢修正一下。 机器学习实战 - 读书笔记(03) - 决策树 机器学习实战 - 读书笔记(04) - 朴素贝叶斯 机器学习实战 - 读书笔记(05) - Logistic回归 机器学习实战 - 读书笔记(06) – SVM支持向量机 机器学习实战 - 读书笔记(07) - 利用AdaBoost元算法提高分类性能 机器学习实战 - 读书笔记(08) - 预测数值型数据:回归 机器学习实战 - 读书笔记(10) - 利用K-均值聚类算法对未标注数据分组 机器学习实战 - 读书笔记(11) - 使用Apriori算法进行关联分析 机器学习实战 - 读书笔记(12) - 使用FP-growth算法来高效发现频繁项集 机器学习实战 - 读书笔记(13) - 利用PCA来简化数据 机器学习实战 - 读书笔记(14) - 利用SVD简化数据

学习算法的Level

  • Level 1: 了解如何使用算法
  • Level 2: 了解算法的正确使用场景 正确的使用一个算法,需要经验和对算法理论的了解。 我以前有些这方面的经验,很多错误在于不正确地使用了算法。 当我们编程序给别人用时:
    • 需要理解算法 最低要求,也要有一些基本的统计知识。
    • 需要实现算法 实现算法一般比较简单,需要注意性能和精度。 基本上这部分在实现好后,比较稳定。
    • 需要实现将用户数据应用到算法上的过程。 这是程序员主要干的工作,接口、性能上的考虑很多。
    • 需要理解用户的使用场景。 这部分价值很大。 一方面,写单元测试是不可避免的,理解用户的场景才能写出有效的单元测试程序。 另外,会有很多处理客户问题的工作,也是长经验的机会。
  • Level 3: 了解算法的后面的数学理论 有人觉得这个用处不大。我觉得了解数学理论,可以:
    • 成为真正的行家
    • 未来的路还很远,怎么能戛然而止!
    • 使用算法来帮助自己的一些事情,或者实现一个新的算法。
    • 现在人工智能的潜力很大,可以自己好好玩玩。

学习python

在数据量不大的情况下(几个G),单机上就可以很好跑机器学习的程序。 这时,Python的用途就很大,不仅有已经实现好的算法,也可以实现爬虫,从网上获取数据。

学习Scala和函数式编程

对于大数据处理来说,Spark和Scala结合是现在的大趋势。 我写的博文有: 学习Scala: 初学者应该了解的知识 函数式编程 : 一个程序猿进化的故事 Scala underscore的用途 不变(Invariant), 协变(Covarinat), 逆变(Contravariant) : 一个程序猿进化的故事 Scala Collection简介 Scala on Visual Studio Code

学习Spark架构

我写的博文有: Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境 Spark集群 + Akka + Kafka + Scala 开发(2) : 开发一个Spark应用 Spark集群 + Akka + Kafka + Scala 开发(3) : 开发一个Akka + Spark的应用 Spark集群 + Akka + Kafka + Scala 开发(4) : 开发一个Kafka + Spark的应用

学习在Spark上的机器学习项目开发经验

学习更多的算法

蒙特卡洛树算法

成为Spark的Contributer

成为Spark的Contributer是件很cool的事。

  • 可以读读Spark的代码,从中应该可以增长不少。
  • 然后,尝试修一些Spark的Bugs。

深度学习

路还很长。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-09-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 学习算法
    • 学习算法的Level
    • 学习python
    • 学习Scala和函数式编程
    • 学习Spark架构
    • 学习在Spark上的机器学习项目开发经验
    • 学习更多的算法
    • 成为Spark的Contributer
    • 深度学习
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档