第一节--机器学习介绍
机器学习的特点
传统的编程模式
传统编程模式基于规则(数据结构与算法)和数据。目的为了快速得到答案。当解决问题的规则设定好后,输入与输出的唯一确定的。
机器学习模式
机器学习是将数据与数据的输出统一作为输入,计算机经过学习得到输入与输出之间的知识。这里的知识也指输入数据与输出数据的规则。
两者的区别
- 传统编程人工确定规则,具有很大的限制。不够充分,灵活。
- 机器学习是由数据探索规则。可学习任意可输入--输出的问题。
第二节--机器学习分类
按任务分类
- 回归 执行值--值的任务,股票预测,天气预测...
- 分类 执行样本--类别的任务,图像分类,文本分类...
- 聚类 执行自行挖掘数据中的联系与区别的任务,市场分析,社群分析...
- 降维 将高维数据降到低维的任务。
按学习方式分类--主要机器学习分类方式
- 有监督学习 有人工制作标签的样本的学习方式,分类,回归
- 无监督学习 样本是没有标签的学习方式,聚类,降维
- 强化学习 基于一定奖励规则的探索式主动式学习方法
补充概念--生成模型与判别模型
这是指有监督学习中的学习方法划分类别。
生成模型
由数据学习训练集的联合概率分布,然后求出条件概率分布作为预测的模型。先做好模型再去预测的方法。模型表示了输入到输出的生成关系。
生成模型有:朴素贝叶斯模型和隐马尔可夫模型。
特点:
- 可以还原出联合概率分布
- 学习收敛速度快
- 存在隐变量时,仍可以使用
判别模型
由数据学习决策函数或者条件概率分布作为预测。
判别算法有:K近邻,感知机,决策数,逻辑回归,最大熵模型,支持向量机,提升方法,条件随机场等。
特点:
- 学习准确度更高
- 可以对数据进行抽象,可以简化学习问题
机器学习方法三要素
- 模型
- 策略
- 算法
模型
模型就是结合输入数据与需要解决的任务建立一个输出到输出的映射方法。该方法称为模型。
策略
模型是解决用什么来学习的问题。而策略就是衡量评估学习效果好坏得的问题。机器学习采用的策略是选用损失函数作为衡量指标。
常用的损失函数:
- 0-1损失函数
- 绝对值损失函数 |y_true - y_pred|
- 平方损失函数 (y_true - y_pred) ** 2
- 指数损失函数 e ** -(y_true * y_pred)
- Hinge损失函数 max(0 , 1 - y_true * y_pred)
- 对数损失函数 -log(P(Y|X))
算法
为了使得模型拟合效果更好,需要最小化损失函数。这个过程里需要循环进行输入到输出和求损失函数的操作。那么如何将损失函数传递给模型从而更新模型是的模型有更好的效果,这就是算法需要解决的问题。
梯度下降法
这里主要是考虑到了损失函数最快的下降方向。学过物理和数学我们知道,沿着梯度方向是最快的选择。
牛顿法
牛顿法的最大优势是收敛速度快。