机器学习(一)综述

综述


刚硕士毕业了,趁着对所学知识还有记忆,赶快把之前笔记整理下,写成博客也方便整理。机器学习真是一门诡异的课程啊,感觉学了什么又感觉什么也没学=_=。


目录:

  • 综述
      • 目录
    • 主要内容
    • 机器学习的基本过程
    • 评估机器学习算法
    • 交叉检验


主要内容:

机器学习分为:

监督学习:

  1. 分类
    1.1 决策树
    1.2 KNN
    1.3 SVM
    1.4 人工神经网络(非DNN)
  2. 回归
    2.1 线性回归
    2.2 非线性回归

无监督学习:

  1. 聚类
  2. 层次聚类

深度学习(既有监督也有无监督所以单独摘出来说):

  1. CNN
  2. RNN

比较常用的机器学习的算法和结构就是如上面所示。


机器学习的基本过程

Created with Raphaël 2.1.0 开始 分成训练集和测试集 训练集? 训练集 提取特征向量 用适当的机器学习算法算法进行计算 得到分类或者回归结果 结束 测试集 yes no

**

评估机器学习算法

**

  1. 准确性
  2. 速度
  3. 健壮性
  4. 可规模化
  5. 可解释性
    只有从这五个方面去评估才能评价出机器学习算法的优劣。

交叉检验:

在拿到数据即数据集的时候,要把数据集,分成训练集和测试集。
一种最常用的方法是平分,或者是取10分之一的数据来作为测试集合。剩下的都是训练集。这样有一个弊端,是在数据量不是特别大的时候浪费数据。 那用来作为测试用的数据基本算是浪费了。因为算法并没有学习到这些数据中蕴含的规律。而且评估结果还容易产生误差。但如果把测试集也用作训练,则会使算法过度拟合。所以一个常用的方法就诞生了k-fold。比较常用的是10-fold。

算法:10-fold
1. 把数据分成10份
2. 取出其中一份为test set
3. 其他的9份都是training set
4. 用training set, training 算法
5. 用test set 测试出其中的 准确率,或者 R方 什么的来评估,得到结果 xi
6. 再从10份中选取从来没又作为Test set的一份来作为test set.
7. 重复2-6的过程,直到每份都作为test set 使用过。
8. 把10个评估结果取平均值。

你可能感兴趣的:(机器学习)