【算法】KDnuggets整理最新机器学习必备十大入门算法!都在这里了

2017 年 10 月 23 日 产业智能官 雷克世界

原文来源:KDnuggets

作者:Reena Shaw

「雷克世界」编译:BaymaxZ

我们向初学者介绍十大机器学习(ML)算法,并附上数字和示例,方便理解。

简介

“哈佛商业评论”的一篇文章(https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century)将“数据科学家”评为“21世纪最性感的工作”,对机器学习算法的研究取得了巨大的关注。因此,对于那些机器学习领域的初学者,我们决定重新撰写2016年的一篇金牌博客——机器学习工程师必须要知道的十大算法(https://www.kdnuggets.com/2016/08/10-algorithms-machine-learning-engineers.html)。

机器学习算法是能够从数据中学习和从经验中改进而不需要人为干预的算法。学习任务包括学习将输入映射到输出的函数,学习未标记数据中的隐藏结构或“基于实例的学习”,其中通过将新实例与存储在存储器中的训练数据的实例进行比较,为新实例生成类标签。“基于实例的学习”不会从具体实例中创建抽象。

机器学习算法的类型

机器学习算法有三种:

•监督学习:

监督学习可以解释如下:使用标示的训练数据从输入变量(x)到输出变量(y)学习映射函数。

Y = f(x)

监督学习问题有两种:

a分类:预测给定样本的结果,其中输出变量是类别。举例来说,比如男性还是女性、病态还是健康等标签。

b回归:预测输出变量为实值形式的给定样本的结果。举例来说,比如表示降雨量、一个人的身高等实际值的标签。

我们在本博客中讨论的前5种算法——线性回归、Logistic回归、CART(分类回归树)、朴素贝叶斯、KNN(K临近算法),他们都是监督学习的例子。

集成(Ensembling)是一种监督学习。这意味着结合多个不同的弱机器学习模型的预测来预测新的样本。

•无监督学习:

无监督学习问题仅具有输入变量(x),但没有相应的输出变量。它使用未标记的训练数据来模拟数据的底层结构。

无监督的学习问题有两种:

A关联:发现集合中同现的概率。广泛应用于购物篮分析。示例:如果客户购买面包,他有80%可能也会购买鸡蛋。

B聚类:分组样本,使得同一群集中的对象彼此之间比来自另一个群集的对象更相似。

C降维:就其名称而言,Dimensionality Reduction(减少维度)意味着减少数据集的变量数量,同时确保重要的信息仍然被传达。使用特征提取方法和特征选择方法可以进行降维。特征选择选择原始变量的一个子集。特征提取执行从高维空间到低维空间的数据变换。示例:PCA算法(主成分分析算法)是一种特征提取方法。

我们在这里介绍的算法6-8——Apriori、K-means、PCA(主成分分析算法)都是无监督学习的例子。

•强化学习:

强化学习是一种机器学习算法,允许智能体通过学习最大化奖励的行为来决定基于其当前状态的最佳下一个动作。

强化算法通常通过尝试和失误来学习最佳动作。它们通常用于机器人技术——机器人可以通过在碰撞障碍物之后接收负反馈而学习避免碰撞,而在视频游戏中可以通过尝试和错误揭示特定的动作,从而可以激发奖励。然后,智能体可以使用这些奖励了解游戏的最佳状态,并选择下一个动作。

量化机器学习算法的流行度

有人做过一些调查报告,比如像这种,报告链接(http://www.cs.uvm.edu/~icdm/algorithms/10Algorithms-08.pdf),量化了10种最流行的数据挖掘算法。然而,这样的列表是主观的,就引用的论文而言,被调查参与者的样本规模非常窄,都是数据挖掘的高级从业人员。被调查者包括ACM KDD创新奖、IEEE ICDM研究贡献奖的获奖者,KDD-06、ICDM'06和SDM'06的计划委员会成员和ICDM'06的145位与会者。

本博客中的十大算法适用于初学者,主要是我在计算机工程学士学位期间从“数据存储与挖掘”(DWM)课程中学到的。DWM课程是机器学习算法领域的一个很好的介绍。基于Kaggle比赛的流行度,我特别涵盖了最后2个算法(集成方法)。希望你喜欢这篇文章!

监督学习算法

1.线性回归

在机器学习中,我们有一组用于确定输出变量(y)的输入变量(x)。输入变量和输出变量之间存在关系。机器学习的目标是量化这种关系。

图1:线性回归以y = ax + b的形式表示为一条直线。

在线性回归中,输入变量(x)和输出变量(y)之间的关系表示为y = ax + b形式的等式。因此,线性回归的目标是找出系数a和b的值。这里,a是截距,b是线的斜率。

图1显示了数据集的x和y值。目标是找到匹配最接近大多数点的线。这将减少数据点的y值和行之间的距离(error)。

2.Logistic回归

线性回归预测是连续值(比如以cm为单位的降水),Logistic回归预测是应用变换函数后的离散值(比如学生是否考过/挂科)。

Logistic回归最适合于二进制分类(y = 0或1,其中1表示默认类)的数据集。示例:在预测事件是否发生时,其发生的事件被分类为1;在预测是否病人不生病,病例均为1。它以其中使用的转换函数命名,称为Logistic函数h(x)= 1 /(1 + e ^ x),它是一个S形曲线。

在Logistic回归中,输出是默认类的概率的形式(与直接生成输出的线性回归不同)。因为这是一个概率,输出在0-1的范围内。使用逻辑函数h(x)= 1/(1 + e ^ -x)通过log变换x值来生成输出(y值)。然后应用阈值将该概率强制为二进制分类。

图2:用于确定肿瘤是恶性还是良性的Logistic回归。如果概率h(x)> 0.5,则分类为恶性。

在图2中,为了确定肿瘤是否恶性,默认变量为y = 1(肿瘤=恶性)。x变量可以是肿瘤的测量,例如肿瘤的大小。如图所示,Logistic函数将数据集的各种实例的x值转换为0到1的范围。如果概率超过阈值0.5(由水平线表示),则将肿瘤分类作为恶性。

Logistic回归方程P(x)= e ^(b0 + b1 * x)/(1 + e ^(b0 + b1 * x))可以转换为ln(p(x)/1-p(x) = b0 + b1*x。

Logistic回归的目标是使用训练数据来找到系数b0和b1的值,以便将预测结果与实际结果之间的误差最小化。使用最大似然估计技术来估计这些系数。

3.CART(分类和回归树)

分类和回归树(CART)是一种决策树的实现方法。

非终端节点是根节点和内部节点。终端节点是叶节点。每个非终端节点表示单个输入变量(x)和该变量上的分割点;叶节点表示输出变量(y)。使用以下模型进行预测:沿着树的分割走,到达叶节点并输出叶节点上存在的值。

图3中的决策树根据年龄和婚姻状况分类是否会购买跑车或小型货车。如果这个人已经超过30岁,没有结婚,我们就像下面这样沿着树走:“30多岁吗?”- >是->结婚了吗?最后,该模型输出结果是一辆跑车。

4.朴素贝叶斯

为了计算事件发生的概率,给定另一个事件已经发生,我们使用贝叶斯定理。为了计算给定某个变量值的结果的概率,也就是计算假设(h)为真的概率,给定了我们的先验知识(d),我们使用贝叶斯定理如下:

P(h|d)=(P(d|h)*P(h))/P(d)

其中

•P(h|d)=后验概率。给定数据d,假设h的概率为真,其中P(h|d)= P(d1|h)* P(d2|h)* .... * P(dn| h)* P)

•P(d|h)=似然。给定假设h为真的数据d的概率。

•P(h)=等级先验概率。假设h的概率为真(不考虑数据)

•P(d)=预测先验概率。数据的概率(不论假设如何)

这个算法被称为“朴素(naive)”,因为它假设所有的变量是相互独立的,这是在现实世界中做出的一个天真(naive)的假设。

图4:使用朴素贝叶斯预测使用变量“天气”的“游玩”状态。

以图4为例,如果weather ='sunny',结果如何?

考虑到变量weather ='sunny'的值,确定结果play ='yes'或'no',计算P(yes|sunny)和P(no|sunny),并以较高的概率选择结果。

- > P(yes|sunny)=(P(sunny|yes)* P(yes))/ P(sunny)

=(3/9 * 9/14)/(5/14)

= 0.60

- > P(no|sunny)=(P(sunny|no)* P(no))/ P(sunny)

=(2/5 * 5/14)/(5/14)

= 0.40

因此,如果天气=“阳光明媚”,结果是游玩=“是”。

5.KNN

k近邻算法使用整个数据集作为训练集,而不是将数据集分为训练集和测试集。

当新数据实例需要结果时,KNN算法遍历整个数据集,以找到新实例的k个最近实例,或与新记录最相似的k个实例,然后输出分类问题的结果(回归问题)或模式(最常见的类)。k的值是用户指定的。

实例之间的相似性使用诸如欧氏距离和汉明距离之类的度量来计算。

6.Apriori

Apriori算法在事务数据库中用于挖掘频繁项集,然后生成关联规则。它广泛用于购物篮分析,用于检查数据库中经常共存的产品的组合。一般来说,我们编写关联规则为:如果一个人购买物品X,那么他将物品Y,写作:X - > Y.

示例:如果一个人购买牛奶和糖,那么他很有可能购买咖啡粉。这可以以关联规则的形式写成:{milk,sugar} - >咖啡粉。关联规则是在支持度和置信度相交的阈值之后产生的。

图5:关联规则X> Y的支持度、置信度和lift公式。

支持方法有助于修剪在频繁项集生成期间需要考虑的候选项集的数量。这种支持措施以Apriori原则为指导。Apriori原则指出,如果一个项目集是频繁的,那么它的所有子集也必须是频繁的。

7.K-means

K-means是一个迭代算法,将类似的数据分组成簇。它计算k个簇的质心,并将一个数据点分配给具有最小距离的质心与数据点之间的数据点。

图6:K-means算法的步骤

步骤1:k-means初始化:

a)选择一个k值。在这里,我们取k = 3。

b)将每个数据点随机分配给3个集群中的任何一个。

c)计算每个集群的集群中心。红色、蓝色和绿色的星星表示3个簇中每一个的质心。

步骤2:将每个观察结果与集群相关联:

将每个点重新分配到最近的聚类质心。在这里,上面5个点被分配到具有蓝色质心的群集。 按照相同的步骤将点分配给包含红色和绿色颜色质心的聚类。

步骤3:重新计算质心:

计算新集群的质心。旧的质心由灰色星星显示,而新的质心是红色、绿色和蓝色的星星。

步骤4:迭代,如果不变,然后退出。

重复步骤2-3,直到没有从一个集群到另一个集群的点切换。一旦没有连续两个步骤的切换,退出k-means算法。

8.PCA

主成分分析(PCA)用于通过减少变量的数量使数据易于探索和可视化。这是通过将数据中的最大方差捕获到具有称为“主成分”的轴的新坐标系中完成的。每个分量是原始变量的线性组合,并且彼此正交。成分之间的正交性表明这些成分之间的相关性为零。

第一个主成分捕获数据中最大变化的方向。第二个主成分捕获数据中的剩余方差,但具有与第一个成分不相关的变量。类似地,所有连续的主成分(PC3、PC4等)捕获剩余方差,而与先前的成分不相关。

图7:3个原始变量(基因)减少到称为主成分(PC)的2个新变量。

集成学习技术

组合意味着通过投票或平均,结合多个学习器(分类器)的结果以改善结果。分类期间使用投票,回归期间使用平均。学习器的整体表现优于单一学习器。

有三种类型的集成算法:Bagging、Boosting和Stacking。我们不会陈述“Stacking”,但如果你想要详细解释,我可以单独为其写一篇博客。

9.随机森林Bagging

随机森林(多学习其)是对bagged决策树(单一学习器)的改进。

Bagging:Bagging的第一步是创建使用Bootstrap采样方法创建的数据集的多个模型。在Bootstrap采样中,每个生成的训练集由原始数据集的随机子样本组成。这些训练过程与原始数据集大小相同,但有些记录重复多次,有些记录根本不显示。然后,将整个原始数据集用作测试集。因此,如果原始数据集的大小为N,则每个生成的训练样本集的大小也为N,唯一记录的数量约为(2N / 3);测试集的大小也是N。

Bagging的第二步是通过在不同的生成的训练集上使用相同的算法,创建多个模型。在这种情况下,我们来讨论随机森林。与决策树不同,每个节点在最小化误差的最佳特征上分割,在随机森林中,我们选择随机选择的特征构建最佳分割。随机性的原因是:即使有bagging,当决策树选择最佳分割特征时,它们最终具有相似的结构和相关的预测。但是,在特征的随机子集上分割后的bagging,意味着来自子树的预测之间的相关性较小。

在每个分割点处要搜索的要素的数量被指定为随机森林算法的参数。

因此,在随机森林bagging时,使用随机记录样本构建每个树,并且使用随机的预测因子样本构建每个分割。

10. AdaBoost

a)bagging是一个并行集成学习,因为每个模型是独立构建的。另一方面,boosting是一个顺序集成学习,其中每个模型都是基于修正先前模型的错误分类而构建的。

b)bagging主要涉及“简单投票”,其中每个分类器投票获得最终结果——一个由大多数并行模型确定的结果;boosting涉及“加权投票”,其中每个分类者投票以获得由多数确定的最终结果,但是通过为先前模型的错误分类实例分配更大的权重以构建顺序模型。

Adaboost代表Adaptive Boosting。

图8:决策树的Adaboost。

在图8中,步骤1、2和3涉及一个称为决策树桩的弱学习器(一级决策树,其基于仅一个输入特征的值进行预测;决策树的根立即连接到其叶)。构建弱势学习器的过程一直持续到用户定义数量较弱的学习器已经建成,或直到训练没有进一步改善。步骤4组合了先前模型的3个决策树(因此在决策树中有3个分割规则)。

步骤1:从1个决策树开始,对1个输入变量做出决定:

数据点的大小表明,我们已经应用了相等的权重,将它们分类为圆形或三角形。决策树桩在上半部分产生了一条水平线,以对这些点进行分类。我们可以看到有两个圆圈被错误地预测为三角形。因此,我们将赋予这两个圈子更高的权重,并应用另一个决策树桩。

步骤2:移动到另一个决策树树桩以对另一个输入变量做出决定:

我们观察到,上一步中2个错误分类的圆的大小大于其余的点。现在,第二个决定树桩将尝试正确地预测这两个圆圈。

由于分配较高的权重,这两个圆已经被左侧的垂直线正确分类。但是这个现在已经导致了顶部的3个圆圈错误分类。因此,我们将在顶部的这3个圆圈中分配较高的权重,并应用另一个决策树桩。

步骤3:训练另一个决策树桩,作出另一个输入变量的决策。

上一步中的3个错误分类的圆圈比其余的数据点大。现在,已经生成了右侧的垂直线,以对圆和三角形进行分类。

步骤4:结合决策树:

我们结合了前面3个模型的分割器,并观察到,与任何单个弱势学习器相比,该模型的复杂规则正确地分类了数据点。

结论

总结一下,我们学到了:

5种监督学习技术——线性回归、Logistic回归、CART、朴素贝叶斯、KNN。

3种无监督学习技术——Apriori、K-means、PCA。

2种集成学习技术——随机森林bagging、Adaboost。


人工智能程序员入门算法学习大合集


人工智能这么火,算法是核心要义,应该从哪些开始学习入门呢?

有监督学习

机器学习的常用方法,主要分为有监督学习(supervised learning)和无监督学习(unsupervised learning)。监督学习,就是人们常说的分类,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的,也就具有了对未知数据进行分类的能力。在人对事物的认识中,我们从孩子开始就被大人们教授这是鸟啊、那是猪啊、那是房子啊,等等。我们所见到的景物就是输入数据,而大人们对这些景物的判断结果(是房子还是鸟啊)就是相应的输出。当我们见识多了以后,脑子里就慢慢地得到了一些泛化的模型,这就是训练得到的那个(或者那些)函数,从而不需要大人在旁边指点的时候,我们也能分辨的出来哪些是房子,哪些是鸟。

算法一:决策树

决策树是一种树形结构,为人们提供决策依据,决策树可以用来回答yes和no问题,它通过树形结构将各种情况组合都表示出来,每个分支表示一次选择(选择yes还是no),直到所有选择都进行完毕,最终给出正确答案。

算法二:朴素贝叶斯分类器

朴素贝叶斯分类器基于贝叶斯理论及其假设(即特征之间是独立的,是不相互影响的),P(A|B) 是后验概率, P(B|A) 是似然,P(A)为先验概率,P(B) 为我们要预测的值。   具体应用有:垃圾邮件检测、文章分类、情感分类、人脸识别等。

算法三:最小二乘法

如果你对统计学有所了解,那么你必定听说过线性回归。最小均方就是用来求线性回归的。如下图所示,平面内会有一系列点,然后我们求取一条线,使得这条线尽可能拟合这些点分布,这就是线性回归。这条线有多种找法,最小二乘法就是其中一种。最小二乘法其原理如下,找到一条线使得平面内的所有点到这条线的欧式距离和最小。这条线就是我们要求取得线。

线性指的是用一条线对数据进行拟合,距离代表的是数据误差,最小二乘法可以看做是误差最小化。

算法四:逻辑回归

逻辑回归模型是一个二分类模型,它选取不同的特征与权重来对样本进行概率分类,用一各log函数计算样本属于某一类的概率。即一个样本会有一定的概率属于一个类,会有一定的概率属于另一类,概率大的类即为样本所属类。具体应用有:信用评级、营销活动成功概率、产品销售预测、某天是否将会地震发生。

算法五:支持向量机(SVM)

支持向量机是一个二分类算法,它可以在N维空间找到一个(N-1)维的超平面,这个超平面可以将这些点分为两类。也就是说,平面内如果存在线性可分的两类点,SVM可以找到一条最优的直线将这些点分开。SVM应用范围很广。具体应用有:广告展示、性别检测、大规模图像识别等。

算法六:集成学习

集成学习就是将很多分类器集成在一起,每个分类器有不同的权重,将这些分类器的分类结果合并在一起,作为最终的分类结果。最初集成方法为贝叶斯决策,现在多采用error-correcting output coding, bagging, and boosting等方法进行集成。

无监督学习

无监督学习(也有人叫非监督学习,反正都差不多)则是另一种研究的比较多的学习方法,它与监督学习的不同之处,在于我们事先没有任何训练样本,而需要直接对数据进行建模。这听起来似乎有点不可思议,但是在我们自身认识世界的过程中很多处都用到了无监督学习。比如我们去参观一个画展,我们完全对艺术一无所知,但是欣赏完多幅作品之后,我们也能把它们分成不同的派别(比如哪些更朦胧一点,哪些更写实一些,即使我们不知道什么叫做朦胧派,什么叫做写实派,但是至少我们能把他们分为两个类)。无监督学习里典型的例子就是聚类了。聚类的目的在于把相似的东西聚在一起,而我们并不关心这一类是什么。

算法七:聚类算法

聚类算法就是将一堆数据进行处理,根据它们的相似性对数据进行聚类。聚类算法有很多种,具体如下:中心聚类、关联聚类、密度聚类、概率聚类、降维、神经网络/深度学习。

算法八:主成分分析(PCA)

主成分分析是利用正交变换将一些列可能相关数据转换为线性无关数据,从而找到主成分。PCA主要用于简单学习与可视化中数据压缩、简化。但是PCA有一定的局限性,它需要你拥有特定领域的相关知识。对噪音比较多的数据并不适用。

算法九:SVD矩阵分解

SVD矩阵是一个复杂的实复负数矩阵,给定一个m 行、n列的矩阵M,那么M矩阵可以分解为M = UΣV。U和V是酉矩阵,Σ为对角阵。PCA实际上就是一个简化版本的SVD分解。在计算机视觉领域,第一个脸部识别算法就是基于PCA与SVD的,用特征对脸部进行特征表示,然后降维、最后进行面部匹配。尽管现在面部识别方法复杂,但是基本原理还是类似的。

算法十:独立成分分析(ICA)

ICA是一门统计技术,用于发现存在于随机变量下的隐性因素。ICA为给观测数据定义了一个生成模型。在这个模型中,其认为数据变量是由隐性变量,经一个混合系统线性混合而成,这个混合系统未知。并且假设潜在因素属于非高斯分布、并且相互独立,称之为可观测数据的独立成分。ICA与PCA相关,但它在发现潜在因素方面效果良好。它可以应用在数字图像、档文数据库、经济指标、心里测量等。

那么,什么时候应该采用监督学习,什么时候应该采用非监督学习呢?一种非常简单的回答就是从定义入手,如果我们在分类的过程中有训练样本(training data),则可以考虑用监督学习的方法;如果没有训练样本,则不可能用监督学习的方法。但是事实上,我们在针对一个现实问题进行解答的过程中,即使我们没有现成的训练样本,我们也能够凭借自己的双眼,从待分类的数据中人工标注一些样本,并把他们作为训练样本,这样的话就可以把条件改善,用监督学习的方法来做。当然不得不说的是有时候数据表达的会非常隐蔽,也就是说我们手头的信息不是抽象的形式,而是具体的一大堆数字,这样我们很难凭借人本身对它们简单地进行分类。



不懂卷积神经网络?别怕,看完这几张萌图你就明白了

林鳞 编译自 authomaton.blogspot
量子位 出品 | 公众号 QbitAI

这篇文章用最简明易懂的方式解释了卷积神经网络(CNN)的基本原理,并绕开了里面的数学理论。

同时,如果想对从头开始构建CNN网络之类的问题感兴趣,作者推荐去读《 Artificial Intelligence for Humans Volume 3: Deep Learning and Neural Networks》中第10章节的内容。

不多说了,开始CNN之旅——

网络结构

CNN的模型通常建立在前馈神经网络模型之上,它的结构你也应该不陌生。不同是的,“隐藏层”将被以下这些层取代:

卷积层(Convolutional Layers)

池化层(Pooling Layers)

全连接层(稠密层,Dense Layers)

结构类似下图:

卷积

在此阶段,输入图像被一个grid扫描,并作为输入传递到网络。之后,这个网络将一层卷积层应用于输入的图像,将它分割成包含3张图像的三维立方体结构。这3三张图像个框架分别呈现原图的红色、绿色和蓝色信息。

随后,它将卷积滤波器(也称神经元)应用到图像中,和用PhotoShop中的滤镜突出某些特征相似。例如在动画片《Doc And Mharti》中,用罗伯茨交叉边缘增强滤波器处理过的效果如下图所示:

 原图

 处理后

可以想象,拥有100多个不同滤波器的神经网络筛选复杂特征的能力有多强大,这将大大助力它识别现实世界中事物。一旦神经网络已经将卷积滤波器应用到图像中,我们就能得到特征/激活图。

特征图谱会被指定区域内的特定神经元激活,比如我们将边缘检测滤波器添加到下面左图中,则它的激活图如右图所示:

 这些点代表0的行(表明这些区域可能是边缘)。在二维数组中,“30”的值表明图像区域存在边缘的可能性很高

激活层

当我们有了激活图,就能在其中让激活函数大显身手了,我们用研究人员的首选函数——ReLU激活函数(修正线性单元)举个例子。然而,一些研究人员仍然认为用Sigmoid函数或双曲切线能得到提供最佳的训练结果,但我不这么认为。

使用激活层是在系统中引入非线性,这样可以提高输入和输出的一般性。ReLU(x)函数只返回max(0、x)或简单地返回激活图中的负权值。

池化层

之后的最佳做法通常是在特征图中应用最大池化(或任何其他类型的池)。应用最大池化层的原理是扫描小型grid中的图像,用一个包含给定grid中最高值的单个单元替换每个grid:

这样做的重要原因之一是,一旦我们知道给定特征在一个给定的输入区域,我们可以忽略特征的确切位置将数据普遍化,减少过拟合。举个例子,即使训练精度达到99%,但拿到没见过的新数据上测试时,它的精确度也只有50%。

输出层

最大池化层后我们讲讲剩下的另一个激活图,这是传递给全连接网络的一部分信息。它包含一个全连接层,将上一层中每个神经元的输出简单映射到全连接层的一个神经元上,并将softmax函数应用到输出中,就是和我们之前提到的ReLU函数类似的激活函数。

因为我们将用神经网络将图片分类,因此这里使用了softmax函数。softmax输出返回列表的概率求和为1,每个概率代表给定图像属于特定输出类的概率。但后来涉及到图像预测和修复任务时,线性激活函数的效果就比较好了。

值得注意的是,讲到这里我们只考虑了单卷积层和单池层的简单情况,如果要实现最佳精度通常需要它们多层堆叠。经过每个完整的迭代后,通过网络反向根据计算损失更新权重。

原文地址:https://authomaton.blogspot.co.uk/2017/10/machine-learning-but-funner-02.html



40岁开始学习,4周编写第一个AI算法的经验谈


来源:qz.com 作者:Tony Chen  编译: 马文


我不是程序员,也不是数学家。大学时上过一门必修的计算机科学课程,而我只是勉强通过——那已经是20多年前的事情。然而,现在,在我40多岁的时候,我坐在门廊上与我的新朋友 Python 和 Numpy 作战,自愿地尝试建立我的第一个神经网络。事情是怎么变成这样的?


有一天我突发奇想:我意识到AI可能是最搅乱我的孩子们的生活的一种发展。在运营一家数据分析公司7年之后,我很想深入了解AI。因此,我决定参加一门深度学习和神经网络课程,该门课的老师是前百度首席科学家、斯坦福大学教授 Andrew Ng。


在为期四周的课程中,我花了30个小时来设计、构建和调整一个非常简单的神经网络。我很快了解到,Python 和 Numpy 并不是一本关于蛇和他的兔子小伙伴的书,而是一种广泛使用的编程语言和一个提高效率的计算插件。事实证明,为了构建一个基本的神经网络,这两个角色是我唯一需要知道的。


这门课是完美的:我需要努力,但不至于毫无头绪,我每次只学习一行代码。早期的工作很艰难,经常遇到一些令人抓耳挠腮的代码失败。但到了第二周,我写了一段简短的代码,告诉算法在200张猫的图片(训练数据集)上训练自己,以找出其他30张图片(测试数据集)中是否有猫。只有200张图片,我的第一个简单的算法大概能在80%的时间得到正确的答案。


当我意识到我刚刚编写了一个机器来识别一个生物实体时,那感觉是梦幻一般的。当完整的代码没有任何错误的时候,我握拳大喊:“OH YEAH!”,令孩子们吃了一惊。坦率地说,我对自己的反应感到惊讶。我可能只是正确地识别出了一只四条腿的猫,但现在,它给我的感觉远远不止于此:


  1. 这感觉就像我第一次开枪时。大约15年前,我第一次拿手枪射击。立即地,我意识到我正手握着一个非常强大的工具,它可以用于善,也可以用于恶。是的,我可能会伤害自己,但我也可以学会控制这种武器。编写我的第一个算法也是一样。我突然意识到,一个在蒙古拥有互联网连接、拥有一些数据以及花几百美元租用亚马逊服务器的处理能力的家伙,可能会在俄罗斯建一个改变人们生活的神经网络,或一个不那么善良的家伙,可能会让身份窃取的垃圾邮件更有效。我已经能利用一行代码的力量,但这些潜力可以用来做什么完全取决于我自己。


  2. 感觉就像调谐收音机。老式的收音机上,你需要转动一个旋钮来找到想要的电台频率。想象一下,如果你有1000个旋钮,你必须同时调谐才能找到本地新闻台。这需要花多长时间?与其花几天时间摆弄所有可能的排列组合,编写一个算法就像创造出一千人的手来转动这些拨盘,直到找到合适的组合。


  3. 感觉就像学习一门外语。最近我一直在学习斯瓦希里语和汉语。我很想加入至少会说三种语言的占世界人口13%的那些人中。AI就像另一种语言,它拥有自己的词汇、语法和句法。如果我遇到不懂的问题,就像你在遇到不认识的外语词汇那样:我会用谷歌搜索它。有好几次,我都用了搜索翻译的力量解决了。随着时间的推移,我希望能变得更流利。我现在的目标是“四语”,AI是其中一种语言。


  4. 感觉就像在指导孩子们打球。AI算法的关键在于提供一个计算机构建模块,教它如何一起玩,然后将这些简单的结果组合成更复杂的迭代。这类似于指导我11岁的孩子打篮球:一旦你教会他们传球、拦截、运球和投篮的基本知识,球场上真正的创造力就将由他们开启。


学会深度学习这一门语言,你就可以和未来对话。学会说这门语言并不像你想象的那么难。我就是一个典型的例子:你不需要先成为一个编程专家或数学奇才再来学习编程。你只需要愿意学习,并且能够很好地使用 Python 和 Numpy。



原文:https://qz.com/1105537/i-just-coded-my-first-ai-algorithm-and-oh-boy-it-felt-good/




大数据最核心的关键技术:32个算法 


奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。


1、A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出路径。其中使用了一种启发式的估算,为每个节点估算通过该节点的最佳路径,并以之为各个地点排定次序。算法以得到的次序访问这些节点。因此,A*搜索算法是最佳优先搜索的范例。


2、集束搜索(又名定向搜索,Beam Search)——最佳优先搜索算法的优化。使用启发式函数评估它检查的每个节点的能力。不过,集束搜索只能在每个深度中发现最前面的m个最符合条件的节点,m是固定数字——集束的宽度。


3、二分查找(Binary Search)——在线性数组中找特定值的算法,每个步骤去掉一半不符合要求的数据。


4、分支界定算法(Branch and Bound)——在多种最优化问题中寻找特定最优化解决方案的算法,特别是针对离散、组合的最优化。


5、Buchberger算法——一种数学算法,可将其视为针对单变量最大公约数求解的欧几里得算法和线性系统中高斯消元法的泛化。


6、数据压缩——采取特定编码方案,使用更少的字节数(或是其他信息承载单元)对信息编码的过程,又叫来源编码。


7、Diffie-Hellman密钥交换算法——一种加密协议,允许双方在事先不了解对方的情况下,在不安全的通信信道中,共同建立共享密钥。该密钥以后可与一个对称密码一起,加密后续通讯。


8、Dijkstra算法——针对没有负值权重边的有向图,计算其中的单一起点最短算法。


9、离散微分算法(Discrete differentiation)。


10、动态规划算法(Dynamic Programming)——展示互相覆盖的子问题和最优子架构算法


11、欧几里得算法(Euclidean algorithm)——计算两个整数的最大公约数。最古老的算法之一,出现在公元前300前欧几里得的《几何原本》。


12、期望-最大算法(Expectation-maximization algorithm,又名EM-Training)——在统计计算中,期望-最大算法在概率模型中寻找可能性最大的参数估算值,其中模型依赖于未发现的潜在变量。EM在两个步骤中交替计算,第一步是计算期望,利用对隐藏变量的现有估计值,计算其最大可能估计值;第二步是最大化,最大化在第一步上求得的最大可能值来计算参数的值。


13、快速傅里叶变换(Fast Fourier transform,FFT)——计算离散的傅里叶变换(DFT)及其反转。该算法应用范围很广,从数字信号处理到解决偏微分方程,到快速计算大整数乘积。


14、梯度下降(Gradient descent)——一种数学上的最优化算法。


15、哈希算法(Hashing)。


16、堆排序(Heaps)。


17、Karatsuba乘法——需要完成上千位整数的乘法的系统中使用,比如计算机代数系统和大数程序库,如果使用长乘法,速度太慢。该算法发现于1962年。


18、LLL算法(Lenstra-Lenstra-Lovasz  lattice reduction)——以格规约(lattice)基数为输入,输出短正交向量基数。LLL算法在以下公共密钥加密方法中有大量使用:背包加密系统(knapsack)、有特定设置的RSA加密等等。


19、最大流量算法(Maximum flow)——该算法试图从一个流量网络中找到最大的流。它优势被定义为找到这样一个流的值。最大流问题可以看作更复杂的网络流问题的特定情况。最大流与网络中的界面有关,这就是最大流-最小截定理(Max-flow min-cut theorem)。Ford-Fulkerson 能找到一个流网络中的最大流。


20、合并排序(Merge Sort)。


21、牛顿法(Newton's method)——求非线性方程(组)零点的一种重要的迭代法。


22、Q-learning学习算法——这是一种通过学习动作值函数(action-value function)完成的强化学习算法,函数采取在给定状态的给定动作,并计算出期望的效用价值,在此后遵循固定的策略。Q-leanring的优势是,在不需要环境模型的情况下,可以对比可采纳行动的期望效用。


23、两次筛法(Quadratic Sieve)——现代整数因子分解算法,在实践中,是目前已知第二快的此类算法(仅次于数域筛法Number Field Sieve)。对于110位以下的十位整数,它仍是最快的,而且都认为它比数域筛法更简单。


24、RANSAC——是“RANdom SAmple Consensus”的缩写。该算法根据一系列观察得到的数据,数据中包含异常值,估算一个数学模型的参数值。其基本假设是:数据包含非异化值,也就是能够通过某些模型参数解释的值,异化值就是那些不符合模型的数据点。


25、RSA——公钥加密算法。首个适用于以签名作为加密的算法。RSA在电商行业中仍大规模使用,大家也相信它有足够安全长度的公钥。


26、Schönhage-Strassen算法——在数学中,Schönhage-Strassen算法是用来完成大整数的乘法的快速渐近算法。其算法复杂度为:O(N log(N) log(log(N))),该算法使用了傅里叶变换。


27、单纯型算法(Simplex Algorithm)——在数学的优化理论中,单纯型算法是常用的技术,用来找到线性规划问题的数值解。线性规划问题包括在一组实变量上的一系列线性不等式组,以及一个等待最大化(或最小化)的固定线性函数。


28、奇异值分解(Singular value decomposition,简称SVD)——在线性代数中,SVD是重要的实数或复数矩阵的分解方法,在信号处理和统计中有多种应用,比如计算矩阵的伪逆矩阵(以求解最小二乘法问题)、解决超定线性系统(overdetermined linear systems)、矩阵逼近、数值天气预报等等。


29、求解线性方程组(Solving a system of linear equations)——线性方程组是数学中最古老的问题,它们有很多应用,比如在数字信号处理、线性规划中的估算和预测、数值分析中的非线性问题逼近等等。求解线性方程组,可以使用高斯—约当消去法(Gauss-Jordan elimination),或是柯列斯基分解( Cholesky decomposition)。


30、Strukturtensor算法——应用于模式识别领域,为所有像素找出一种计算方法,看看该像素是否处于同质区域( homogenous region),看看它是否属于边缘,还是是一个顶点。


31、合并查找算法(Union-find)——给定一组元素,该算法常常用来把这些元素分为多个分离的、彼此不重合的组。不相交集(disjoint-set)的数据结构可以跟踪这样的切分方法。合并查找算法可以在此种数据结构上完成两个有用的操作:

  •   查找:判断某特定元素属于哪个组。

  •   合并:联合或合并两个组为一个组。


32、维特比算法(Viterbi algorithm)——寻找隐藏状态最有可能序列的动态规划算法,这种序列被称为维特比路径,其结果是一系列可以观察到的事件,特别是在隐藏的Markov模型中。


以上就是Christoph博士对于最重要的算法的调查结果。你们熟悉哪些算法?又有哪些算法是你们经常使用的?




想知道人工智能还能干什么?必须有个清醒的“贝叶斯意识”

来源:风辞远      脑极体          

有很多读者在跟我们交流时,都会提到非常惊讶于人工智能居然可以做这么多令人意想不到的事。从下围棋到自动驾驶,从辨识古文字到宇宙测绘,似乎有点无所不能的意思。也有读者希望我们做个专题,专门列一个“你想不到AI居然可以做这些”的清单。


非常非常不好意思,我可以非常负责任的说,这清单太容易了,但问题是根本列不完。即使不考虑技术的可能性,仅仅是每天统计新的论文和研究报告里又让AI能做什么了,那都是个近乎无法完成的工作。


但这并不是说AI已经无所不能。事实上,AI在绝大多数基础工作中并没有传统计算机效率高,完全谈不上取而代之。AI总能在意想不到的领域冒出来,是因为它采取了完全不同的底层策略,专注于解决那些经典计算和人工无法解决的问题。


所谓鱼不如渔,与其大家一起感叹“AI居然能做这个!”不如来思考“如何知道AI还能做哪些”。想要获得这个能力,就需要知道今天主流AI解决方案的依据是什么。这就不得不提一个对AI发展至关重要的名字:贝叶斯。


想要寻找上帝,却找到了人工智能


假如没有贝叶斯他老人家,实在很难想象今天的人工智能会怎样。也不仅是人工智能,可能统计学、应用数学、测绘学、医学,甚至犯罪学都会受到巨大的影响。


但对学术如此重要的一个人,却根本不是一位科学家。生活在300年前的托马斯·贝叶斯,是英国的一名牧师。当然,同时还是一位业余数学家。


可能是出于把爱好和工作融合到一起的考虑吧。贝叶斯提出了将归纳法应用于概率统计的方法,希望能以此向世人证明上帝是存在的。但很不幸,三百年之后上帝存在的依据依然未找到,但贝叶斯决策却在无数科学领域开花结果。



所谓贝叶斯归纳,其实基础原理非常简单。比如说一个人做了一件好事,那他是不是个好人呢?显然不一定。但是假如一个人每天都做好事,那他是不是一个好人呢?其实也不一定,也可能他在背后十恶不赦丧尽天良,但假如没有他做坏事的证据,每天做好事就是好人显然已经概率非常大了。这就是贝叶斯归纳的核心逻辑:不必获取所有证据之后再进行判断,而是结合已知条件先进行判断,再通过数据不断去验证、调整、修改这个判断,让它无尽趋于合理化。


这个逻辑听起来蛮简单的,并且好像还有点不靠谱,在贝叶斯生前他的想法甚至没有发表出来。即使其死后的两百多年里,贝叶斯归纳也没有得到多少重视。因为从数据严谨性出发的经典统计学显然可以更好的接触事物本质,而不是像贝叶斯归纳一样用“猜”来开启计算。


直到上世纪七八十年代之后,沉寂百多年的贝叶斯理论开始重新在统计学中被重视。


因为经典统计学虽然可靠,但是却需要依靠完整的数据模型,往往效率太低,无法满足实际需求。比如说在搜寻海面遇难船只时,经典统计学需要每个海域的气象数据、监控数据、过往船只数据,然后综合计算这些因素来精准定位。但事实上,这些数据是不可能马上齐全的,即使可以,分秒必争的搜救工作也不能等。而用贝叶斯理论来解决这个问题,会先让有经验的专家主观判断船只失事海域,然后通过不断获得的数据一点点修正专家的判断,争取在最短时间内解决问题——这就是著名的1968年美国天蝎号潜艇失事事件,也是贝叶斯理论进入应用化的标志。


贝叶斯理论在工作中强调从人类先验知识出发,对目标进行模糊判断,然后不断学习进行判断校对,这成为了后来大量人工智能技术的诞生起点。


300年前,本来希望用来证明上帝存在的理论,在300年后却成为了人工智能的基础,这是一个悲伤的故事呢?


还是说贝叶斯牧师其实已经找到了正确答案?


贝叶斯意识:一切学习型AI的基础


与0和1组成的经典计算不同,贝叶斯计算不需要建立在完整的数据基础上就能获得答案。这种不完全数据推理能力,与人类思维中的认知与判断过程非常相似。于是产生了数量众多的贝叶斯理论与AI结合,运用于不完全信息推导的技术模型。


比如说贝叶斯网络、贝叶斯分类器、贝叶斯逻辑,都是如今非常基础的AI工具。贝叶斯网络更是可以看做机器学习理论自证有效的基础条件。而贝叶斯方法也被广泛运用在NLP、机器视觉、知识图谱等领域,成为优化结果型算法与技术的支撑。



在我们的生活中,贝叶斯可谓无处不在。比如说有没有感觉你的手机拍视频或者直播正在越来越清晰?这其中很大一个原因在于摄像算法中运用了贝叶斯逻辑加持下的视频优化算法,通过对抗生成来获得更清晰自然的拍摄效果,也就是所谓的视频美颜。


从另一个角度也可以论证贝叶斯对人工智能的重要性。上世纪70年代,曾经有过一次比较短暂的AI复兴。当时知识表示和专家系统成为了人工智能的主角,人们希望用超级计算机来归纳人类的所有知识,进行网络化。最终所有问题都可以在其中找到答案。


这种模式在当时赢得了大量资金与关注,却在短短几年间宣告破产。因为人类知识和数据太复杂了,收集所有知识只具有理论上的可能性,现实操作遥遥无期。


而今天以机器学习为主要特征的AI二次复兴,很大程度收益于贝叶斯意识带来的思维转变:人类不用收集一大堆知识,只需要从一部分已有知识出发,让机器不断去学习和验证自身能力,不断提高就可以了。毕竟人类需要的不是全能全知的存在,只要智能体可以比人类更强就够了。


可以说,贝叶斯意识依靠着对现实变化的高度敏感,已经成为今天一切学习型AI的基础。了解了贝叶斯意识中从不完整出发,逐步向完整迈进的逻辑,也就懂了未来AI还能做出什么。


人类大脑和技术未来的殊途同归


有学者认为,贝叶斯意识可能是最接近人类大脑思维模式的应用数学逻辑。就像让一个孩子去认识狗,不必教他狗的种类、科属、习性,也用把狗的耳朵、鼻子、四肢都变成数据让他理解。孩子会马上知道这是狗,然后在自己不断的学习里去加强对狗的认识,知道狗有不同种类,知道狼与狗的区别等等。


所以我们过去在思考很多问题时,会主动的让大脑像计算机一样去想象。在移动互联网时代,我们又习惯了以手机为中心去思考一切。但在人工智能时代,贝叶斯意识告诉我们:也许人类该像人类自己一样去思考了。


在某些技术奇点之后,机器已经可以在局部区域像人类一样通过局部知识去认知、推理和判断复杂问题。最好的例子可能就是AlphaGo ZERO的出现。其实AlphaGo的逻辑就是一种贝叶斯思维,要知道对围棋来说经典计算是无法穷尽所有变化的,暴力穷举只能带来死机。


而AlphaGo采取的,是让智能体去学习围棋规则,然后大量学习人类棋谱,这就是贝叶斯归纳中不断吸收数据校准目标。在实战的时候,智能体内部算法还会自我验证每一步预测的合理性,最终求得最优解。



而在一定的积累后,AlphaGo这个贝叶斯体系就可以不再依赖人类提供的数据,而是通过对优质数据进行自我学习,从而在短时间内产生了秒杀上一代的能力。这可以看做贝叶斯体系拜托了对初级数据的依赖,进入了进一步自我校准的过程。


有理由相信,此后这类现象会陆续出现更多。因为人脑的学习能力有若干限制,但贝叶斯智能体却没有。


通过模糊知识,进行不断学习,最终通往广义未知。很可能是人脑与技术未来的共同方向。至少目前来看,这种技术逻辑在前瞻性科学中的应用已经越来越多。比如量子贝叶斯、贝叶斯基因算法等等。


而另一方面,想知道人工智能还能在哪些领域做出惊人之举。不妨也像贝叶斯一样去思考:首先这个领域是否存在效率、可靠性、成本比率、盲目性等问题,如果有的话是否必要引入AI。其次看一下这个领域是不是存在先验知识,作为智能体的基础。再次看一下这个领域能否源源不断产生提供给机器学习的数据和知识。


如果这几个条件都确立,那么AI已经不远了。


经过PC到手机的漫长教化,我们可能已经习惯了数字化的世界运行。但人工智能却可能打破人与计算机的经典搭配,利用人的感知与学习能力和计算机的运算能力来打开另一条路。也许已经是时候改变一下互联网思维,让大脑去和人工智能产生多一点点默契了。




人工智能赛博物理操作系统

AI-CPS OS

“人工智能赛博物理操作系统”新一代技术+商业操作系统“AI-CPS OS:云计算+大数据+物联网+区块链+人工智能)分支用来的今天,企业领导者必须了解如何将“技术”全面渗入整个公司、产品等“商业”场景中,利用AI-CPS OS形成数字化+智能化力量,实现行业的重新布局、企业的重新构建和自我的焕然新生。


AI-CPS OS的真正价值并不来自构成技术或功能,而是要以一种传递独特竞争优势的方式将自动化+信息化、智造+产品+服务数据+分析一体化,这种整合方式能够释放新的业务和运营模式。如果不能实现跨功能的更大规模融合,没有颠覆现状的意愿,这些将不可能实现。


领导者无法依靠某种单一战略方法来应对多维度的数字化变革。面对新一代技术+商业操作系统AI-CPS OS颠覆性的数字化+智能化力量,领导者必须在行业、企业与个人这三个层面都保持领先地位:

  1. 重新行业布局:你的世界观要怎样改变才算足够?你必须对行业典范进行怎样的反思?

  2. 重新构建企业:你的企业需要做出什么样的变化?你准备如何重新定义你的公司?

  3. 重新打造自己:你需要成为怎样的人?要重塑自己并在数字化+智能化时代保有领先地位,你必须如何去做?

AI-CPS OS是数字化智能化创新平台,设计思路是将大数据、物联网、区块链和人工智能等无缝整合在云端,可以帮助企业将创新成果融入自身业务体系,实现各个前沿技术在云端的优势协同。AI-CPS OS形成的数字化+智能化力量与行业、企业及个人三个层面的交叉,形成了领导力模式,使数字化融入到领导者所在企业与领导方式的核心位置:

  1. 精细:种力量能够使人在更加真实、细致的层面观察与感知现实世界和数字化世界正在发生的一切,进而理解和更加精细地进行产品个性化控制、微观业务场景事件和结果控制。

  2. 智能:模型随着时间(数据)的变化而变化,整个系统就具备了智能(自学习)的能力。

  3. 高效:企业需要建立实时或者准实时的数据采集传输、模型预测和响应决策能力,这样智能就从批量性、阶段性的行为变成一个可以实时触达的行为。

  4. 不确定性:数字化变更颠覆和改变了领导者曾经仰仗的思维方式、结构和实践经验,其结果就是形成了复合不确定性这种颠覆性力量。主要的不确定性蕴含于三个领域:技术、文化、制度。

  5. 边界模糊:数字世界与现实世界的不断融合成CPS不仅让人们所知行业的核心产品、经济学定理和可能性都产生了变化,还模糊了不同行业间的界限。这种效应正在向生态系统、企业、客户、产品快速蔓延。

AI-CPS OS形成的数字化+智能化力量通过三个方式激发经济增长:

  1. 创造虚拟劳动力,承担需要适应性和敏捷性的复杂任务,即“智能自动化”,以区别于传统的自动化解决方案;

  2. 对现有劳动力和实物资产进行有利的补充和提升,提高资本效率

  3. 人工智能的普及,将推动多行业的相关创新,开辟崭新的经济增长空间


给决策制定者和商业领袖的建议:

  1. 超越自动化,开启新创新模式:利用具有自主学习和自我控制能力的动态机器智能,为企业创造新商机;

  2. 迎接新一代信息技术,迎接人工智能:无缝整合人类智慧与机器智能,重新

    评估未来的知识和技能类型;

  3. 制定道德规范:切实为人工智能生态系统制定道德准则,并在智能机器的开

    发过程中确定更加明晰的标准和最佳实践;

  4. 重视再分配效应:对人工智能可能带来的冲击做好准备,制定战略帮助面临

    较高失业风险的人群;

  5. 开发数字化+智能化企业所需新能力:员工团队需要积极掌握判断、沟通及想象力和创造力等人类所特有的重要能力。对于中国企业来说,创造兼具包容性和多样性的文化也非常重要。


子曰:“君子和而不同,小人同而不和。”  《论语·子路》云计算、大数据、物联网、区块链和 人工智能,像君子一般融合,一起体现科技就是生产力。


如果说上一次哥伦布地理大发现,拓展的是人类的物理空间。那么这一次地理大发现,拓展的就是人们的数字空间。在数学空间,建立新的商业文明,从而发现新的创富模式,为人类社会带来新的财富空间。云计算,大数据、物联网和区块链,是进入这个数字空间的船,而人工智能就是那船上的帆,哥伦布之帆!


新一代技术+商业的人工智能赛博物理操作系统AI-CPS OS作为新一轮产业变革的核心驱动力,将进一步释放历次科技革命和产业变革积蓄的巨大能量,并创造新的强大引擎。重构生产、分配、交换、消费等经济活动各环节,形成从宏观到微观各领域的智能化新需求,催生新技术、新产品、新产业、新业态、新模式。引发经济结构重大变革,深刻改变人类生产生活方式和思维模式,实现社会生产力的整体跃升。





产业智能官  AI-CPS



用“人工智能赛博物理操作系统新一代技术+商业操作系统“AI-CPS OS:云计算+大数据+物联网+区块链+人工智能)在场景中构建状态感知-实时分析-自主决策-精准执行-学习提升的认知计算和机器智能;实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链






长按上方二维码关注微信公众号: AI-CPS,更多信息回复:


新技术“云计算”、“大数据”、“物联网”、“区块链”、“人工智能”;新产业:“智能制造”、“智能农业”、“智能金融”、“智能零售”、“智能城市”、“智能驾驶”;新模式:“财富空间”、“特色小镇”、“赛博物理”、“供应链金融”


点击“阅读原文”,访问AI-CPS OS官网




本文系“产业智能官”(公众号ID:AI-CPS)收集整理,转载请注明出处!



版权声明产业智能官(公众号ID:AI-CPS推荐的文章,除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,与您共同协商解决。联系、投稿邮箱:erp_vip@hotmail.com





登录查看更多
3

相关内容

对数几率回归(Logistic Regression),简称为对率回归,也称逻辑斯蒂回归,或者逻辑回归。虽然它被很多人称为逻辑回归,但是中文的“逻辑”一词与“logistic”和“logit”意思相去甚远。它是广义的线性模型,只是将线性回归方程中的y换成了ln[p/(1-p),p是p(y=1|x),p/(1-p)是“几率”。对数几率回归是用来做分类任务的,所以,需要找一个单调可微函数,将分类任务的真实标记和线性回归模型的预测值联系起来。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
255+阅读 · 2020年6月10日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
211+阅读 · 2020年2月21日
【新书】Pro 机器学习算法Python实现,379页pdf
专知会员服务
195+阅读 · 2020年2月11日
【机器学习课程】Google机器学习速成课程
专知会员服务
162+阅读 · 2019年12月2日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
【干货】Python无监督学习的4大聚类算法
新智元
14+阅读 · 2018年5月26日
学会这10种机器学习算法,你才算入门(附教程)
七月在线实验室
4+阅读 · 2018年4月13日
Machine Learning:十大机器学习算法
开源中国
19+阅读 · 2018年3月1日
最适合机器学习新手的10种算法
论智
9+阅读 · 2018年1月23日
免费|机器学习算法Python实现
全球人工智能
5+阅读 · 2018年1月2日
机器学习初学者必须知道的十大算法
AI研习社
7+阅读 · 2017年12月1日
资源 |​ 史上最全机器学习笔记
AI100
9+阅读 · 2017年11月21日
从概念到案例:初学者须知的十大机器学习算法
算法与数学之美
7+阅读 · 2017年11月16日
机器学习算法在自动驾驶领域的应用大盘点!
AI科技评论
3+阅读 · 2017年7月3日
Arxiv
43+阅读 · 2019年12月20日
Arxiv
4+阅读 · 2019年12月2日
A Comprehensive Survey on Transfer Learning
Arxiv
117+阅读 · 2019年11月7日
Few-shot Learning: A Survey
Arxiv
362+阅读 · 2019年4月10日
VIP会员
相关VIP内容
相关资讯
【干货】Python无监督学习的4大聚类算法
新智元
14+阅读 · 2018年5月26日
学会这10种机器学习算法,你才算入门(附教程)
七月在线实验室
4+阅读 · 2018年4月13日
Machine Learning:十大机器学习算法
开源中国
19+阅读 · 2018年3月1日
最适合机器学习新手的10种算法
论智
9+阅读 · 2018年1月23日
免费|机器学习算法Python实现
全球人工智能
5+阅读 · 2018年1月2日
机器学习初学者必须知道的十大算法
AI研习社
7+阅读 · 2017年12月1日
资源 |​ 史上最全机器学习笔记
AI100
9+阅读 · 2017年11月21日
从概念到案例:初学者须知的十大机器学习算法
算法与数学之美
7+阅读 · 2017年11月16日
机器学习算法在自动驾驶领域的应用大盘点!
AI科技评论
3+阅读 · 2017年7月3日
相关论文
Top
微信扫码咨询专知VIP会员