机器学习十大经典算法入门[通俗易懂]

机器学习十大经典算法入门[通俗易懂]一,SVM(SupportVectorMachine)支持向量机a.SVM算法是介于简单算法和神经网络之间的最好的算法。b.只通过几个支持向量就确定了超平面,说明它不在乎细枝末节,所以不容易过拟合,但不能确保一定不会过拟合。可以处理复杂的非线性问题。c.高斯核函数d.缺点:计算量大二,决策树(有监督算法,概率算法)…

大家好,又见面了,我是你们的朋友全栈君。

一,SVM(Support Vector Machine)支持向量机
a. SVM算法是介于简单算法和神经网络之间的最好的算法。
b. 只通过几个支持向量就确定了超平面,说明它不在乎细枝末节,所以不容易过拟合,但不能确保一定不会过拟合。可以处理复杂的非线性问题。
c. 高斯核函数
d. 缺点:计算量大
这里写图片描述

二,决策树(有监督算法,概率算法)
a. 只接受离散特征,属于分类决策树。
b. 条件熵的计算 H(Label |某个特征) 这个条件熵反映了在知道该特征时,标签的混乱程度,可以帮助我们选择特征,选择下一步的决策树的节点。
c. Gini和entropy的效果没有大的差别,在scikit learn中默认用Gini是因为Gini指数不需要求对数,计算量少。
d. 把熵用到了集合上,把集合看成随机变量。
e. 决策树:贪心算法,无法从全局的观点来观察决策树,从而难以调优。
f. 叶子节点上的最小样本数,太少,缺乏统计意义。从叶子节点的情况,可以看出决策树的质量,发现有问题也束手无策。
优点:可解释性强,可视化。缺点:容易过拟合(通过剪枝避免过拟合),很难调优,准确率不高
g. 二分类,正负样本数目相差是否悬殊,投票机制
h. 决策树算法可以看成是把多个逻辑回归算法集成起来。
这里写图片描述

三,随机森林(集成算法中最简单的,模型融合算法)
随机森林如何缓解决策树的过拟合问题,又能提高精度?
a. Random Forest, 本质上是多个算法平等的聚集在一起。每个单个的决策树,都是随机生成的训练集(行),随机生成的特征集(列),来进行训练而得到的。
b. 随机性的引入使得随机森林不容易陷入过拟合,具有很好的抗噪能力,有效的缓解了单棵决策树的过拟合问题。
c. 每一颗决策树训练样本是随机的有样本的放回抽样。

四,逻辑回归(线性算法)
它是广义线性模型GLM的一种,可以看成是一个最简单的神经网络,损失函数是一个对数似然函数,损失函数的值越大越好。(梯度上升法)
a. 多次训练,多次测试,目的是看逻辑回归这个算法适不适合这个应用场景。

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

五,朴素贝叶斯
应用场景:源于推理的需要,例如:通过商品的描述(特征X)来推理商品的类别(Y)。
“朴素”:特征与特征之间是独立的,互不干扰。如果特征比较多时,往往独立性的条件不重要(互相抵消),可以用朴素贝叶斯。
训练的时候:得出条件概率表
推理的时候:比较条件概率的大小
特点:训练容易,推理难

这里写图片描述

六,KNN(K Nearest Neighbor) K近邻(有监督算法,分类算法)
K表示K个邻居,不表示距离,因为需要求所有邻居的距离,所以效率低下。
优点:可以用来填充缺失值,可以处理非线性问题
调优方法:K值的选择,k值太小,容易过拟合
应用:样本数少,特征个数较少,kNN更适合处理一些分类规则相对复杂的问题,在推荐系统大量使用
KNN算法和贝叶斯算法有某种神秘的联系,用贝叶斯算法估算KNN的误差。
这里写图片描述

七,K-means K均值(无监督算法,聚类算法,随机算法)
a. 最常用的无监督算法
b. 计算距离方法:欧式距离,曼哈顿距离
c. 应用:去除孤立点,离群点(只针对度量算法);可以离散化
d. 最常用归一化预处理方法
f. k-means设置超参数k时,只需要设置最大的k值。
g. k-means算法最终肯定会得到稳定的k个中心点,可以用EM(Expectation Maximum)算法解释
h. k-means算法k个随机初始值怎么选? 多选几次,比较,找出最好的那个
i. 调优的方法:1. bi-kmeans 方法(依次“补刀”)
j. 调优的方法:2. 层次聚类(逐步聚拢法)k=5 找到5个中心点,把中心点喂给k-means。初始中心点不同,收敛的结果也可能不一致。
k. 聚类效果怎么判断?用SSE误差平方和指标判断,SSE越小越好,也就是肘部法则的拐点处。也可以用轮廓系数法判断,值越大,表示聚类效果越好,簇与簇之间距离越远越好,簇内越紧越好。
l. k-means算法最大弱点:只能处理球形的簇(理论)
这里写图片描述

八,Adaboost(集成算法之一)

九,马尔可夫
a. 马尔可夫线没有箭头,马尔可夫模型允许有环路。
b. affinity亲和力关系,energy(A,B,C),发现A,B,C之间有某种规律性东西,但不一定是概率,但是可以表示ABC之间的一种亲和力。
c. potential = e1*e2*e3*en potential函数一般来说不是概率
d. 归一化 -> 概率分布probability
e. 贝叶斯模型与马尔可夫模型:任何一个贝叶斯模型对应于唯一的一个马尔可夫模型,而任意一个马尔可夫模型,可以对应于多个贝叶斯模型。
f. 贝叶斯模型类似于象棋,等级分明;马尔可夫模型类似于围棋,人人平等。
g. 马尔可夫模型(Markov Model)是一种统计模型,广泛应用在语音识别,词性自动标注,音字转换,概率文法等各个自然语言处理等应用领域。
这里写图片描述

十,EM算法
EM算法是概率图算法的一个简单

附录:
这里写图片描述

这里写图片描述
模型是已知的:条件概率表(射线)已知( P(Xi|C1) P ( X i | C 1 ) ),类别的概率是已知的( P(C1) P ( C 1 )

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136631.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java解析XML字符串格式「建议收藏」

    Java解析XML字符串格式「建议收藏」Java解析XML字符串格式代码示例结果展示代码示例publicstaticvoidmain(String[]args){StringparseStr=null;StringreturnMsg=”<?xmlversion=\”1.0\”encoding=\”gb2312\”?>”+”<Resultxmlns=\”http://www.fiorano.com/fesb/activity/DB

  • tensorflow_python中文手册

    tensorflow_python中文手册

  • 5款最强且免费的Python IDE

    5款最强且免费的Python IDE在一些问答平台,经常会遇到一类关于Python的问题:

    “学习Python,应该选择哪款开发工具?”

  • 一款自制的视频录制软件

    一款自制的视频录制软件是利用opencv库的,平时自己需要录制东西,但是网上大部分的软件只录制屏幕,不能录制摄像头视屏,所以自己动手弄了个不是特别好用,但也讲究这凑合程序源代码:http://download.csdn.net/source/3578833

  • win10系统中pdf不显示缩略图及预览图

    win10系统中pdf不显示缩略图及预览图试试这个,我的取消了复选框反而出现了预览图:https://helpx.adobe.com/cn/acrobat/using/enable-pdf-thumbnail-preview-windows-explorer.html

  • 基于51单片机控制步进电机正反转

    基于51单片机控制步进电机正反转基于51单片机控制步进电机正反转此次采用uln2003模块来链接步进电机;##步进电机工作原理步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。每输入一个脉冲信号,转子就转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。步进电动机的结构形式和分类方法较多,一般按励磁方式分为磁阻式、永磁式和混磁式三种;按相数可分为单相、两相、三相和多相等形式。因此我们可以控制单片机I/O口的电平来控制步进电机,此次设计中采用四相单拍工作方式,在这种工作方式下,A、

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号