本文共 2346 字,大约阅读时间需要 7 分钟。
顾名思义,其适用于分类任务、并且假设每个属性独立地对分类结果发生影响,然而现实中各个因素往往并不独立,那是否就无法解决问题呢?
事实上并非如此,相反,朴素贝叶斯分类器在很多情况下都能获得相当好的性能,一种解释是:无需精准概率值即可导致正确分类结果;另一种解释是:若属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算开销的同时,不会对性能产生负面影响。优点:
1、计算量较小 2、支持懒惰学习、增量学习 3、对缺失数据不太敏感 4、推断即查表,速度极快。 缺点: 1、没有考虑属性间依赖 2、通过类先验概率产生模型相比NB的不考虑依赖,SNB则是考虑了一个(独依赖估计策略:ODE)或多个(多依赖估计策略:kDE)属性依赖
优点: 1、考虑了一个或多个比较强的属性依赖关系,泛化性能可能得到提升 2、计算开销不大 3、同样支持懒惰学习、增量学习 缺点: 1、通过类先验概率产生模型贝叶斯网借助有向无环图刻画属性之间的依赖关系,通过吉布斯采样或者变分推断等方式来近似推断后验概率。
优点: 1、更加完整地考虑了属性间依赖关系,泛化性能将进一步提升 2、近似估算后验概率 3、可用于推测属性缺失的样本 4、良好的可解释性 5、常用于语音识别、机器翻译等 缺点: 1、结构学习NP难,通过评分搜索方法缓解 2、推断算法的收敛速度较慢决策树通过信息纯度(信息增益、增益率、基尼指数等)来决定结点的生成,通过剪枝来缩小决策树的尺寸以及缓解过拟合。是一种非参数学习算法。
优点: 1、计算量较小 2、清晰表达属性的重要程度 3、可增量学习对模型进行部分重构 4、不需要任何领域知识和参数假设 5、适合高维数据 6、随机森林是基于决策树的集成学习策略,随机森林鲜有短板 缺点: 1、没有考虑属性间依赖 2、容易过拟合,通过剪枝缓解 3、不可用于推测属性缺失的样本基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开,是一种针对二分类设计的算法,但稍加改造为支持向量回归即可用于回归学习。
优点: 1、可解决小样本的机器学习任务 2、可解决高维问题 3、可通过核方法解决非线性问题 缺点: 1、对缺失数据敏感 2、对于非线性问题,核函数方法选择一直是个未决问题优点:
1、分类的准确度极高 2、可解决复杂的非线性问题 3、对噪声神经有较强的鲁棒性和容错能力 4、并行分布处理能力强,分布存储及学习能力强 5、常用于图像识别 6、数据量越大,表现越好 缺点: 1、黑箱模型,难以解释 2、需要初始化以及训练大量参数,如网络结构、权值、阈值,计算复杂 3、误差逆传播的损失 4、容易陷入局部最小将文章的每句话当成一行,将每个词用符号隔开(如使用中文分词工具jieba),根据上下文,可以找出相似词义的词。
比如:我 喜欢 你,我 爱 你,我 讨厌 你。根据上下文我和你,可以找到喜欢的相似词,有爱和讨厌。 再一般地如:1 2 3 X 4 5 6,1 2 3 Y 4 5 6。根据上下文1 2 3和4 5 6,可以找到X和Y相似。 gensim是一个很好用的Python NLP的包,不光可以用于使用word2vec,还有很多其他的API可以用。它封装了google的C语言版的word2vec。基于某种距离度量找出训练集中与其最靠近的k个训练样本,或者指定距离e之内的训练样本,分类任务中通过投票法(以及加权投票等)将出现最多的类别标记作为预测结果,回归任务中则使用平均法(以及加权平均等)
优点: 1、思想简单,易于理解,易于实现,无需估计参数,无需训练; 2、适合对稀有事件进行分类; 3、特别适用于多分类问题 缺点: 1、需要计算出待测样本与所有样本的距离,计算量大 2、样本不平衡时影响大 3、适用的特征维度低优点:
1、算法简单,编程方便 2、计算简单,决策速度快 缺点: 1、拟合效果较差k-means是高斯混合聚类在混合成分方差相等、且每个样本仅指派给一个混合成分时的特例,因此k-means计算简单,但效果不如高斯混合聚类
由于计算太过复杂,高斯混合聚类并不常用,推荐使用k-means++(与k-means随机选定不同,k-means++初始选定的几个样本距离尽量远,这样能更快得出分簇结果)等k-means变种。14年的时候有人做过一个实验[1],比较在不同数据集上(121个),不同的分类器(179个)的实际效果。
论文题为:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems? 没有最好的分类器,只有最合适的分类器。 1、随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。 2、SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。 3、神经网络(13.2%)和boosting(~9%)表现不错。 4、数据维度越高,随机森林就比AdaBoost强越多,但是整体不及SVM[2]。 5、数据量越大,神经网络就越强。转载地址:http://sibgi.baihongyu.com/