机器学习算法大致可以分为三类:
监督学习算法 (Supervised Algorithms):在监督学习训练过程中,可以由训练数据集学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。该算法要求特定的输入/输出,即同时具备特征与标签,首先需要决定使用哪种数据作为范例。包括回归(Regression)、分类(Classification) 。
无监督学习算法 (Unsupervised Algorithms):数据集中数据、特征之间的关系未知且不附带标签,需要根据聚类或一定的模型得到数据之间的关系。常见的为聚类(clustering)。
强化学习算法 (Reinforcement Algorithms):强化学习普适性强,主要基于决策进行训练,算法根据输出结果(决策)的成功或错误来训练自己,通过大量经验训练优化后的算法将能够给出较好的预测。类似有机体在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。

基本的机器学习算法:
线性回归算法 (Linear Regression)
支持向量机算法 (Support Vector Machine,SVM)
最近邻居/k-近邻算法 (K-Nearest Neighbors,KNN)
逻辑回归算法 (Logistic Regression)
决策树算法 (Decision Tree)
k-平均算法 (K-Means)
随机森林算法 (Random Forest)
朴素贝叶斯算法 (Naive Bayes)
降维算法 (Dimensional Reduction)
梯度增强算法 (Gradient Boosting)
线性判别分析(Linear Discriminant Analysis,LDA)

1.线性回归算法 Linear Regression
回归分析(Regression Analysis)是统计学的数据分析方法,目的在于了解两个或多个变量间是否相关、相关方向与强度,并建立数学模型以便观察特定变量来预测其它变量的变化情况。线性回归又分为两种类型,即简单线性回归(simple linear regression),只有 1 个自变量;多变量回归(multiple regression),至少两组以上自变量。
线性回归算法(Linear Regression)的建模过程就是使用数据点来寻找最佳拟合线。公式,y = b1x + b0,其中 y 是因变量,x 是自变量,利用给定的数据集求 b1和 b0的值。我们可以使用不同的方法从数据中学习线性回归模型,例如最小二乘法和梯度下降法。

2.支持向量机算法(Support Vector Machine,SVM)
SVM算法的核心是选择一个最佳的超平面将输入变量空间中的点按照它们的类(0或1)分开。所谓的“超平面”其实就是一个分割输入变量空间的线,在二维空间中,我们可以将其可视化为一条直线,并且假设我们所有的输入点都可以被这条直线完全分开。

此外,超平面和最近数据点之间的距离称为边距。可以分离两个类的最佳或最优超平面是具有最大边距的行。这些点与定义超平面和分类器的构造是有关,这些点称为支持向量。它们可以支持或定义超平面。

3.最近邻居/k-近邻算法 (K-Nearest Neighbors,KNN)
KNN (K-Nearest Neighbor) ,即K近邻算法。K近邻就是K个最近的邻居,当需要预测一个未知样本的时候,就由与该样本最接近的K个邻居来决定。KNN 既可以用于分类问题,也可以用于回归问题。当进行分类预测时,使用K 个邻居中,类别数量最多( 或加权最多)者, 作为预测结果。当进行回归预测时, 使用K 个邻居的均值( 或加权均值) 作为预测结果。
KNN的原理在于样本映射到多维空间时,相似度较高的样本,其距离也会比较接近,反之,相似度较低的样本,其距离也会比较疏远。我们可以将该算法理解为“ 近朱者赤近墨者黑“。

4.逻辑回归算法 Logistic Regression
逻辑回归算法(Logistic Regression)一般用于需要明确输出的场景,如某些事件的发生(预测是否会发生降雨)。通常,逻辑回归使用某种函数将概率值压缩到某一特定范围。
例如,Sigmoid 函数(S 函数)是一种具有 S 形曲线、用于二元分类的函数。它将发生某事件的概率值转换为 0, 1 的范围表示。
Y = E ^(b0+b1 x)/(1 + E ^(b0+b1 x ))
以上是一个简单的逻辑回归方程,B0,B1是常数。这些常数值将被计算获得,以确保预测值和实际值之间的误差最小。

5.决策树算法 Decision Tree
决策树是一种树形结构, 通过特征的不同来将样本数据划分到不同的分支( 子树)中,最终,每个样本一定会划分到一个叶子节点中。我们可以将每个特征视为一个问题(提问)。特征值的不同,就视为样本给出的不同答案,然后,我们就可以根据一系列问题( 特征),将样本划分到不同的叶子节点中。

6.k-平均算法 K-Means
K-Means,即K均值法,是最常见的一种聚类算法。顾名思义,该算法会将数据集分为K个簇,每个簇使用簇内所有样本的均值来表示,我们将该均值称为”质心“。具体步骤如下:
1.从样本中选择K 个点作为初始质心。
2.计算每个样本到各个质心的距离,将样本划分到距离最近的质心所对应的簇中。
3.计算每个簇内所有样本的均值,并使用该均值更新簇的质心。
4.重复步骤2与3,直到达到以下条件之一结束:
质心的位置变化小于指定的阈值。
达到最大迭代次数。

7.随机森林算法 Random Forest
随机森林算法(Random Forest)的名称由 1995 年由贝尔实验室提出的random decision forests 而来,正如它的名字所说的那样,随机森林可以看作一个决策树的集合。随机森林中每棵决策树估计一个分类,这个过程称为“投票(vote)”。理想情况下,我们根据每棵决策树的每个投票,选择最多投票的分类。
随机森林的构建过程大致如下:
1.从原始训练集中使用Bootstraping方法随机有放回采样选出m个样本,共进行n_tree次采样,生成n_tree个训练集
2.对于n_tree个训练集,我们分别训练n_tree个决策树模型
3.对于单个决策树模型,假设训练样本特征的个数为n,那么每次分裂时根据信息增益/信息增益比/基尼指数选择最好的特征进行分裂
4.每棵树都一直这样分裂下去,直到该节点的所有训练样例都属于同一类。在决策树的分裂过程中不需要剪枝
5.将生成的多棵决策树组成随机森林。对于分类问题,按多棵树分类器投票决定最终分类结果;对于回归问题,由多棵树预测值的均值决定最终预测结果

8.朴素贝叶斯算法 Naive Bayes
朴素贝叶斯算法(Naive Bayes)基于概率论的贝叶斯定理,应用非常广泛,从文本分类、垃圾邮件过滤器、医疗诊断等等。朴素贝叶斯适用于特征之间的相互独立的场景,例如利用花瓣的长度和宽度来预测花的类型。“朴素”的内涵可以理解为特征和特征之间独立性强。与朴素贝叶斯算法密切相关的一个概念是最大似然估计(Maximum likelihood estimation)。

9.降维算法 Dimensional Reduction
在机器学习和统计学领域,降维是指在限定条件下,降低随机变量个数,得到一组“不相关”主变量的过程,并可进一步细分为特征选择和特征提取两大方法。
一些数据集可能包含许多难以处理的变量。特别是资源丰富的情况下,系统中的数据将非常详细。在这种情况下,数据集可能包含数千个变量,其中大多数变量也可能是不必要的。在这种情况下,几乎不可能确定对我们的预测影响最大的变量。此时,我们需要使用降维算法,降维的过程中也可能需要用到其他算法,例如借用随机森林,决策树来识别最重要的变量。

10.梯度增强算法 Gradient Boosting
梯度增强算法(Gradient Boosting)使用多个弱算法来创建更强大的精确算法。它与使用单个估计量不同,而是使用多个估计量创建一个更稳定和更健壮的算法。梯度增强算法有几种:
XGBoost  — 使用线性和树算法
LightGBM  — 只使用基于树的算法
梯度增强算法的特点是精度较高。此外,LightGBM 算法具有令人难以置信的高性能。

11.线性判别分析(Linear Discriminant Analysis,LDA)
线性判别分析的核心思想是寻找到最佳的投影方法,将高维的样本投影到特征空间(feature space),使得不同类别间的数据“距离”最大,而同一类别内的数据“距离”最小。
给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、不同类样例的投影点尽可能远离。在对新样本进行分类时,将其投影到同样的这条直线上,再根据新样本投影点的位置来确定它的类别。

机器学习基础算法概述相关推荐

  1. 机器学习基础算法之随机森林

    英文原文<The Random Forest Algorithm> 专知 编译<机器学习基础算法之随机森林> [导读]在当今深度学习如此火热的背景下,其他基础的机器学习算法显得 ...

  2. 小白机器学习基础算法学习必经之路

    https://www.toutiao.com/a6657427848900379150/ 2019-02-14 15:21:13 未来,人工智能是生产力,是变革社会的主要技术力量之一. 掌握人工智能 ...

  3. 【机器学习】十大机器学习基础算法

    十大机器学习算法入门 近年来,机器学习与人工智能已广泛应用于学术与工程,比如数据挖掘.计算机视觉.自然语言处理.生物特征识别.搜索引擎.医学诊断.检测信用卡欺诈.证券市场分析.DNA序列测序.语音和手 ...

  4. 机器学习--基础算法--机器学习基础

    1 机器学习世界的数据 1.数据 数据整体叫数据集(data set) 每一行数据称为一个样本(sample) 除最后一列,每一列表达样本的一个特征(eature) 最后一列,称为标记(label) ...

  5. 机器学习基础算法四:逻辑回归算法实验

    逻辑回归算法实验 一.逻辑回归介绍 逻辑回归是一种分类模型 z=WTX=w0+w1x1+w2x2+......+wnxnz =W^{T}X=w^{0}+w^{1}x^{1}+w^{2}x^{2}+.. ...

  6. 机器学习基础算法(2)

    2.分类算法-k-邻近算法 分类算法的判定依据:目标值是离散型的 2.1 k-邻近算法基本概念.原理及应用 k近邻算法是一种基本分类和回归方法.本篇文章只讨论分类问题的k近邻法. K近邻算法,即是给定 ...

  7. 20/03/07 机器学习---基础算法 (2)

    回归 线性回归 使用极大似然估计解释最小二乘 y(i)=θTx(i)+ε(i)y^{(i)}=\theta^Tx^{(i)}+\varepsilon^{(i)}y(i)=θTx(i)+ε(i) 误差ε ...

  8. 【机器学习基础】理解关联规则算法

    ‍‍ 一.基础概念 1.算法概述 关联规则挖掘可以让我们从数据集中发现项与项(item 与 item)之间的关系,它在我们的生活中有很多应用场景,"购物篮分析"就是一个常见的场景, ...

  9. 机器学习基础-经典算法总结

    机器学习基础-经典算法 逻辑回归 逻辑回归的原理,问题的假设 为什么逻辑回归也可称为对数几率回归 推导逻辑回归损失函数 逻辑回归损失函数求导 逻辑回归为什么使用交叉熵作为损失函数 LR是不是凸优化问题 ...

最新文章

  1. Android 开发 Tips
  2. 关于Arrays类中toArray方法的总结
  3. iOS UIlabel文字排版(改变字间距行间距)分类
  4. Test of etco
  5. SCREEN屏幕编程时候必须保证SCREN中词典的字段格式必须和数据表中字段的类型长度一致!...
  6. MessageDigest简介
  7. Codeforces Round #530 (Div. 2)
  8. android网络框架
  9. Java文件流字节流和字符流的区别
  10. python flask服务器假死_python – Flask POST请求导致服务器崩溃
  11. 贺利坚老师汇编课程42笔记:DIV除法指令
  12. PAT (Basic Level) Practice1029 旧键盘
  13. atitit agt sys 设置下级代理功能设计.docx
  14. id2021中文直装版 v16.0附安装教程及软件特点
  15. Java 类加载器详解
  16. 买哪个股票稳赚,三类股票,可以买了
  17. Incorrect string value: ‘\xE4\xBB\x8E\xE5\x85\xA5...‘ for column ‘detail‘ at row 1
  18. Convolution1D与Convolution2D区别
  19. 【自动驾驶-感知-红绿灯】红绿灯识别知识点
  20. 伊斯坦布尔之旅返程:夜景和免税店

热门文章

  1. 华为鸿蒙vogtloop30pro价格,5000万徕卡四摄+鸿蒙OS华为Mate 40,华为Mate30再次刷新性价比...
  2. php调用win32 api,C#_c#使用win32api实现获取光标位置,方法一:需要调用win32api,winfo - phpStudy...
  3. Python使用socket传输文件
  4. 网络营销的六大特点和八大功能
  5. 使用Python破解rar压缩包密码
  6. 青少年学c语言 作用,上海青少年学习机器人编程意义在哪?
  7. EOS笔记2--同步主网与测试网
  8. 定时器 setTimeout、setInterval详解
  9. UM与PXE学习笔记
  10. 【流放之路-第六章】