Python机器学习--让计算机从数据中学习
目录:1.机器学习的基本概念2.三种类型的学习与基于术语3.成功设计机器学习系统的基石4.安装配置python工具1.将数据转化为知识机器学习擅长于从数据中挖掘知识,提高预测模型的性能。由于机器学习,我们享受着强大的垃圾电子邮件过滤器,方便的文本与语音识别软件,可靠的网络搜索引擎,挑战国际象棋玩家,安全高效的自动驾驶汽车。2.三种类型的机器学习机器学习分...
目录:
1.机器学习的基本概念
2.三种类型的学习与基于术语
3.成功设计机器学习系统的基石
4.安装配置python工具
1.将数据转化为知识
机器学习擅长于从数据中挖掘知识,提高预测模型的性能。由于机器学习,我们享受着强大的垃圾电子邮件过滤器,方便的文本与语音识别软件,可靠的网络搜索引擎,挑战国际象棋玩家,安全高效的自动驾驶汽车。
2.三种类型的机器学习
机器学习分为三种:监督学习,非监督学习,强化学习。
3.使用监督学习对未来进行预测
监督学习就是从带标签的数据中学习模式,并对未来的没接触过的数据进行打标签(计算输出)。
例如垃圾邮件过滤器,机器学习算法可以从已知的数据中的模式,对新的邮件进行分类:正常邮件/垃圾邮件。由于最终的任务是对邮件进行分类,输出结果是离散值。这样的任务,称为分类任务。
另外一中监督学习任务输出为连续值,这种任务称为回归。
4.分类任务用于预测标签
分类问题的本质就是从已知数据中学习一种模式,根据这种模式对新的数据打标签。
之前提到的垃圾邮件分类的任务输出结果有两种:正常邮件、垃圾邮件。输出结果只有两种,我们称为二分类问题。
多分类的一个特例就是对26个英文字母进行学习,让一个新的手写字母输入到系统中,系统将以一定的概率对字母进行分类:指定字母是哪个字母。
以下是一种二分类的实例:
我们将15个圆圈的数据和15个X数据输入到系统中,他们均是由二维数据来描述的:x1与x2
我们的目的是寻找一个分界,将两种类型的数据划分出来。
5.回归任务预测连续值
我们输入变量和连续的输出,目的是学得模式,输入新的变量,可以正确预测输出。
假如,学习的时间与成绩呈线性关系,我们可以建立学习时间与成绩之间的模型,根据学习时间预测成绩。
以下是一个回归实例:
6.强化学习:通过环境的奖励函数不断修正自己
正如国际象棋引擎一样,通过环境与系统之间的反馈,不断的试错,从反馈中学习知识。
7.非监督学习:发现数据结构
不像监督学习与强化学习那样,存在指定的输出或者奖励方式,非监督学习可以自动发现数据中存在的结构,将数据中未知的模式发掘出啦。
8.使用聚类算法进行无监督分类
聚类算法可以自动发现数据之间的相似性,把相似的数据划分到一类中,把不相似的数据划分到不同的类别。它是一种不需要任何先验知识的算法。这种算法可以自动发掘数据之间的关系和结构,如图所示,根据x1和x2特征,将数据划分为三类:
9.使用降维算法进行数据压缩
原有的数据可能通过多个特征来描述,这会给计算机存储和处理带来威胁。降维算法可以降低数据的维度,去掉数据值的噪声干扰,损失一定的精度为代价,保留大部分相关信息,将数据压缩到较低的维度。
数据降维对于数据可视化也是有利的。将高维的数据降维可视化:
10.机器学习术语
上图是鸢尾花分类的数据集,每一行称为一个样本,每一列称为样本的特征。
我们将数据存储在矩阵中,每一个特征对应每一列。
鸢尾花数据集包含150条样本,每个样本4种特征,所以可以写成150*4的矩阵:
11. 构建机器学习系统的流程
12.数据预处理
我们需要对收集到的数据进行预处理,并不是随便收集来的数据都可以满足我们的需求。
往往我们需要的特征必须有利于输出,必须与输出有关系。其次,我们不需要冗余信息。有的时候还要求不同特征需要在相同尺度下进行处理。
所以数据预处理非常重要。数据压缩可以提高存储效率及处理效率。
我们还需要对数据集进行划分:训练集与测试集。
训练集用于生成模型,测试集用于验证评估模型。
13.训练和选择预测模型
我们需要尝试不同的算法,计算其准确度。选择最好的最简单的算法。
我们需要交叉验证的方法去估计模型的泛化能力,并且选择最优的超参数达到最优的性能。
14.模型估计与预测
通过确定了模型,喂进数据进行训练得到模型后,可以使用测试数据估计模型的泛化能力,得到最优的参数后,应用到新的数据中去。由于训练数据和新数据来源不同,所以在训练集上和实际数据上性能会有差异。
15.Python相关工具的安装
1.python下载(本书3.4.3)
下载地址:https://www.python.org
2.Anaconda
下载地址: http://continuum.io/downloads#py34
3.安装额外包
pip install somepackage
或
conda install somepackage
4.更新安装包
pip install somepackage --upgrade
或
conda update somepackage
5.所需库
NumPy 1.9.1
SciPy 0.14.0
scikit-learn 0.15.2
matplotlib 1.4.0
pandas 0.15.2
更多推荐
所有评论(0)