入门Python机器学习笔记01——机器学习概述及常用机器学习库的介绍

目录

 

前言

1、机器学习概述

1.1 机器学习与人工智能、深度学习关系

1.2应用场景分析

1.3 定义

 2、机器学习算法分类

3、机器学习开发流程


前言

关于python机器学习笔记整理01——机器学习概述及机器学习库的介绍,本文通过学习视频《快速入门python机器学习》整理学习笔记。

1、机器学习概述

1.1 机器学习与人工智能、深度学习关系

入门Python机器学习笔记01——机器学习概述及常用机器学习库的介绍
机器学习与人工智能、深度学习的关系

 

机器学习和人工智能,深度学习的关系:

  • 机器学习是人工智能的一个实现途径;

  • 深度学习是机器学习的一个方法发展而来。

1.2应用场景分析

机器学习的应用场景非常多,可以说渗透到了各个行业领域当中。医疗、航空、教育、物流、电商等等领域的各种场景。 

入门Python机器学习笔记01——机器学习概述及常用机器学习库的介绍
机器学习应用场景分析

 

1.3 定义

机器学习是从数据自动分析获得模型,并利用模型对未知数据进行预测。

入门Python机器学习笔记01——机器学习概述及常用机器学习库的介绍
机器学习定义理解

人会从大量的日常经验中归纳规律,当面临新的问题的时候,就可以利用以往总结的规律去分析现实状况,采取最佳策略。机器学习类似,从数据(大量的猫和狗的图片)中自动分析获得模型(辨别猫和狗的规律),从而使机器拥有识别猫和狗的能力。

 2、机器学习算法分类

根据是否有目标值分为 监督学习(有目标值)和非监督学习(无目标值),

监督学习根据目标值的数据类型:目标值为离散值就是分类问题;目标值为连续值就是回归问题。

入门Python机器学习笔记01——机器学习概述及常用机器学习库的介绍
机器学习的算法分类

 

  • 监督学习(supervised learning)(预测)
    • 定义:输入数据是由输入特征值和目标值所组成。函数的输出可以是一个连续的值(称为回归),或是输出是有限个离散值(称作分类)。
    • 分类: k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络
    • 回归; 线性回归、岭回归
  • 无监督学习(unsupervised learning)
    • 定义:输入数据是由输入特征值所组成。
    • 聚类: k-means

3、机器学习开发流程

入门Python机器学习笔记01——机器学习概述及常用机器学习库的介绍
机器学习开发流程图

4、机器学习库与框架

入门Python机器学习笔记01——机器学习概述及常用机器学习库的介绍
机器学习库

部分机器学习库介绍:

  • 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机器学习》整理学习笔记,本篇主要记录了机器学习与人工智能、深度学习的关系、机器学习的定义、机器学习应用场景、算法分类、开发流程以及常用的机器学习包的介绍。