设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

程序员初学机器学习的四种方式

2014-5-14 10:08| 发布者: joejoe0332| 查看: 2624| 评论: 0|原作者: XiaoxiaoLi|来自: 伯乐在线

摘要:   学习机器学习有很多方法,大多数人选择从理论开始。   如果你是个程序员,那么你已经掌握了把问题拆分成相应组成部分及设计小项目原型的能力,这些能力能帮助你学习新的技术、类库和方法。这些对任何一个职业 ...

  学习机器学习有很多方法,大多数人选择从理论开始。


  如果你是个程序员,那么你已经掌握了把问题拆分成相应组成部分及设计小项目原型的能力,这些能力能帮助你学习新的技术、类库和方法。这些对任何一个职业程序员来说都是重要的能力,现在它们也能用在初学机器学习上。


  要想有效地学习机器学习你必须学习相关理论,但是你可以利用你的兴趣及对知识的渴望,来激励你从实际例子学起,然后再步入对算法的数学理解。


  通过本文你可以学习到程序员初学机器学习的四种方式。这是给技术人员设计的实用方法,并以实验为依据,你需要做调研并且完成实验才能建立自己的感性知识。


  这四种方法分别是:


  1. 学习一个机器学习工具
  2. 学习一个机器学习数据集
  3. 学习一个机器学习算法
  4. 实现一个机器学习算法


  你应该通读一下这些方法的策略,然后选择你觉得最适合自己的一个,并且有选择性地执行。


  1. 学习一个机器学习工具


  选一个你喜欢的工具或者类库,然后学着用好它。


  我推荐你从一个自带数据预处理工具,机器学习算法并且能呈现结果的工作平台开始学习。学习这样一个工作平台能让你更熟悉机器学习从头到尾的整个过程,这比学习一个特定的数据处理技术或者一个机器学习算法更有价值。


  或者,也许你感兴趣的是一个特定技术或者一类技术。你可以利用这个机会更深入地学习一个提供这些方法的类库或工具,掌握了提供这些技术的类库能帮助你掌握相应的技术。


  一些你可以采取的策略有:


  • 比较一些可选的工具。
  • 总结你选定的那个工具的能力。
  • 阅读并总结这个工具的文档。
  • 完成学习这个工具的文字或视频教程,并且总结每个教程中你重点学到了什么。
  • 制作关于这个工具的功能或者特性的教程。选一些你不太了解的功能,然后写下得到结果的过程,或者把如何使用这个功能的过程录个五分钟的截屏视频。


  一些值得考虑的工作平台有:RWekascikit-learnwaffles, 和 orange.


  2. 学习一个机器学习数据集


  选一个数据集,然后深入地理解它,发掘究竟哪类算法最适合处理它。


  我推荐你选择一个中等大小的,内存能放下的,可能被很多人研究过的数据集。现在有很多非常好的包含数据的类库,你可以浏览它们并且从中选择。你的目的是尝试理解这个数据集背后的问题,它的结构,和哪些种类的解决方法最适合这个问题。


  用一个机器学习或者统计的工作平台来研究这个数据集。这样你能专心解答关于这个数据集你要研究的问题,而不是分心去学习某个特定的技术或者如何写代码来实现它。


  一些可以帮助你学习实验性的机器学习数据集的策略有:


  • 清晰地描述这个数据集所呈现的问题。
  • 用描述性的统计数据来总结数据。
  • 描述你从数据中观察到的结构,并且提出对数据间关系的假设。
  • 简单地在这个数据集上测试一些常用的机器学习算法,然后发掘哪些类别的算法比其他的表现好
  • 调整表现好的算法的参数,然后发掘什么算法及算法参数设置在这个问题上表现得好


  你可以从这些包含高质量数据集的库中选择: UCI ML Repository,Kaggle 和 data.gov.


  3. 学习一个机器学习算法


  选择一个算法,深入理解它,发掘什么样的参数设置在不同数据集上都稳定。


  我推荐你从一个中等复杂度的算法开始学起。选一个已经被人充分理解了的,有许多可选的开源实现,并且需要你探索的参数数目较少的算法。你的目的是建立有关这个算法在不同问题和不同参数设定下表现如何的直觉。


  使用一个机器学习平台或者类库。这样能让你把这个算法当成一个“系统”,专心研究它的表现,而不是分心研究数学公式描述或者相关论文。


  一些学习你选定的机器学习算法时可采取的策略有:


  • 总结系统的参数,及它们对算法可能有什么影响
  • 选一系列适合这个算法,可能导致不同表现的数据库
  • 选择一些你认为能导致不同结果的算法的参数设置,然后列出你认为系统可能的表现
  • 考虑在迭代过程或不同时间段内能被监察到的算法表现
  • 用一个或多个数据集,算法设置和结果衡量方式来设计解决特定问题的小实验,并且汇报结果


  你可以学简单点,也可以学复杂点。想多学一点的话,你可以探索所谓的启发式规则或经验法则来使用算法,并且以实验为依据来展示它们好不好用,及如果好用的话在什么条件下他们与成功的结果有关联。


  一些你可以考虑学习的算法有:最小平方线性回归,逻辑回归,K最近邻分类算法,感知器算法。



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部