机器学习入门
使用(if..else...)人工编码决策存在的问题
- 做决策所应用的一系列逻辑仅针对单一领域的特定任务
- 手动设计规则需要对问题有深刻的理解。即我们需要明确知道有哪些if条件
机器学习的三类问题
- 监督学习 : 每个数据点都被标记或关联为一个类别或者分值, 监督学习的目标就是学习大量类似这样的样本(训练数据), 从而对未来的数据点作出预测。
- 非监督学习 : 数据点没有相关标记。非监督学习算法的目标是以某种方式来组织数据或者描述数据的结构。这就意味着把这些数据进行聚类或者发现其他不同的方式来观察数据, 从而让这些数据看起来简单些
- 强化学习 : 算法会根据各个数据点选择动作进行响应。 强化学习常见于机器人科学中, 学习算法会在决策后得到奖励信号, 这个信号可以表明这个决策的好坏, 基于此, 算法会不断修改策略以得到更高的奖励
常用包
- Numpy : 用于科学计算的基础包, 提供了多维数组、高级数学函数和伪随机数生成功能
- Scipy : 包含大量科学计算函数的库, 提供高级的线性代数程序、优化的数学函数、信号处理等
- scikit-learn: 开源机器学习库, 提供可OpenCV缺少的有用的帮助函数和基础内容
- Matplotlib : Python中主要的科学绘图库, 提供可生成线性图表、直方图、散点图等功能
- Jupyter Notebook : 可在浏览器中运行代码的交互环境
机器学习典型工作流程
数据预处理的两个阶段
- 特征选择
- 特征提取