哈佛商业评论称数据科学家是21世纪最性感的工作。所以,对于那些ML刚刚开始的人来说,这篇博客机器学习算法工程师需要知道的十大算法是非常有用的。
ML算法是可以从数据中学习并从中改进的算法,无需人工干预。学习任务可能包括将输入映射到输出,在未标记的数据中学习隐藏的结构,或者“基于实例的学习”,其中通过将新实例与来自
存储在存储器中的训练数据的实例进行比较来为新实例生成类标签。
1.ML算法的类型
有三种ML算法:
1.监督学习:
监督学习可以理解为:使用标记的训练数据来学习从输入变量(X)到输出变量(Y)的映射函数。
Y = f(X)
监督学习问题可以有两种类型:
分类:预测输出变量处于类别形式的给定样本的结果。例如男性和女性,病态和健康等标签。
回归:预测给定样本的输出变量的实值结果。例子包括表示降雨量和人的身高的实值标签。
在这篇博客中介绍的前5个算法——线性回归,Logistic回归,CART,朴素贝叶斯,KNN都是监督学习。
人工智能领域的大牛吴恩达曾在他的公开课中提到,目前机器学习带来的经济价值全部来自监督学习。
2.无监督学习:
无监督学习问题只有输入变量(X),但没有相应的输出变量。它使用无标签的训练数据来模拟数据的基本结构。
无监督学习问题可以有两种类型:
1.关联:发现数据集合中的相关数据共现的概率。它广泛用于市场篮子分析。例如:如果顾客购买面包,他有80%的可能购买鸡蛋。
2.群集:对样本进行分组,使得同一个群集内的对象彼此之间的关系比另一个群集中的对象更为相似。
3.维度降低:维度降低意味着减少数据集的变量数量,同时确保重要的信息仍然传达。可以使用特征提取方法和特征选择方法来完成维度降低。特征选择选择原始变量的一个子集。特征提取执行从高维空间到低维空间的数据转换。例如:PCA算法是一种特征提取方法。
Apriori,K-means,PCA是无监督学习的例子。
3.强化学习:
强化学习是一种机器学习算法,它允许代理根据当前状态决定最佳的下一个动作。
强化算法通常通过反复试验来学习最佳行为。它们通常用于
机器人的训练,机器人可以通过在碰到障碍物后接收负面反馈来学习避免碰撞。近期的alphago zero就是采用的强化学习的方法,来完成实验的。
监督学习算法
1.线性回归
在ML中,我们有一组输入变量(x)用于确定输出变量(y)。输入变量和输出变量之间存在某种关系,ML的目标是量化这种关系。
图一
在线性回归中,输入变量(x)和输出变量(y)之间的关系表示为形式为y = ax + b的方程。因此,线性回归的目标是找出系数a和b的值。这里,a是截距,b是线的斜率。
图1显示了数据集的绘制x和y值。目标是拟合最接近大部分点的线。
2. Logistic回归
逻辑回归最适合二进制分类(y = 0或1的数据集,其中1表示默认类)例如:在预测事件是否发生时,发生的事件被分类为1。在预测人会生病或不生病,生病的实例记为1)。它是以其中使用的变换函数命名的,称为逻辑函数h(x)= 1 /(1 + e ^ x),它是一个S形曲线。
在逻辑回归中,输出是以缺省类别的概率形式出现的。因为这是一个概率,所以输出在0——1的范围内。输出(y值)通过对数转换x值,使用对数函数h(x)= 1 /(1 + e ^ -x)来生成。然后应用一个阈值来强制这个概率进入二元分类。
图二
在图2中,为了确定肿瘤是否是恶性的,默认变量是y = 1(肿瘤=恶性);x变量可以是肿瘤的量度,例如肿瘤的大小。如图所示,逻辑函数将数据集的各种实例的x值转换成0到1的范围。如果概率超过阈值0.5(由水平线示出),则将肿瘤分类如恶性。
逻辑回归的目标是使用训练数据来找到系数b0和b1的值,以使预测结果与实际结果之间的误差最小化。这些系数是使用最大似然估计技术估计的。
3. CART
分类和回归树(CART)是决策树的一个实现方式。
非
终端节点是根节点和内部节点,终端节点是叶节点。每个非终端节点表示单个输入变量(x), 叶节点表示输出变量(y)。该模型用于做出如下预测:遍历树的分裂到达一个叶节点,并输出叶节点上存在的值。
图3中的决策树根据年龄和婚姻状况分类是否购买跑车或小型货车。如果这个人30多年没有结婚,我们可以如下预测:“30多年? – >是 – >’已婚? – >不。因此,该模型输出一个跑车。
图三
4.朴素贝叶斯
为了计算事件发生的概率,假设已经发生了另一个事件,我们使用贝叶斯定理。为了计算给定某个变量值的结果的概率,也就是说,根据我们的先验知识(d)计算假设(h)为真的概率,我们使用贝叶斯定理如下:
P(h | d)=(P(d | h)* P(h))/ P(d)
· P(h | d)=后验概率。
· P(d | h)=可能性。数据d的概率假设h是真的。
· P(h)=类别先验概率。假设h的可能性为真(不考虑数据)。
· P(d)=预测值先验概率。数据的可能性(与假设无关)。
图四
以图4为例,如果天气=“阳光”,结果如何?
为了确定结果play =’yes’或’no’,给定变量weather =’sunny’的值,计算P(是| sunny)和P(no | sunny),并选择结果的概率较高。
P(是|晴天)=(P(晴天|是)* P(是))/ P(晴天)
=(3/9 * 9/14)/(5/14)
= 0.60
P(no | sunny)=(P(晴天)* P(no))/ P(晴天)
=(2/5 * 5/14)/(5/14)
= 0.40
因此,如果天气=“晴天”,结果是play =’是’。
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。