1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 信息学部物联网工程学院学生科协机器学习科普

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

时间:2022-08-19 15:23:44

相关推荐

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

什么是机器学习

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

它是人工智能核心,是使计算机具有智能的根本途径。

即使这样说来可能仍然很模糊,下面可以通过一张具体的路线图来了解机器学习

回归和分类

回归(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.datairis_Y = iris.targetX_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 00 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 11 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 22 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 22 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 01 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 21 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 10 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 10 0 0 0 1 1 2 1]score : 0.9777777777777777

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。