第一章 Python与机器学习入门
1.1 什么是机器学习?
通俗定义:
学习就是利用以往的经验,对未知的情况进行决策和预测,
机器学习就是把这个决策交给计算机来做。
专业定义:
它是一种让计算机利用数据而非指令来进行各种工作的方法。
计算机使用输入数据,利用人类赋予它的算法得到某种模型的过程,最终利用模型来做预测。
统计学理论下的定义:
它追求的是合理的假设空间(Hypothesis Space)的选取和模型的泛化(Generalization)能力。
假设空间:就是我们的模型在数学上的"适用场合"
泛化能力:就是我们的模型在位置数据上的表现。
1.2 常用术语:
数据集(Data Set):数据集合的意思。
属性(Attribute):即特征(Feature),特征的具体值称为特征值(Feature Value)
特征空间(Feature Space):即样本空间(Sample Space),样本和特征可能存在的空间。
标签空间(Label Space):模型输出可能存在的空间。
训练集(Training Set):总数据中用来训练模型的数据集
测试集(Test Set):总数据中用来测试、评估模型泛化能力的部分数据集。
交叉验证集(Cross-Validation,CV set):比较特殊的一部分数据,用来调整模型具体参数。
1.3 交叉验证三种方法:
S-fold Cross Validation(S折交叉验证):
留一交叉验证
简易交叉验证:
即随机分组,训练集达到总数据的70%,选择模型时使用测试误差作为标准。
1.4 机器学习应用领域:
机器视觉
语音识别
数据挖掘
统计学习
-------------------------------
2.1 为何选用python:
Eric Raymond:"Python语言非常干净,设计优雅,具有出色的模块化特性,
其最出色的地方在于,鼓励清晰易读的代码,特别适合以渐进开发的方式构造项目"。
缺点:
速度相对较慢。
优点:
海量第三方库,其中包含大量的科学计算库
胶水功能:可以通过其他途径使用C/C++来编程
2.2 Python在机器学习领域的优势:
与高级语言MATLAB比较:
MATLAB正版软件几千美元的费用,
Python开源免费
与C++的比较:
Python简单易于实现,有大量第三方科学计算库
2.3 Anaconda的介绍及使用:
大量的科学计算库怎么使用,会不会有版本兼容问题。
Anaconda就是集成了所有科学计算库,并且及时更新各种库的版本
安装步骤参考官网教程
第一个机器学习样例:
第一步:数据预处理
第二步:选择和训练模型
使用numpy库提供的函数进行训练
第三步:评估和可视化结果
损失函数最小作为衡量标准
注意过度拟合现象
第二章 贝叶斯分类器
第三章 决策树
第四章 集合学习
第五章 支持向量机
第六章 神经网络
第七章 卷积神经网路