专栏首页机器视觉工坊机器学习入门基础(二)

机器学习入门基础(二)

机器学习的方法

1、回归算法:回归算法有两个重要的子类:即线性回归和逻辑回归。

1)线性回归:进行直线或曲线拟合,一般使用“最小二乘法”来求解。最小二乘法将最优问题转化为求函数极值问题。函数极值在数学上我们一般会采用求导数为0的方法。但这种做法并不适合计算机,可能求解不出来,也可能计算量太大。计算机科学界专门有一个学科叫“数值计算”,专门用来提升计算机进行各类计算时的准确性和效率问题。

例如,著名的“梯度下降”以及“牛顿法”就是数值计算中的经典算法,也非常适合来处理求解函数极值的问题。梯度下降法是解决回归模型中最简单且有效的方法之一。从严格意义上来说,由于后文中的神经网络和推荐算法中都有线性回归的因子,因此梯度下降法在后面的算法实现中也有应用。

2)逻辑回归:线性回归处理的是数值问题,也就是最后预测出的结果是数字。而逻辑回归属于分类算法,也就是说,逻辑回归预测结果是离散的分类,例如判断这封邮件是否是垃圾邮件,以及用户是否会点击此广告等等。实现方面的话,逻辑回归只是对对线性回归的计算结果加上了一个Sigmoid函数,将数值结果转化为了0到1之间的概率(Sigmoid函数的图像一般来说并不直观,你只需要理解对数值越大,函数越逼近1,数值越小,函数越逼近0),接着我们根据这个概率可以做预测,例如概率大于0.5,则这封邮件就是垃圾邮件,或者肿瘤是否是恶性的等等。

下面的两个算法是机器学习界最强大且重要的算法,都可以拟合出非线性的分类线。

2、神经网络:机器学习的学者们使用神经网络进行机器学习的实验,发现在视觉与语音的识别上效果都相当好。

一个简单的神经网络的逻辑架构。在这个网络中,分成输入层,隐藏层,和输出层。输入层负责接收信号,隐藏层负责对数据的分解与处理,最后的结果被整合到输出层。每层中的一个圆代表一个处理单元,可以认为是模拟了一个神经元,若干个处理单元组成了一个层,若干个层再组成了一个网络,也就是"神经网络"。在神经网络中,每个处理单元事实上就是一个逻辑回归模型,逻辑回归模型接收上层的输入,把模型的预测结果作为输出传输到下一个层次。通过这样的过程,神经网络可以完成非常复杂的非线性分类。

3、SVM(支持向量机):支持向量机算法是诞生于统计学习界。

支持向量机算法从某种意义上来说是逻辑回归算法的强化:通过给予逻辑回归算法更严格的优化条件,支持向量机算法可以获得比逻辑回归更好的分类界线。但是如果没有某类函数技术,则支持向量机算法最多算是一种更好的线性分类技术。但是,通过跟高斯“核”的结合,支持向量机可以表达出非常复杂的分类界线,从而达成很好的的分类效果。“核”事实上就是一种特殊的函数,最典型的特征就是可以将低维的空间映射到高维的空间。

4、聚类算法:算法中,训练数据都是不含标签的,而算法的目的则是通过训练,推测出这些数据的标签。这类算法有一个统称,即无监督算法( 前面有标签的数据的算法则是有监督算法)。无监督算法中最典型的代表就是聚类算法。聚类算法就是计算种群中的距离,根据距离的远近将数据划分为多个族群。聚类算法中最典型的代表就是K-Means算法。

5、降维算法:降维算法也是一种无监督学习算法,其主要特征是将数据从高维降低到低维层次。在这里,维度其实表示的是数据的特征量的大小,例如,房价包含房子的长、宽、面积与房间数量四个特征,也就是维度为4维的数据。可以看出来,长与宽事实上与面积表示的信息重叠了,例如面积=长 × 宽。通过降维算法我们就可以去除冗余信息,将特征减少为面积与房间数量两个特征,即从4维的数据压缩到2维。于是我们将数据从高维降低到低维,不仅利于表示,同时在计算上也能带来加速。降维算法的主要作用是压缩数据与提升机器学习其他算法的效率。通过降维算法,可以将具有几千个特征的数据压缩至若干个特征。

另外,降维算法的另一个好处是数据的可视化,例如将5维的数据压缩至2维,然后可以用二维平面来可视。降维算法的主要代表是PCA算法(即主成分分析算法)。

6、推荐算法:推荐算法的主要特征就是可以自动向用户推荐他们最感兴趣的东西,从而增加购买率,提升效益。推荐算法有两个主要的类别:一类是基于物品内容的推荐,是将与用户购买的内容近似的物品推荐给用户。

另一类是基于用户相似度的推荐,则是将与目标用户兴趣相同的其他用户购买的东西推荐给目标用户。两类推荐都有各自的优缺点,在一般的电商应用中,一般是两类混合使用。推荐算法中最有名的算法就是协同过滤算法。

7、其他:机器学习界还有其他的如高斯判别,朴素贝叶斯,决策树等等算法。但是上面列的六个算法是使用最多,影响最广,种类最全的典型。机器学习界的一个特色就是算法众多,发展百花齐放。

总结,按照训练的数据有无标签,可以将上面算法分为监督学习算法和无监督学习算法,但推荐算法较为特殊,既不属于监督学习,也不属于非监督学习,是单独的一类。

监督学习算法:线性回归,逻辑回归,神经网络,SVM

无监督学习算法: 聚类算法,降维算法

特殊算法:推荐算法

一些算法的名字在机器学习领域中也经常出现。但他们本身并不算是一个机器学习算法,而是为了解决某个子问题而诞生的机器学习算法的子算法,用于大幅度提高训练过程。其中的代表有:梯度下降法,BP算法等。

主要运用在线型回归,逻辑回归,神经网络,推荐算法中;牛顿法,主要运用在线型回归中;BP算法,主要运用在神经网络中;SMO算法,主要运用在SVM中。

本文分享自微信公众号 - 机器视觉工坊(MV_workshop),作者:ZJY

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习入门基础(三)

    机器学习大量的应用都与大数据高度耦合,几乎可以认为大数据是机器学习应用的最佳场景。正是基于机器学习技术的应用,数据才能发挥其魔力。大数据的核心是利...

    长风破浪
  • 无人驾驶系统-规划

    无人驾驶规划系统的分层结构设计源于2007年举办的DAPRA城市挑战赛,在比赛中多数参赛队都将无人车的规划模块分为三层设计:任务规划,行为规划和动作规划,其中,...

    长风破浪
  • 规划

    无人驾驶规划系统的分层结构设计源于2007年举办的DAPRA城市挑战赛,在比赛中多数参赛队都将无人车的规划模块分为三层设计:任务规划,行为规划和动作规划,其中,...

    长风破浪
  • 《算法图解》开读

    billyang916
  • 原创 | 初学者友好!最全算法学习资源汇总(附链接)

    在计算机发展飞速的今天,也许有人会问,“今天计算机这么快,算法还重要吗?”其实永远不会有太快的计算机,因为我们总会想出新的应用。虽然在摩尔定律的作用下,计算机的...

    数据派THU
  • 了解一下“算法”,每个人都要掌握的编程知识

    假设我们有一个难题需要解决,那怎么解决呢?解决的步骤怎样呢?如果有一样东西能把这个解决这个难题的步骤描述出来,那就叫做这个问题的算法。

    讲编程的高老师
  • 大数据之机器学习常见算法分类汇总

    机器学习无疑是当前数据分析领域的一个热点内容。很多人在平时的工作中都或多或少会用到机器学习的算法。这里IT经理网为您总结一下常见的机器学习算法,以供您在工作和学...

    CSDN技术头条
  • javascript 算法初识

    最近有空,想学习下算法。一直感觉它很高深的样子,尤其我数学又不好。 但我还是想学学看,万一能学到点东西呢,,, 先来了解下算法的定义:是指解题方案的准确而完整的...

    web前端教室
  • 这 3 个学数据结构和算法的网站,相信你也会喜欢的!

    而我比较特殊,我的第一印象、第二印象以至第 N 印象都觉得很难,所以为了更好的学习和理解算法,我千金一掷一下买了一堆的算法书,有图为证:

    五分钟学算法
  • 技能 | 数据科学家应该掌握的12种机器学习算法

    算法已经成为我们日常生活的一个重要组成部分,它们几乎出现在商业的任何领域。调查公司 Gartner 称这种现象为「算法化商业」,算法化商业正在改变我们经营和管理...

    CDA数据分析师

扫码关注云+社区

领取腾讯云代金券