• 入门机器(深度)学习的书籍及学习资料推荐


    (第一次写博客,如有什么地方写得不对的,或者意见相左的,还请见谅!)

    工作了一段时间,又重新回来读书(本科计算机专业,第一个研究生是商科,现读回了计算机专业)了,最开始想着走APP研发路线的,但是最终回来读书之后却恰好碰上了so-called人工智能,所以就决定将专业设定为数据分析(Data Analytics),主要学习的课程方向是数据可视化分析,机器学习和深度学习等课程。刚回来读书那会,太多不适应,特别是要重新捡回很多编程的知识和技能是一件挺艰辛的事。当初辞职那会准备相关的编程技能主要事针对网站和APP的开发,比较前端,所以辞职到正式入学的时候大部分时间都在学习前端的东西,这导致了我入学之后选择AI相关的课程碰到了编程的另外一个问题,从而不得不边学边做课程项目和实验。

    重点来了:所以写下这篇文章,给出一些想学习机器学习相关的建议,希望能帮助想入门的人。文章会主要从三方面来给出建议:

    1. 书籍的推荐
    2. 视频及课程推荐
    3. 其他资源,如论文等

    我在边学边做项目着实走了不少弯路,有时候浪费了不少时间,做了很多无用功,所以从以上方面选取一些方面我觉得综合运用能帮助到希望入门机器学习的人。

    一、 书籍推荐

    一本好的书能很好的帮助你快速的学会一些基本的知识及应用,以下书籍是我入门机器学习觉得比较有用的。

    1.1 Python编程 从入门到实践

    对于那些学过python的人并且是大牛,这本书当然可以直接略过,不需要了。但是对于那些没有系统学过python的人,并且想用python做AI相关项目的,这是一本很好的入门书籍,非常的基础及好懂。当初花了7天左右,跟着里面一段段的代码把它从头到尾学习了一遍,并最终完成了自己第一个数据可视化分析的项目。这本书跟其他很多语言介绍的书籍一样,从基础的语法到项目都有涵盖,书本的最后是三个用python实现的项目。当然看这本书的过程建议结合numpy,matplotlib和scipy相关官方文章一起看,这样子你会在完成阅读之后更好的懂得如何利用相关代码去实现你的项目。当然,这本书是作为一个基础让你了解python是如何运作的,本书主要使用的python3.x的版本。

    1.2 普林斯顿微积分读本及线性代数(作为参考书来使用)

    对于想学习机器学习的人来说,还是需要具备一定的数据基础和理解,特别是线性代数,微积分和概率论相关的数学知识。这里只推荐微积分和线性代数的书,概率论就目前我所碰到的知识点来说相对比较浅显易懂,尚没有让人无法理解的地步。至于线性代数,我推荐我本身大学读书那会所使用的教科书,个人觉得同济大学编著的线性代数还是挺不错的,而微积分则推荐普林斯顿微积分读本,从基础到极限到求导是怎么一回事,这本书浅显易懂的告诉了你全部,值得一读的微积分好书。

    1.3 机器学习和深度学习(理论为主,实践需要自己尝试用代码去实现)

    机器学习和深度学习这里推荐三本书,这三本书的讲解都比较清晰,也非常适合从基础到深入。机器学习(2本)和深度学习(1一本),其中周志华老师的书我还在读,因为这本书是作为教科书使用的,所以也非常适合想学习的人读,非常推荐,读了一部分了,感觉老师写的很不错。其余两本,网上大部分人都推荐读英文(我自己本身也是读英文,也习惯了,因为在国外前前后后也待了六七年了),周志华老师就不用说了,也是机器学习界的大牛,写的书自然不会差到哪里去。

    1.4 Deep Learning with Python和TensorFlow机器学习实战指南

    最后针对书籍方面推荐两本实战方面的书,Deep learning with python是深度学习领域的超级大牛Francois Chollet编写的,他同时也是Keras(一个深度学习的框架,非常简单易用)的开创者,另外一本是讲解如何用TensorFlow来做机器学习相关的项目,这本书从基础的TensorFlow语法到如何使用TensorFlow来实现其他相关的机器学习项目都有比较清晰的解释,搭配这本书和官网的指南,是一个不错的学习指引。

    二、视频及课程推荐

    阅读好的书是一个获取知识的好途径,但是有时候书本冗杂度也高,并且要完整的读完一本书需要相当的时间,这时候视频课程就是另外一个比较快速学习并且能辅以实战的地方了。这里主要推荐几个课程供大家参考(都是要付费的,我个人觉得真正想学习,投资知识花点钱没什么,所以看你个人)。下面这些课程是我觉得在我学习过程中帮助非常大的,Coursera的课程都是配有编程练习的,跟着指引敲出相关的代码,帮助你在实践中加速理解学习机器学习和深度学习过程中碰到的相关算法。

    1. Coursra.org上Andrew Ng的机器学习和深度学习的课程。机器学习所使用的Matlab,深度学习使用的Python,这里需要注意一下。
    2. 斯坦福大学的公开课: cs231 Convolutional Neural Network for Visual Recognition 和 cs230 Deep Learning,这两门课基本都是纯英文,目前尚不清楚支不支持中文,Youtube上有资源。

    三、其他

    上面的书籍也好,视频也好,很大程度上都是在讲一些已经在机器学习和深度学习领域比较普遍的知识和理论应用,而如果想在这两个领域有比较深的发展和理解,那么从我个人学习的过程当中来说,论文和其他人写的博客是非常好的学习资源。特别是论文,好的论文代表着技术的发展方向,所以我非常建议一定要看论文,因为论文真的代表着state of the art,当然看论文不需要通篇摸透,这个很难,别人都是花好几个月甚至一两年才出这么个成果,所以很难在短时间内复现论文所讲的技术原理和框架,但是对论文有了解,并尝试运用是一个非常好的习惯,不管是基于研究还是运用,相关的最新论文都还是值得看看,具体的就请问谷歌和百度了。

  • 相关阅读:
    动态规划
    Python第二天学习
    Python第一天学习---基础语法
    java易错知识点
    C语言---指针复习
    排序汇总
    课程设计---创建族谱管理系统
    Vue第五篇 Vue的生命周期
    Vue第四篇 Vue路由系统
    Vue第三篇 Vue组件
  • 原文地址:https://www.cnblogs.com/jielongAI/p/9310905.html
Copyright © 2020-2023  润新知