《MXNet深度学习实战》—1.1.2 机器学习
1.1.2 机器学习
相信很多技术从业者对机器学习这个名词并不陌生,即便不知道这个名词,也肯定享用过机器学习算法提供的服务,比如最常见的推荐。新闻推荐、音乐推荐、商品推荐等大部分服务都是通过机器学习算法实现的,这些算法基于你的数据构造用户画像,不断了解你的喜好,最后像你的秘书一样为你提供定制化服务。
大数据往往是与机器学习紧密相连的名词,因为随着信息的爆炸式增长,网上能够获取到的数据非常多,这些数据是机器学习算法能够发挥作用的主要原料。但是这些数据类型多样,既有结构化数据,又有非结构化数据,同时数据杂乱无章,因此如何有效利用这些数据就成为了大数据带来的挑战,而机器学习其实就是从大量无序的数据中整理并提取有效信息的过程。宏观来讲,机器学习包含数据获取、数据清洗、特征提取、模型构建、结果分析等过程,这其中的每一步都影响着最终的结果,并不仅仅是训练一个模型这么简单。机器学习工程师往往需要具备多学科的知识,比如数据清洗和特征提取需要做数据的统计分析,模型构建离不开线性代数,具体到某种场景领域的数据又需要你具有相关领域的知识储备才能做好特征提取的工作,另外整个过程还需要你具备一定的编程能力才能快速实现想法并反复试错,因此机器学习涉及多学科的知识,如果利用好了这些知识,往往就能取得理想的效果。
机器学习涉及的算法非常广泛,如果按照输入数据是否有标签来区分的话可以分为3种:有监督学习、无监督学习和半监督学习。有监督学习的算法是指你为算法提供的输入中包含标签,比如你要训练一个识别手写数字的分类器,那么当你提供一张手写数字的图片时,还要告诉分类器该图片上的数字是多少,这就是有监督学习。大部分的分类和回归算法都是有监督学习的算法,比如分类算法中的kNN、决策树、逻辑回归、支持向量机(Support Vector Machine,SVM)等,以及回归算法中的线性回归、树回归等。既然大部分的分类算法和回归算法都是有监督学习算法,那么二者之间有什么区别呢?区别在于分类算法的标签是类别,而回归算法的标签是数值,因此二者的应用场景也不一样。比如,你可以用分类算法去训练一个手写数字识别的分类器,因为手写数字的标签是类别(这里讨论的是整数数字),一般而言类别都是1、2、3这样的整数;你还可以用回归算法去训练一个房价预测、股票预测的模型,因为房价和股票价格都是数值,一般而言数值都是1234.56、40.01、999这样的实数。显然,与有监督学习算法相比,无监督学习算法并不会向算法提供标签,也就是说你为算法提供一堆手写数字的图像,但是并不告知每张图像的标签,然后让算法自行学习。无监督学习算法主要是聚类算法,比如K-Means,可以用来将具有相同属性的变量聚集在一起达到分类的效果。半监督学习算法是近年来的研究热点,因为我们常常难以获取大量带有标签的数据,但是又需要训练一个有监督学习模型,这时候就可以同时用带和不带标签的混合数据进行训练,这就是半监督学习算法。
- 点赞
- 收藏
- 关注作者
评论(0)