机器学习介绍


一、机器学习介绍

机械学习与我们的日常生活息息相关,例如购物软件的推荐、短视频软件的推送和汽车的紧急避险,都与机械学习相关。那么什么是机械学习呢?

机械学习 (Machine Learning , ML) 是一个致力于理解和构建“学习”方式的领域,换而言之,机械学习是利用数据提高某些任务的性能的方法。它被认为是人工智能的一个分支。

简而言之,机器学习是从数据中学习和提取有用的信息,不断提升机器的性能。基本任务是从这些数据中学习规则,利用学习到的规则来预测新的数据。为什么要应用机械学习?它有什么独特的优点吗?

机器学习算法被应用在各种各样的应用中,例如医学、电子邮件过滤、语音识别和计算机视觉,在这些领域,开发传统算法来执行所需的任务是困难的。机械学习能解决现实生活中困难复杂的问题。它是如何解决这个问题的呢?

机械学习的基础是过去有效的策略、算法和推理在未来可能继续有效。类似于一年有四季,春之后为夏,根据以前的经验,机械学习能根据时间推断出来年的春天结束之后是夏天。即,需要拥有先验知识。接下来介绍机械学习的分类(不会涉及复杂的数学公式)。

同时,机器学习常与人工智能、深度学习这两个词汇一同出现,但是它们的意思并不是等同的,关系如下图所示。人工智能旨在使计算机系统具备模拟人类智能的能力,以解决各种任务和问题。机器学习是AI的一个分支,强调让计算机系统能够从数据中学习,而不需要明确编程规则。深度学习是机器学习的一个分支,它使用深度神经网络来建模和解决复杂的问题。
在这里插入图片描述


二、机器学习的分类

  1. 监督学习(Supervised Learning):其训练数据包含了结果信息,如在线线模型中存在y值。在监督学习中,典型的问题是分类(Classification)和回归(Regression)。

  2. 无监督学习(Unsupervised Learning):训练数据中不包含任何结果信息。其典型的问题为聚类(Clustering)问题。

  3. 半监督学习(Semi-SupervisedLearning):训练数据中有一部分数据包含结果信息,同时有一部分数据不包含结果信息,是监督学习和无监督学习的融合。其任务是对不包含结果信息的数据进行拓展。

  4. 增强学习(Reinforcement Learning):以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是获得最大的奖赏。

图片来着下面链接
picture address


三、 机器学习的本质

ChatGPT、人脸识别、物体检测、医学肿瘤图像识别等机器学习应用,其本质上还是统计学。机器学习十分依赖数据,再好的模型在差劲数据集上的表现可能不如抛色子的表现。数据也就是前面说的以前的经验,模型从数据中提取出对预测、回归或降维的重要信息,而后对新数据进行判断(预测、回归或降温)。这么说可能有点抽象,举个例子:你的朋友圈有你和风景的合照、你和美食的合照、你和其他人物的合照,这些都是过去的你,也就是我们所说的数据集。当我们要求人脸识别模型能够认出你(输入你的照片输出你的名字)时,我们就需要用过去的你告诉人脸识别模型,“瞧好啦~,这就是张三,记清楚昂!”。
在这里插入图片描述
picture address

与此同时,机器学习得出的结果是一个估计值。哪怕有一天有个模型能够基本实现百分之百的预测准确率,依旧是基于历史数据的估计。举个简单的例子,某地从来没有下过雪,基于这个数据集训练模型,我们预测该地绝对不会发生冰雹这类自然灾害。但是某天自然环境剧烈改变,该地出现了冰雹灾害。换一个更加简单理解的例子:三体中的《农场主与火鸡》,农场主每天上午十一点向火鸡投喂食物,火鸡科学家经过长期的观察,在感恩节那天宣布“每天上午十一点,天上会降下食物”。但是感恩节的那天,农场主把火鸡们都宰了。也就是说历史数据体现出来的规律并不是自然界的规律。就像三体中墨家学派将所以历史数据建模,还是没能改变文明消散的结局。

但是,随着越来越多的信息能够被模型利用,模型的预测也越来越脱离了上述的结果。例如AI for industry 的盘古大模型能够实时监控各种信息做出预测,而各种信息之间的因果关系已然确定,这样得到的预测结果十分准确。
在这里插入图片描述

四、机器学习模型介绍——KNN

接下来介绍一个机械学习的模型,K近邻算法 (k-Nearest Neighbors algorithm, k-NN) ,它是一个无参数的监督学习算法,Evelyn FixJoseph Hodges在1951年提出,然后由Thomas Cover发展优化。

选择python用于机械学习,原因是其第三方库完善,可以避免复杂的编码过程(对于非计算机专业),直接对模型进行实例化。下面是一个对鸢尾花数据集进行分类的代码,大家可以自己在Jupyter里逐行输入看看结果。

# 从sklearn引入KNN模型
from sklearn.neighbors import KNeighborsClassifier
# 从sklearn引入数据分割函数
from sklearn.model_selection import train_test_split
# 引入数据集
from sklearn.datasets import load_iris

# 数据实例化
iris_dataset = load_iris()
# 训练集测试集分割
X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'],iris_dataset['target'], random_state=0)
# KNN对象实例化
knn = KNeighborsClassifier(n_neighbors=1)
# 进行拟合
knn.fit(X_train, y_train)
# 做出预测,快去看看你的结果是什么吧!
X_new = np.array([[3, 2.6, 2, 0.2]])
prediction = knn.predict(X_new)
# 使用 knn 对象的 score 方法来计算测试集的精度
print(knn.score(X_test, y_test))

看到这的小伙伴请点点关注点点赞哦!


五、 参考

1.wiki百科关于机械学习的介绍
2. wiki百科KNN介绍

  • 0
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bio大恐龙

您的打赏是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值