python 机器学习_如何使用 Python学习机器学习

7b2f26f96961385098afb4335499e427.png

随着数据科学(Data Science)技术的兴起,人工智能(ArtificialIntelligence)、机器学习(Machine Learning) 成为近几年来计算机科学界十分热门的研究领域,如今在实体和在线的学习机器学习的资源有很多,本文整理了一些好用学习资源希望帮助初学者能更容易使用 Python 入门机器学习的领域中,从零开始学习机器学习。若是对于数据科学不熟悉的读者可以先参考适用于初学者的资料科学影片 ,让自己对于数据科学有初步的认识。 

1f914eff686524ea5d94bfb042b0886d.png

人工智能的发展

「人工智能」(Artificial Intelligence)这专有名称正式出现在公元 1956 年,在美国达特茅斯学院 (Dartmouth College)召开的第一次人工智能会议。根据维基百科的定义,人工智能系指由机器所展现的智能,一般而言人工智能又分为「强人工智能」(Strong AI)和「弱人工智能」(Weak AI)兩种不同的主张。所谓的强人工智能指的是有自我意识、有知觉可以自己推理和解决问题的机器智能,而「弱人工智能」只能仿真人类的思维与行为表现,但缺乏真正的推理与解决问题的能力,也不具有自主意识。人工智能在历史上经历了几次热潮和寒冬,从最早的逻辑推理到后来的专家系统,再到目前的机器学习/深度学习,机器学习可以视为人工智能的一个实现方式或是发展的一个历程。

事实上,人工智能或是机器学习都是一门跨领域的学门,牵涉了计算机科学、数学、神经学、心理学、经济学、统计学等层面,也有许多相关的学门:

34bc7f8241dc9d9abe7291eaddd2b97c.png

随着运算资源(云端运算、GPU 等)、海量资料(目前还有许多资料还没被创造,等待我们去发掘呢)以及机器学习/深度学习的发展,生活上许多产品已经可以看到人工智能的应用。但人工智能最美好的境界莫过于人机之间的互动以及相辅相成,以 AlphaGO 为例,虽然人类在围棋领域输给人机器,但也从机器的思考方式去重新思考了围棋的真谛和有别于人类的思考方式。

「就因為某樣東西思考的方式跟你不一樣,就代表它沒在思考嗎?」 “Just because something thinks differently from you, does it mean it’s not thinking?” —《模仿遊戲》《Imitation Game》(2015)

a194c354008498ee6e903d0237cb3f84.png

什么是机器学习(Machine Learning)?

机器学习是一种数据科学的技术也是一种实现人工智能的一种方式,协助计算机从现有的数据学习,以便预测未来的行为、结果和趋势。根据学习的方式又可以分为需要解答的监督式学习(Supervised learning)、非监督式学习(Unsupervised learning)和增强学习(Reinforcement learning)等(还有一种混合式的半监督式学习)等子类别。机器学习技术可以应用的范围十分广泛,总的来说机器学习可以解决以下几种问题:

1.   分类问题:这是A 类或 B 类吗?

2.   异常值判断:这很奇怪吗?

3.   预测性分析:有多少?

4.   分群问题:这是如何组织的?

5.   增强学习协助决策:我接下来该怎么办?

当我们搜集到相关、精确、连贯、足够资料就可以挑选合适的算法进行模型的的创建。

为什么选择Python

在数据科学和机器学习领域最重要的两大程序语言就是Python 和R,Python 简洁易学、应用范围广(不限于数据分析)且学习曲线平缓,适合作为第一个入门的程序语言,透过pandas、SciPy/NumPy、sckikit-learn、matplotlib和statsmodels 可以进行数据分析的工作,适合工程任务和需要和网络应用程序整合的项目。至于R 由于是统计学家开发的程序语言,则是擅长于统计分析、图表绘制,常用于学术研究领域,建议也要有一定程度的掌握。一般情况下Python 和R 并非互斥,而是互补,许多数据工程师、科学家往往是在Python 和R 两个语言中转换,小量模型验证、统计分析和图表绘制使用R,当要撰写算法和数据库、网络服务互动等情况时在移转到Python。为了降低学习成本。 此外 Python本身是一种通用语言,除了数据科学外也可以广泛使用在网络开发、网站建置、游戏开发、网络爬虫等领域,当你需要整合系统产品服务时,可以担任一站式的开发语言,更重要的是Python 也可以当成胶水语言非常轻易和C/C++ 等效能较佳的语言整合。简而言之,Python是一种简洁易学但功能强大,值得投资的程序语言,所以我们这边先使用Python 进行介绍。

若对于 Python和 R 比较,这边有两篇文章可以参考 数据科学界华山论剑:R与Python巅峰对决、Which is better for data analysis:R or Python?。

如何开始入门机器学习?

事实上,数据科学是个跨领域学门,在学习如何使用Python 进行机器学习过程中通常必须掌握以下知识:

  • 机器学习算法

  • Python     程序语言和资料分析函式库

  • 线性代数/统计学等相关学门

  • 专业领域的领域知识(Domain     Knowledge)

为了掌握以上三大领域知识(我们先把焦点放在机器学习核心技法,暂时忽略数据科学中对于领域知识的掌握),具体来说我们可以有以下步骤可以参考:

1.   掌握基础Python 程序语言知识

在线学习资源:

o   Codecademy

o   DataCamp (也可以学 R)

o   Learn X in Y Minutes(X = Python)

o   Learn Python theHard Way

2.   了解基础数学/统计学和机器学习基础知识

o   可汗学院线性代数

o   Introto Descriptive Statistics

o   Introto Inferential Statistics

o   Andrew Ng 机器学习课程

o   Andrew Ng 机器学习笔记

o   CarnegieMellon University Machine Learning

o   MachineLearning Foundations (机器学习基石)

3.   知道如何使用Python 科学计算函式库和套件

推荐安装 Anaconda,支持跨平台多种版本 Python,默认将数据分析、科学计算的套件装好,自带spyder 编辑器、JupyterNotebook(IPythonNotebook),可以提供一个网页版接口,让用户可以透过浏览器进行Julia、Python或 R 程序的开发与维护。

o   numpy:科学分析,ScipyLecture Notes 教学文件

o   pandas:资料分析

o   matplotlib:会制图瞟

o   scikit-learn:机器学习工具

4.   使用scikit-learn 学习Python 机器学习应用

o   MachineLearning: Python 机器学习:使用Pytho­n

5.   运用Python 实作机器学习算法

o   感知器

o   判定树

o   线性回归

o   k-means分群

6.   实作进阶机器学习算法

o   SVM

o   KNN

o   RandomForests

o   降低维度

o   验证模型

7.   了解深度学习(DeepLearning)在Python 的实作和应用

o   NTU Applied DeepLearning

o   Stanford DeepLearning

o   深度学习(Deep Learning)自学素材推荐

o   深度学习 Deep Learning:中文学习资源整理

总结

以上整理了一些机器学习网络学习资源,若你累积一些小小经验后,不妨挑战一下 Kaggle 或是 KDD 测试一下自己的实力并累积更多数据分析的经验。

延伸阅读

1.   7 Steps to Mastering Machine Learning With Python

2.   人人都可成为资料科学大师!一整年的网络自学列表就在这了

3.   Analytics Vidhya

4.   台湾资料科学年会

5.   「2016 台湾资料科学爱好者年会」精彩资料总整理(持续更新中)

6.   大数据会消失,数据科学不会!你该知道的数据科学第一堂课

7.   如何选择 Microsoft AzureMachine Learning 的算法

8.   MicrosoftAzure Machine Learning 机器学习服务文件

9.   Kdnuggets

10.  Bigdatafinance

11.  UsingPython and R together: 3 main approaches

12.  机器学习最佳入门学习资源

13.  机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 1)

14.  SIRAJRAVAL’S DEEP LEARNING

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值