1 什么是机器学习
程序完成任务T,获得经验E,表现效果为P,其中P随着E的增加而增加,可谓学习。
2 用在哪
- 解决方案的规则复杂
- 传统手段无法解决
- 规则会变
- 获取洞见(数据挖掘)
3 分类
可以分为:
- 监督学习
- 非监督学习
- 半监督学习
- 强化学习
也可以分为: - 在线学习,可进行增量学习,适用于变化的,大量的学习。可以核外学习,处理主内存无法处理的大量数据
- 批量学习
还可以分为: - 基于示例的学习,学习实例,进行相似度泛化
- 基于模型的学习,构建模型预测
3.1 监督式学习
可以解决分类任务、回归任务。常见算法有:
- K-近邻算法
- 线性回归
- 逻辑回归
- 支持向量机
- 决策树和随机森林
- 神经网络
3.2 非监督式学习
可用于异常检测,常见算法有:
- 聚类算法
- k-平均算法
- 分层聚类分析
- 最大期望算法
- 可视化和降维
- 主成分分析
- 核主成分分析
- 局部线性嵌入LLE
- t-分布随机近邻嵌入t-SNE
- 关联规则学习
- Apriori
- Eclat
3.3 半监督式学习
训练数据只有少量进行了标记,一半是无监督和监督的结合,例如DBN基于RBM。
3.4 强化学习
以回报来学习最好的策略。
4 机器学习的挑战
- 数据量不足
- 数据不具有代表性,存在采样偏差
- 数据质量差,错误、异常、噪声多,或者无关特征太多
- 欠拟或者过拟
5 测试验证
通畅把数据分为训练集和测试集(20%)。
训练集可以分出验证集。一般使用交叉验证,把训练集分为n个子集,通过不同的子集组合训练,剩余的子集验证,用来选择最佳模型和调整超参数。
确定好超参数后,对整个训练集训练,再使用测试集测量泛化误差。
--
参考《机器学习实战》
网友评论