程序员机器学习入门的学习套路

原创
2016/12/31 22:39
阅读数 57
  • 前言

  • 我为什么突然想学机器学习了呢?开始是为了在职研究生的硕士论文,觉得在学校提供的通信的那么多可选的研究领域里面,也许这个还能适合我这个对通信总是上不了道的人。后来其实开题并没有写机器学习相关的事,但是却发现周围的人对机器学习的热情却是越来越高涨。然后在刚刚结束的周三,给组里的小伙伴们培训了一下最最最基础的机器学习的小知识,同时也把我在培训中分享的写到这里吧。刚入门的我,其实能讲明白的东西特别少,但是一点点积累吧,能让大家少走一点点弯路也好。

     

    1.基本概念

    首先,在这篇文章开始的时候,大家可以先来看看这两篇超级接地气,好玩的关于人工智能和机器学习的介绍文章。能把复杂的事用大家都能懂的方式讲出来才是真正的厉害,所以我真的挺喜欢这两篇的!~

    漫画:什么是人工智能

    http://blog.jobbole.com/108482

    漫画:什么是机器学习

    http://blog.jobbole.com/106387

     

      在前面两篇文章里面,大家已经知道了下面的小知识。

  • 什么是人工智能?

  • 人工智能(ArtificialIntelligence),英文缩写为AI,它是研究、开发用于模拟和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。

  • 人工智能的等级划分 – 现在还处于弱人工智能阶段

  • 弱人工智能(ArtificialNarrow Intelligence,简称ANI)

    强人工智能(ArtificialGeneral Intelligence,简称AGI)

    超人工智能(ArtificialSuper Intelligence,简称ASI)

  • 人工智能是怎样实现的?

  • 机器学习的三大类:有监督学习(Supervised learning)、无监督学习(Unsupervised learning)以及半监督学习(Semi-supervisedlearning)

  • 这里再补充一条强化学习(reinforcement learning),强化学习和训练小狗的过程类似,在程序做的好的时候给与认可;是进行奖励和回报的比赛或游戏。

     

    关于监督学习,无监督学习和强化学习,在每个关于机器学习的帖子里都会推荐的吴恩达(Andrew NG)的斯坦福大学机器学习教学视频的第一节有非常详细的介绍,推荐大家在有wifi的情况下去看这个视频(从第32分钟开始看就好了)

    http://open.163.com/movie/2008/1/M/C/M6SGF6VB4_M6SGHFBMC.html

     

  • 小结

问题

机器学习类型

将数据拟合为某个函数或函数逼近,例如回归问题,分类问题

有监督学习

在无反馈条件下对数据进行推断,例如聚类问题

无监督学习

进行有奖励和回报的比赛或游戏

强化学习

 

 

2.机器学习算法

    机器学习的算法部分是其核心,也是最难理解的部分,其中包含大量的数据推导,我的数学根底没那么好,所以我先倾向于对每个算法有个大概的认识,理解每个算法大致的思想和用途;多数的机器学习的教材都是一言不合就开始推导,又不知道想要推出什么结论的。所以,看了好多本书都真的看不下去。对于程序员来说,其实是有很多资源可以用的,选对可用的资源比数学更重要。这里不想太纠缠在数学里,想如果真的有一天,在实际应用中用到了某个算法,再好好研究他的内部数学奥秘,可能更适合我们。

    所以,在这种情况下,我还是推荐一个帖子

    轻松看懂机器学习十大常用算法

    http://blog.jobbole.com/108395/

 

    还有查资料的时候,看到几张图,真心觉得非常好,也分享在这里

    

 

 

3.机器学习常用工具及学习资源

  • 常用工具

        MATLAB或者免费的Octave;Python+Numpy+Matplotlib;Ruby及相关库(实在是对Ruby不太了解)。

  • 学习资源

        如果你用Python,推荐下面这两本书

    

如果用Ruby,推荐下面两本书

如果你想了解算法,推荐这个视频和这本书

1.吴恩达(Andrew Ng)在斯坦福大学时的《机器学习》教学视频,上面也有提到过

http://open.163.com/special/opencourse/machinelearning.html

2.李航的《统计学习方法》

最后推荐一个博客,写得非常好

http://blog.csdn.net/han_xiaoyang

 

4.应用实例

  • “你可能喜欢”的推荐功能

        http://blog.jobbole.com/53546/

  • 泰坦尼克问题 

        http://blog.csdn.net/han_xiaoyang/article/details/49797143

 

5.扩展阅读

  • 我们是否处在新一轮人工智能的泡沫之中?

        http://blog.jobbole.com/108162/

  • 让代码写代码,自主编程的AI离我们还有多远? 

        http://blog.jobbole.com/108437/

 

展开阅读全文
打赏
0
4 收藏
分享
加载中
更多评论
打赏
0 评论
4 收藏
0
分享
返回顶部
顶部