机器学习【1】(Python Machine Learning读书笔记)
依旧是作为读书笔记发布,不涉及太多代码和工具,作为了解性文章来介绍机器学习。
文章主要分为两个部分,machine learning的概述和 scikit-learn的简单介绍,两部分关系紧密,合并书写,以致整体篇幅较长,分为1、2两篇。
首先,是关于机器学习。要点如下:
1.1 机器学习三种主要方式
1.2 四大过程
1.3 python相关实现(安装包)
【1.1】
机器学习方式主要有三大类:supervised learning(监督式学习), unsupervised learning(非监督式学习), and reinforcement learning(增强学习)
supervised learning(监督式学习):
监督式学习主要目的是为了从已有数据中预测未来以及分类。先看一下基本定义:
通俗的解释一下,监督学习就是对一组(或多组)已知数据,进行分析,得出该状况下的最优模型,然后用这个模型对未知结果的数据进行分析,进行预测和分类。这在我们平常的简单建模中应用广泛,且置信程度较高。因而,它的一大特点就是“有训练样本”
监督学习最常用的两种算法是:统计分类 Classification 和 回归分析Regression
使用哪一种算法,需要根据数据特点进行选择。如果数据是离散的、非线性的,用统计分类的方法;而数据是线性的,则选择回归分析。下面两张图形象说明了两者的区别:
图1 统计分类
图2 回归分析
reinforcement learning(增强学习)
增强学习的目的是为了在相应环境下,使得决策最优。从根本上说,增强学习也拥有一个结果,我们称之为“回报信号”,它可以被描述成“回报函数”,这与监督式学习有类似之处。因而,先将这个概念提前描述。
与监督式学习不同的是,增强学习的回报函数不仅仅是一个函数值或分类标签,它是用来衡量某一步骤(或行为)的优劣,带来的结果是否优良。因而,增强学习就是在交互中,谋求决策最优。它与环境密切相关。
最典型的例子就是象棋程序。程序对每一步进行评估,得到相应的回报函数,我们只需要找到一条回报值最大的路径(每步的回报之和最大),就认为是最佳的路径。
unsupervised learning非监督式学习
先看特点:dealing with unlabeled data or data of unknown structure 也就是之前提到的,非监督式和监督式最大的区别就是样本是否可训练。
两大算法分别是:聚类和降维,从字面就极好理解,聚类是将相似度高的物体汇聚成同一类。数据没有经过训练,直接进行分析。降维,就是将数据维度降低。下面两张图,可以很好的表现出来:
图3 聚类
图4 降维
【1.2】机器学习过程
主要分为四大部分:
(1)Preprocessing – getting data into shape
预处理是机器学习关键的一步,也是任何数据分析中最基础的一步。现实生活中的数据总是不能完全符合我们的格式,我们无法避免地需要对数据进行处理,使之成为我们需要的格式。具体方式不细说,可参考前面的几篇文章,有提到一些,也可以在实际用到时,系统学习
(2)Training and selecting a predictive model
简单来说就一句话,选择一个合适的模型。
(3)Evaluating models
通俗概况,误差分析及检验
(4)predicting unseen data instances
如果模型理想,即可应用
【1.3】Installing Python packages
•NumPy 1.9.1
•SciPy 0.14.0
•scikit-learn 0.15.2
•matplotlib 1.4.0
•pandas 0.15.2
•SciPy 0.14.0
•scikit-learn 0.15.2
•matplotlib 1.4.0
•pandas 0.15.2