基础篇 | 01 机器学习基础

本文介绍了机器学习的基础知识,包括应用场景、重要性、基本算法和模型。机器学习是通过数据来寻找规律,解决复杂问题的工具,尤其在大数据时代变得至关重要。文中提到了K-means聚类算法、Apriori关联算法、KNN分类算法、决策树、朴素贝叶斯等经典算法。此外,还介绍了如何通过开发环境搭建实现模型预测,例如手写数字识别。文章强调了机器学习模型的构建和评估,以及未来机器学习在多个领域的广泛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本系列概述

核心内容是深度学习,只不过我们会进行代码实践,来巩固我们讲的概念的基础。会使用机器学习开发可以实际使用的工程项目,这也是我们这个系列跟其它机器学习最大区别的地方。

深度学习的意义

当然,不可能通过几个系列涉及深度学习的所有方法,所以我们重点关注的是近几年广泛得到运用的深度学习技术。可以预见的也是深度学习在现在或将来将会成为最有效的、最流行的机器学习方式之一。因为深度学习在这个海量数据的时代,已经被很多不同行业、不同企业、不同领域所应用。而且得到了印证,深度学习确实有用。可以解决很多实际的问题。比如说投行高盛、摩根士丹利都会使用深度学习技术去完善和加强他们的业务。深度学习在我们看来在机器学习领域是最火的,也将在未来火上很长很长时间。

系列简介

  • 基础篇
    什么是机器学习,机器学习的主要任务,解决什么样的问题。 部署后面会使用的开发环境。通过python去实现几个机器学习中的经典算法。让大家对整个机器学习领域有一个大致的了解。
    还会去介绍一些分类器,包括决策树、K-Means算法,Logistic回归、支持向量机、以及贝叶斯网络。

  • 神经网络篇
    以基础知识为导向跟大家介绍深度神经网络是怎么回事。

  • 深度学习篇
    了解什么是深度学习,将很多概念,用代码去跟大家展示。跟普通的文章有很大的区别。所以大家一定要把这个开发环境装好,我们会以实战为导向,带着大家一起去做。从我的角度来看,如果只了解机器学习是什么,了解了几个算法,然后不知道怎么去用,其实是很大的问题。

  • 高性能编程
    主要的概念讲完之后,我们会涉及到高性能编程,事实上深度学习很大程度上依赖于高性能计算。这一块我们会带着大家一起去入门C++,把在机器学习领域和深度学习相关的技术来很全面的给大家做一个介绍。主要在这里呢,我们就使用C++编程语言。也包括GPU的计算,我们完全会讲到,大家不用担心。

  • 编程实战篇
    重头戏来了,实时上我会抽象一个实际的产品给大家。当然我不能说原来的那个产品什么样子,这个产品是完全可以工作,也可以上线的。这个产品包含了前端、后端、以及客户端。这个就涉及到的东西非常多了,我们会非常全面的跟大家做一个讲解。
    这个系统分为两块,第一块是云端服务器,涉及到大数据和海量数据的实时处理和分析,除此之外呢,深度神经网络我们会去部署Caffe和Tensorflow这样的集群,然后去编写机器学习的代码,实现我们的这个深度神经网络的服务器。
    构建好这个服务器之后,我们肯定会去想,有了这个服务器之后,我们怎么去用呢。所以我们不仅会去开发一整套完整的从业务逻辑,到底层框架的组织架构,还有最底层的通信系统,我们都会有一个全面的介绍,跟大家讲一讲整个深度学习服务器到底是怎么构建起来的。所以说,大家如果经过这个编程实战篇之后,大家应该有一个非常完整的认知,就是深度神经网络怎么能解决我们现实的问题。那我们解决什么样的实际问题呢,我们会根据系列的推进,做一些调整。
    所以说,分两块,一块是服务器,一块是客户端,我们都会去做一个实现。


本篇主题

  • 机器学习基础:
    机器学习到底是什么,能解决什么样的问题,其实这个非常关键,机器学习现在非常火,但是它真正能解决什么问题呢,我们把它讲清楚。

  • 基本算法介绍:
    机器学习的基本算法做一个介绍,我们最后会使用深度神经网络的东西,在这之前会把机器学习的经典算法跟大家做一个介绍。让大家走进机器学习的世界,了解机器学习到底是什么样子。有这么一个全面的认识,在工程实践之前,这一点其实非常关键。

  • 基本模型入门:
    会带着大家做一个基本模型的入门,包括开发环境的搭建,会去实现一些经典的机器学习算法。

机器学习基础

应用场景

人脸识别
机场火车站的无人检票系统;
银行无人开户:放一张身份证,再用摄像头拍一张人脸,检验人脸和身份证是否一致;
人脸识别技术的发展已经可以一定程度上用机器来代替,人脸识别自然用机器学习去实现的。
无人驾驶
涉及到机器学习领域更多更广,完全不能说跟我们之前讲的是一套算法或机制。这里可能会涉及到图像识别、导航定位、驾驶辅助系统,不只是机器学习。除了百度无人驾驶,还有特斯拉。但离成熟距离还很远。
我们是站在机器学习爆发时代的前端,刚刚开始。很多技术爆发出来,但是离成熟还有很大的距离要走。
IT技术在这几年,硬件的发展、软件的发展可能会呈现一个爆炸式的增长。所以,大家现在去学习机器学习我个人觉得是非常好的时机。
医疗
使用机器学习做诊断的系统也越来越多。这也是目前一个热门评议。

什么是机器学习

WhatIsMachineLearning
人可以创造的东西是非常有限的—> 人希望从已知的信息中得到普遍的工具 —> 使用这些工具得到我们未知的但想要知道的信息。比如各种物理定律就是这个过程的产物。我们可以类比机器学习是这样大致的一个过程的产物。

从最简单的例子来说吧,大家只要学过最基础的统计学,大家肯定都知道。提到这个统计学大家可能会担心数学基础,觉得 统计学、概率论很长时间没有学了,大家不用担心,如果涉及到这方面内容,我们也会给大家去讲,不会说,让大家自己去看。

比如:如何知道某个厂生产的产品有多少个次品?

是不是通过简单的统计就可以做到呢。在这种情况下,我们往往会从实际的产品中抽取一定的样本,计算样本里的次品数量、计算样本里的次品频率。我们会假定样本和正式产品同分布。比如样品里有10件商品,1件次品,我们可以假定次品率10%。如果总共有100个产品,次品数量可以推断为10个。

大家想象一下这个过程,我们已知的是样本的情况,包含多少个工件,里面有多少个次品,还有整体的数量,这些信息是已知的。在这里我们将这些信息称作为原始数据。就是上图当中看到的原始数据,最后得出的是一个整体的数目。也就是说未知需要我们预测一个值。这是我们想要得到的信息。

这是一个简单的过程,我们用一个数学模型就已经解决问题了,所以说在还没有计算机的时候,我们解决这类问题完全使用数学模型来帮我们解决问题。而建立数学模型我们需要考虑系统当中所有的因素,并思考这些因素当中的逻辑关系。得到准确的数据公式。这个数学模型的本质也就是数学建模需要完成的任务。这种思路就是希望使用数学来描述我们现实当中的一切现象。用数学来抽象我们现实生活当中的一些问题。然后呢,通过这些模型来解决某个问题。虽然如此,数学很美,但是光使用数学,在现如今复杂的情况下呢,很多问题就解决不了。我们思考一个简单例子。

为何机器学习如此重要

MechineLearningImportant
机器学习出现的背景
天气预报,需要考虑的情况非常多,还需要进行趋势预测,在这种情况下,数学模型只能完成最基本的运算,如果想要更高的准确率呢,那数学模型其实早就力不从心了。

对于疾病的预测更是如此,人体是非常复杂的,一般我们使用数学模型的思路是观察我们的数据,然后使用数学工具呢,去人为的思考,抽象。去人工分析,并建立数学模型,但在这种情况下,人的精力是有限的,当遇到海量数据,去使用传统的人工抽象的方式肯定是不切实际的。那我们能不能让机器自己去观察它的数据呢。为了解决这个问题,机器学习也就出现了。

机器学习的思路
我有一定量的数据,那我就将人分析数学模型的过程转移给计算机,让计算机读取数据,并提取数据当中的一些特征,注意这里的特征,比如疾病预测里我们需要考虑到的因素,除了基本的各项身体健康指标以外,可能还要考虑各种基因的因素, 这些健康指标和基因其实都是一个特征。计算机所要做的就是提取这些特征。然后再寻找这些特征和我们想要的结果之间的关联关系。我们需要做的其实就是设计和寻找的范围,我们不能通过人的抽象思维直接得到一套算法,但是我们通过机器的帮助、通过机器学习来寻找这个算法,并使用程序来实现。具体如何寻找或者这个算法最后什么样子,那完全交给计算机去做。

所以大家考虑这个问题到底是什么样子的。

机器学习与原来程序开发的区别
我们现在解决问题或者编程的时候,我们先要预想这个问题该如何解决,通过人的思维去编写一套算法,去解决我们的问题。这个算法是由人的思维去编写的。这是现有的状况,那么,机器学习是怎么回事呢。

如果要处理现实世界当中特别复杂的问题,人的大脑肯定不够用了。 在很多时候无法推导出来现实生活中的模型。这种情况下我们需要借助机器学习技术去寻找这个算法,所以这里面大家看到最大的区别在哪里呢,原来我们是直接设计程序,现在算法太复杂,我们已经写不出来了,通过机器学习的方式去寻找这个算法。寻找到这个算法解决我们的实际问题。这就是机器学习最大的功能和任务。所以说为什么机器学习如此重要,因为我们现在需要解决的实际问题太复杂。通过人的思维已经无法去编写一个程序去解决问题了。我们需要一个特别特别复杂的机器学习算法。这个算法来交给机器学习技术来帮我们寻找。这就是机器学习和我们现有方式最大的区别。

本节小结
现在的趋势和未来发展的方向,我认为一定是往这个方向发展的。就是使用机器学习模型来替代我们传统的数学模型来解决现实问题。

那么为什么现在机器学习变的越来越重要,会取代数学模型地位呢。

一是因为现在人们需要解决的问题已经越来越复杂,很多问题数学模型已经无法胜任。

二是我们现在数据来源越来越丰富,而且数据量越来越大。俗话说:巧妇难为无米之炊。哪怕我们用了机器学习模型,但是没有数据,又有什么用呢,只不过现在呢刚刚迎上了大数据的风口浪尖。确定是最好的时代,所以大家这个时候学习机器学习的确是特别好的时机。

最后呢,为什么现在机器学习这么火呢,这也得益于现有机器性能的提升。在以前,很多机器学习无法使用的原因就是因为机器性能不够。比如深度神经网络,也就是我们这个系列最核心的概念。现在随着GPU性能的提升、异构运算、分布式计算的兴起,我们可以使用的资源就越来越多了,以前一个月需要处理的数据,现在可能几个小时就能处理完。

所以,现在我们用机器学习解决现实问题是极有可能,而且是真的有用。在以前,这种事情完全是天方夜谭。所以说机器学习技术是建立在大数据之上的。所以,在我们的系列当中也会跟大家去讲大数据处理和分析的实战。所以大家不用担心,我们会从最原本的东西跟大家去讲。

机器学习模型

MechineLeaningModel
首先我们了解一下机器学习的大致过程,然后我们再看看机器学习到底是什么。

模型就是机器帮我们生成的超级复杂的算法。模型是我们的产物之一,也是我们希望得到的那一个复杂的算法。
预测程序:即我们给机器测试数据,机器给我们答案,我们比较一下测试的正确答案和机器给出的答案,就可以给机器学习打一个分数,类似考试,分数就是最终测试的准确率,准确率也是用数据。但是机器可能需要几万道题,才能知道是否准确。

我们简单梳理一下大致流程
1. 我们会整理一系列数据,给训练程序,这些数据就叫做训练数据,
2. 我们再给训练程序制定一个现成的模型学习方法,训练程序就会乖乖根据我们的方法读入数据,并得到训练后的东西,这里这个模型我们可以抽象称为泛化的函数。它的作用就是输入一堆自变量。自变量是数据当中的特征。然后得到因变量,也就是问题的答案。理论上讲,我们就可以拿这个模型到生产环境当中去使用了。不过在这之前我们还有两个步骤要做。第一,输入训练数据,看看模型是否能得到正确的结果。如果第一步能做到,我们就考虑第二步,第二步是输入一堆测试数据,让模型给出结果,我们再来看看准确率到底如何。如果这两步当中有一步不满足,那我们只能换训练数据,也就是换课本了,课本和老师不行嘛,我要让机器学习重新去学,直到这两个步骤都满足为止,我们才认为这个模型是合格的。这个模型就是通过机器学习最终得到的结果,这个模型合不合格,我们需要通过这样的方式去验证。

一个问题:一个训练上表现良好的模型,到底效果好不好呢
其实不一定,如同课本会告诉我们1+1= 2;但不会告诉你9999+1 =10000,那我们要学会的方法本质呢是要举一反三,对于机器学习来说也是如此。机器呢,要从训练数据当中找其规律所在。注意这个规律,规律非常多,机器学习的关键就在于寻找这个规律。找到这个规律之后才能应用现实世界当中的实际问题。不然就成了一个只会做课本题目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值