2022年信息学部物联网工程学院学生科协机器学习科普

什么是机器学习

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能核心,是使计算机具有智能的根本途径。
在这里插入图片描述
即使这样说来可能仍然很模糊,下面可以通过一张具体的路线图来了解机器学习
在这里插入图片描述

回归和分类

回归(Regression) 就是找到一个函数 function,通过输入特征 x,输出一个数值 Scalar。比较像我们常见的函数拟合。
在这里插入图片描述
在这里左侧为线性回归,而右侧为非线性

分类是事先定义好类别,类别数不变。 分类器需要由人工标注的分类训练语料训练得到,属于有指导学习范畴.
在这里插入图片描述

监督学习和无监督学习

监督学习

从给定的训练数据集中学习出一个函数(模型参数),当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求包括输入输出,也可以说是特征和目标。训练集中的目标是由人标注的。监督学习就是最常见的分类(注意和聚类区分)问题,通过已有的训练样本(即已知数据及其对应的输出)去训练得到一个最优模型,再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的。监督学习的目标往往是让计算机去学习我们已经创建好的分类系统(模型)。

无监督学习

输入数据没有被标记,也没有确定的结果。样本数据类别未知,需要根据样本间的相似性对样本集进行分类(聚类,clustering)。
通俗点将就是实际应用中,不少情况下无法预先知道样本的标签,也就是说没有训练样本对应的类别,因而只能从原先没有样本标签的样本集开始学习分类器设计。

机器学习方向

机器学习主要包括计算机视觉,语音识别,自然语言处理三大方面。当然还带有一些其他的小方面。
我们可以具体通过一张图片来了解
在这里插入图片描述

计算机视觉方向

在计算机视觉方向有四大任务:

图像分类

给定一系列标记为单标签的图像,希望成功预测出未经标记的新的数据的标签。

在这里插入图片描述

目标检测

object detection的任务是检测到图像中的目标并分类出目标种类。

在这里插入图片描述

语义分割

计算机视觉的核心是分割过程,它将整个图像分成像素分组,然后可以对其进行标记和分类。特别地,语义分割试图在语义上理解图像中每个像素的角色(例如,它是汽车,摩托车还是其他类型的类)。例如,在上图中,除了识别人,道路,汽车,树木等之外,我们还必须划定每个物体的边界。因此,与分类不同,我们需要从我们的模型进行像素级的预测。

在这里插入图片描述

实例分割

实例分段还将不同的实例分类,例如用5种不同颜色标记5辆汽车。我们看到多个重叠物体和不同背景的复杂景点,我们不仅分类这些不同的物体,而且还确定它们的边界,差异和彼此之间的关系!

在这里插入图片描述

自然语言处理方向

一些应用有文本分类、AI写作、AI翻译等等,这里不再提供其他内容。

KNN算法教学

KNN理论教学

K最近邻(K-Nearest Neighbor)算法核心思想是如果一个样本在特征空间中的k个最临近的样本中的大多数属于某一个类别,则该样本也属于这个类别。
从图来理解就是:
在这里插入图片描述
在这里插入图片描述

鸢尾花(iris)数据集

Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。
数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性。
可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。
在这里插入图片描述

通过KNN模型实现对鸢尾花数据集的分类处理

from sklearn import datasets#sklearn自带的数据库
from sklearn.model_selection import train_test_split#分离traindata和testdata的模块*
from sklearn.neighbors import KNeighborsClassifier#KNN算法,详情百度*

iris = datasets.load_iris()
iris_X = iris.data
iris_Y = iris.target
X_train, X_test, y_train, y_test = train_test_split(iris_X, iris_Y, test_size=0.3)

#这里把所有的data分为要用于学习的data和要用于测试的data,好处是他们不会互相影响
#需要分开的数据为iris_X和iris_y,其中测试的比例占30%

print('iris_Y :', iris_Y)# 这里是排列好了的数据
print('y_train :', y_train)# 而这里是打乱了的数据,更利于分析
print('\n')

knn = KNeighborsClassifier()
knn.fit(X_train, y_train)

print('predict : ', knn.predict(X_test))
print('real data : ', y_test) 
print('score : ', knn.score(X_test, y_test))

输出结果

iris_Y : [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2]
y_train : [0 2 0 0 0 2 1 1 2 1 2 1 0 2 2 0 0 1 2 2 1 1 0 0 0 0 2 2 2 0 0 0 1 0 0 0 0
 1 1 1 2 2 0 1 1 2 2 0 2 2 0 1 2 0 1 1 0 2 1 0 2 1 1 2 2 1 2 2 1 0 1 0 0 2
 1 0 1 0 0 2 2 2 2 1 1 1 1 0 2 2 1 2 1 0 0 2 0 2 2 2 0 0 2 2 1]


predict :  [0 2 1 1 0 1 1 2 0 2 2 2 1 1 0 0 2 1 1 2 2 1 2 0 0 0 1 1 1 1 0 0 2 1 2 2 1
 0 0 0 0 1 1 2 1]
real data :  [0 2 1 1 0 1 1 2 0 2 2 2 1 1 0 0 2 1 1 2 2 1 2 0 0 0 1 1 1 1 0 0 2 1 1 2 1
 0 0 0 0 1 1 2 1]
score :  0.9777777777777777
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值