入门Python机器学习笔记01——机器学习概述及常用机器学习库的介绍
目录
前言
关于python机器学习笔记整理01——机器学习概述及机器学习库的介绍,本文通过学习视频《快速入门python机器学习》整理学习笔记。
1、机器学习概述
1.1 机器学习与人工智能、深度学习关系
机器学习和人工智能,深度学习的关系:
-
机器学习是人工智能的一个实现途径;
-
深度学习是机器学习的一个方法发展而来。
1.2应用场景分析
机器学习的应用场景非常多,可以说渗透到了各个行业领域当中。医疗、航空、教育、物流、电商等等领域的各种场景。
1.3 定义
机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测。
人会从大量的日常经验中归纳规律,当面临新的问题的时候,就可以利用以往总结的规律去分析现实状况,采取最佳策略。机器学习类似,从数据(大量的猫和狗的图片)中自动分析获得模型(辨别猫和狗的规律),从而使机器拥有识别猫和狗的能力。
2、机器学习算法分类
根据是否有目标值分为 监督学习(有目标值)和非监督学习(无目标值),
监督学习根据目标值的数据类型:目标值为离散值就是分类问题;目标值为连续值就是回归问题。
-
监督学习(supervised learning)(预测)
- 定义:输入数据是由输入特征值和目标值所组成。函数的输出可以是一个连续的值(称为回归),或是输出是有限个离散值(称作分类)。
- 分类: k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络
- 回归; 线性回归、岭回归
-
无监督学习(unsupervised learning)
- 定义:输入数据是由输入特征值所组成。
- 聚类: k-means
3、机器学习开发流程
4、机器学习库与框架
部分机器学习库介绍:
- Scikit-Learn 我们用它进行分类、特征选择、特征提取和聚集。
考虑到花在清理和构造数据的时间,使用这个库会非常方便,因为它可以紧密集成到其他科学计算包上。另外,它还包含有限的自然语言处理特征提取能力,以及词袋(bag of words)、tfidf(Term Frequency Inverse Document Frequency算法)、预处理(停用词/stop-words,自定义预处理,分析器)。
- Statsmodels 主要用于预测性和探索性分析。
如果你想拟合线性模型、进行统计分析,或者预测性建模,那么Statsmodels非常适合。它提供的统计测试相当全面,覆盖了大部分情况的验证任务。
- PyMC 是做贝叶斯曲线的工具。
它包含贝叶斯模型、统计分布和模型收敛的诊断工具,也包含一些层次模型。
- Gensim 不同于其他包,它支持自然语言处理,能将NLP和其他机器学习算法更容易组合在一起。
- Orange 可视化 对分类、聚集和特征选择方法而言,它是相当全面的,还有些交叉验证的方法。
在某些方面比Scikit-learn还要好(分类方法、一些预处理能力),但与其他科学计算系统(Numpy, Scipy, Matplotlib, Pandas)的适配上比不上Scikit-learn。
- PyMVPA 是另一个统计学习库,API上与Scikit-learn很像。包含交叉验证和诊断工具,但是没有Scikit-learn全面。
尽管深度学习是机器学习的一个子节,我们在这里创建单独一节的原因是,它最新吸引了Google和Facebook人才招聘部门的很多注意。
- Theano Theano是最成熟的深度学习库。
它提供了不错的数据结构(张量,tensor)来表示神经网络的层,对线性代数来说很高效,与Numpy的数组类似。需要注意的是,它的API可能不是很直观,用户的学习曲线会很高。有很多基于Theano的库都在利用其数据结构。
- PyLearn
还有另外一个基于Theano的库,PyLearn2,它给Theano引入了模块化和可配置性,你可以通过不同的配置文件来创建神经网络,这样尝试不同的参数会更容易。可以说,如果分离神经网络的参数和属性到配置文件,它的模块化能力更强大。
总结
以上是通过学习视频《快速入门Python机器学习》整理学习笔记,本篇主要记录了机器学习与人工智能、深度学习的关系、机器学习的定义、机器学习应用场景、算法分类、开发流程以及常用的机器学习包的介绍。