分享

机器学习入门篇一

1.什么是机器学习及机器学习的原理和分类介绍
2.knn算法
3.朴素贝叶斯算法及应用示例简单介绍
什么是机器学习
利用数据,训练出模型,然后利用模型预测未知数据的一种方法。
解释:在计算机中存储历史数据,通过机器学习算法对这些数据处理(训练过程),处理的结果是模型,
          可以利用这个模型对新的数据进行预测得到答案。
        简单说就是:对历史数据训练得到模型,新数据利用模型预测出类别标记。
机器学习常见算法分类
  1)分类:KNN,决策树,贝叶斯,LRSVM,神经网络,adaboost
  2)回归:线性回归等
  3)聚类:k-means,层次聚类等
  4)降维:PCA,SVD
  5)推荐:关联规则,协同过滤算法等
误差
误差error:分类器(模型)预测的结果与真实结果之间的差异;
经验误差empirical error:分类器(模型)在训练数据集上的误差,又称为训练误差training error
分类错误率error rate:分类错误的样本数占样本总数的比例,比如m个样本中有n个样本被分错,则错误率为n/m
分类精度accuracy:分类正确的样本数占样本总数的比例,即accuracy=1- error rate
过拟合
欠拟合
6.png
如上公式得到下图,绿色是训练数据,红色是预测数据。
m=01时欠拟合 ;m=9 过拟合 ;m=3时最合适
QQ图片20160822212339.png
机器学习三个概念
训练集;分类器(模型);测试集
交叉验证:
主要用于建模应用中,在给定的样本中选择大部分样本进行建立模型,小部分用于测试评估
交叉验证:就是重复使用数据,切分数据集组合训练集和测试集,反复进行训练,测试及模型选择。
简单交叉验证:
给定的数据一部分作为训练集,一部分作为测试集
然后将训练集在各个不同条件下(参数不同,参数个数不同)训练模型,得到不同模型
使用测试集估计各个模型的测试误差,选出误差最小的模型
k折交叉验证
将数据随机分成k个互不相交大小相近的子集,
每个子集做一次测试集,剩余k-1个子集作为训练集。重复k
最后吧k次平均测试误差作为最终结果。
k=n  n是数据集样本总数,称为留一交叉验证。每个样本单独做一次测试集,样本不足时使用这种。

k近邻算法 K-Nearest Neighbor algorithm,简称KNN算法。
k近邻算法思想
给定一个训练数据集,对于新输入的实例,在训练数据集中找到与该实例最近邻的k个实例,
k个实例中哪个类别占的个数多,就把输入的实例划分到这个类中。
K近邻算法找实例点的邻居:
估算不同样本直接的相似性通常采用的方法是计算样本间的距离。
相似性度量方法有:欧式距离,余弦夹角,曼哈顿距离,切比雪夫距离等。
闵可夫斯基距离定义为:
2.png
p=1时,是曼哈顿距离;
p=2时,是欧氏距离;
p=∞时,是切比雪夫距离。
Knn的实现步骤:
1)计算当前待分类实例与训练数据集中的每个样本实例的距离;
2)按照距离递增次序排序;
3)选取与待分类实例距离最小的k个训练实例;
4)统计这k个实例所属各个类别数;
5)将统计的类别数最多的类别作为待分类的预测类别。
3.png
算法的一般流程:
1)数据处理:准备,分析数据,进行归一化等。
2)训练算法:利用训练样本训练分类器(模型)。
3)测试算法:利用训练好的分类器预测测试样本,并计算错误率。
4)使用算法:对于未知类别的样本,预测其类别。
4.png

测试k近邻分类器性能的流程:
1)数据处理:归一化等
2)测试算法:根据K近邻分类算法(函数classify0())预测测试样本类别,并计算错误率。
3)使用算法:当输入新的未知类别样本,利用算法预测结果。
5.png
如何测试分类器性能
一个分类器的性能的好坏最简单的评价方法就是,计算其分类错误率。错误率即为测试数据中分类错误的数据个数除以测试数据总数。
朴素贝叶斯(Beyes)
P(A|B)是在B发生的情况下A发生的可能性。
贝叶斯公式:P(A|B)=P(B|A)P(A)/P(B)
1. 首先,事件B发生之前,我们对事件A的发生有一个基本的概率判断,称为A的先验概率,用P(A)表示;
2. 其次,事件B发生之后,我们对事件A的发生概率重新评估,称为A的后验概率,用P(A|B)表示。
先验概率是概率值,后验概率是条件值。
Beyes示例1 做文本分类
已知文档X,要计算P(娱乐|X),P(政治|X),P(体育|X),然后取三个值中最大的那个类别作为X的类别标签。
示例2
对用户评论做分析
将留言评论进行切分一个个单词。存放到数组集合中。
示例3
使用贝叶斯方法对邮件分类(过滤垃圾邮件)
对邮件分类流程:
1.对文档进行切分处理;
2.利用数据集获取词汇表;
3.划分训练集和测试集:随机抽取10个样本作为测试,剩下40个的作为训练;
4.训练样本转换为词向量,利用贝叶斯构建分类器;
5.测试样本转换为词向量,利用训练好的分类器进行预测;
6.统计测试样本的预测错误率。

分类器优化:
对于乘积,可能有一个概率为0,影响结果,所以分需要经过拉普拉斯平滑处理
下溢问题:因子很小,乘积更小,计算机下溢出,或者结果不正确。
      解决取自然对数底为e
注:
上述中的球距离的一些公式欧式距离,余弦夹角,曼哈顿距离,切比雪夫距离,可以查阅网上资料
后面还会在介绍
聚类算法kmeans和协调过滤推荐技术原理,有空的话会基于网站推荐系统做个相关总结。



已有(2)人评论

跳转到指定楼层
abramsm1a2 发表于 2016-12-1 11:00:07
算是了解一点皮毛了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条