
⼈⼯智能课程概述
⼀、⼈⼯智能课程概述
1. 什么是⼈⼯智能
⼈⼯智能(Artificial Intelligence)是计算机科学的⼀个分⽀学科,主要研究⽤计算机模拟⼈的思考⽅式和⾏为⽅式,从⽽在某些领域代替
⼈进⾏⼯作.
1975年图灵奖获得者、1978年诺贝尔经济学奖获得者、著名学者赫伯特.西蒙(Herbert Simon)曾下过⼀个定义:如果⼀个系统,能够
通过执⾏某个过程,就此改进了它的性能,那么这个过程就是学习.由此可看出,学习的⽬的就是改善性能.
卡耐基梅隆⼤学机器学习和⼈⼯智能教授汤姆.⽶切尔(Tom Mitchell)在他的经典教材《机器学习》中,给出了更为具体的定义:对于某
2) 批量学习、增量学习
a) 批量学习
将学习过程和应⽤过程分开,⽤全部训练数据训练模型,然后再在应⽤场景中进⾏预测,当预测结果不够理想时,重新回到学习过程,如此
循环.
b) 增量学习
将学习过程和应⽤过程统⼀起来,在应⽤的同时,以增量的⽅式不断学习新的内容,边训练、边预测.
3) 基于模型学习、基于实例学习
a) 基于模型的学习
根据样本数据,建⽴⽤于联系输出和输出的某种数学模型,将待预测输⼊带⼊该模型,预测其结果. 例如有如下输⼊输出关系:
输⼊(x)输出(y)
12
24
36
48
根据数据,得到模型
y=2x
预测:输⼊9时,输出是多少?
b) 基于实例的学习
根据以往经验,寻找与待预测输⼊最接近的样本,以其输出作为预测结果(从数据中⼼找答案). 例如有如下⼀组数据:
学历(x1)⼯作经验(x2)性别(x3)⽉薪(y)
本科3男8000
硕⼠2⼥10000
博⼠2男15000
预测:本科,3,男 ==> 薪资?
5. 机器学习的⼀般过程(重点)
1. 数据收集,⼿段如⼿⼯采集、设备⾃动化采集、爬⾍等
2. 数据清洗:数据规范、具有较⼤误差的、没有意义的数据进⾏清理
7. 应⽤模型
8. 模型维护
6. 机器学习的典型应⽤
1. 股价预测
2. 推荐引擎
3. ⾃然语⾔处理
4. 语⾳处理:语⾳识别、语⾳合成
5. 图像识别、⼈脸识别
1. 数据预处理的⽬的
1)去除⽆效数据、不规范数据、错误数据
2)补齐缺失值
3)对数据范围、量纲、格式、类型进⾏统⼀化处理,更容易进⾏后续计算
2. 预处理⽅法
1)标准化(均值移除)
让样本矩阵中的每⼀列的平均值为0,标准差为1. 如有三个数a, b, c,则平均值为:
m=(a+b+c)/3
a=a−m
′
b=b−m
′
c=c−m
′
预处理后的平均值为0:
(a+((a+b+c)−3m)/3=0
′′′
b+c)/3=
预处理后的标准差:
s=sqrt(((a−m)+
222
(b−m)+(c−m))/3)
a=a/s
′′
b=b/s
′′
c=c/s
′′
s=sqrt(((a/s)+
′′′2′2′2
(b/s)+(c/s))/3)
KaTeX par error: Double superscript at position 11: =sqrt((a' ^ 2 + b' ^ 2 + c…
=1
标准差:⼜称均⽅差,是离均差平⽅的算术平均数的平⽅根,⽤σ表⽰ ,标准差能反映⼀个数据集的离散程度
代码⽰例:
#
数据预处理之:均值移除⽰例
import numpy as np
import sklearn.preprocessing as sp
#
样本数据
raw_samples = np.array([
[3.0, -1.0, 2.0],
[0.0, 4.0, 3.0],
[1.0, -4.0, 2.0]
])
print(raw_samples)
print(raw_samples.mean(axis=0)) #
求每列的平均值
print(raw_samples.std(axis=0)) #
求每列标准差
std_samples = raw_samples.copy() #
复制样本数据
for col in std_samples.T: #
遍历每列
col_mean = col.mean() #
计算平均数
col_std = col.std() #
求标准差
col -= col_mean #
减平均值
col /= col_std #
除标准差
print(std_samples)
print(std_samples.mean(axis=0))
print(std_samples.std(axis=0))
我们也可以通过sklearn提供函数实现同样的功能,如下⾯代码所⽰:
std_samples = sp.scale(raw_samples) #
求标准移除
print(std_samples)
print(std_samples.mean(axis=0))
print(std_samples.std(axis=0))
2)范围缩放
将样本矩阵中的每⼀列最⼩值和最⼤值设定为相同的区间,统⼀各特征值的范围.如有a, b, c三个数,其中b为最⼩值,c为最⼤值,则:
a=a−b
′
b=b−b
′
c=c−b
′
缩放计算⽅式如下公式所⽰:
a=a/c
′′′′
b=b/c
′′′′
c=c/c
′′′′
计算完成后,最⼩值为0,最⼤值为1.以下是⼀个范围缩放的⽰例.
# 数据预处理之:范围缩放
import numpy as np
import cessing as sp
# 样本数据
raw_samples = ([
[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0],
[7.0, 8.0, 9.0]]).astype("float64")
# print(raw_samples)
mms_samples = raw_() # 复制样本数据
for col in mms_samples.T:
col_min = ()
col_max = ()
col -= col_min
col /= (col_max - col_min)
print(mms_samples)
我们也可以通过sklearn提供的对象实现同样的功能,如下⾯代码所⽰:
# 根据给定范围创建⼀个范围缩放器对象
# 数据预处理之:归⼀化
import numpy as np
import cessing as sp
# 样本数据
raw_samples = ([
[10.0, 20.0, 5.0],
[8.0, 10.0, 1.0]
])
print(raw_samples)
nor_samples = raw_() # 复制样本数据
for row in nor_samples:
row /= abs(row).sum() # 先对⾏求绝对值,再求和,再除以绝对值之和
print(nor_samples) # 打印结果
在sklearn库中,可以调⽤ize()函数进⾏归⼀化处理,函数原型为:
ize(原始样本, norm='l2')
# l1: l1范数,除以向量中各元素绝对值之和
根据⼀个特征中值的个数来建⽴⼀个由⼀个1和若⼲个0组成的序列,⽤来序列对所有的特征值进⾏编码.例如有如下样本:
⎡⎤
132
⎢⎥
754
⎢⎥
186
⎣⎦
739
对于第⼀列,有两个值,1使⽤10编码,7使⽤01编码
对于第⼆列,有三个值,3使⽤100编码,5使⽤010编码,8使⽤001编码
[[1 0 1 0 0 1 0 0 0]
[0 1 0 1 0 0 1 0 0]
[1 0 0 0 1 0 0 1 0]
[0 1 1 0 0 0 0 0 1]]
[[1 3 2]
[7 5 4]
[1 8 6]
[7 3 9]]
6)标签编码
根据字符串形式的特征值在特征序列中的位置,来为其指定⼀个数字标签,⽤于提供给基于数值算法的学习模型.代码如下所⽰:
# 标签编码
import numpy as np
import cessing as sp
raw_samples = (['audi', 'ford', 'audi',
'bmw','ford', 'bmw'])
lb_encoder = ncoder() # 定义标签编码对象
lb_samples = lb__transform(raw_samples) # 执⾏标签编码
print(lb_samples)
print(lb_e_transform(lb_samples)) # 逆向转换
执⾏结果:
[0 2 0 1 2 1]
原始数据:
[[0, 150, 200],
[1, 180, 223],
[2, 190, 255]]
转换后的数据:
[[0, 0, 255],
[0, 0, 255],
[0, 0, 255]]

本文发布于:2023-11-03 22:38:05,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/169902228527539.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:人工智能课程概述.doc
本文 PDF 下载地址:人工智能课程概述.pdf
| 留言与评论(共有 0 条评论) |