1)Python环境及pip list截图。
答:图1为Python环境截图,图2-图5为pip list截图。
图1
图2
图3 图4 图5
2)学习笔记。
答:
P1机器学习概论
主要内容:
1、机器学习示例
2、机器学习的角度看数学:
2.1 数学分析
导数与梯度
Taylor展式的应用
2.2 概率论基础
古典概型
频率学派与贝叶斯学派
常见概论分布
Sigmoid/Logistic函数的引入
什么是机器学习 03:00-40:00
1、对于某给定的任务T,在合理的性能度量方案P的前提下,某计算机程序 可以自主学习任务T的经验E;随着提供合适、优质、大量的经验E,该程序对于任
务T的性能逐步提高。
2、这里最重要的是机器学习的对象:
2.1 任务Task.T,一个或者多个
2.2 经验Experience.E
2.3 性能Performance.P
3、即:随着任务的不断执行,经验的累积会带来计算机性能的提升。
Tom Michael Mitchell. 1977(写了一本书,书的名字就叫《机器学习》)
4、机器学习是人工智能的一个分支。我们使用计算机设计一个系统,使它能够根据提供的训练数据按照一定的方式来学习;随着训练次数的增加,该系统可
以在性能上不断学习和改进;通过参数优化的学习模型,能够 用于预测相关问题的输出。
5、有监督学习(如分类、回归):通过已有的一部分输入数据与输出数据之间的相应关系。生成一个函数,将输入映射到合适的输出。
6、无监督学习(如聚类):直接对输入数据集进行建模。
7、机器学习的内涵与外延
7.1 机器学习可以解决什么问题
给定数据的预测问题,步骤如下:
① 数据清洗/特征选择
② 确定算法模型/参数优化
③ 结果预测
7.2 不能解决什么
① 大数据存储/并行计算
② 做一个机器人
8、案例:预测房屋价格,有一些样本,由这些样本得到一个模型,进行预测,特征有type(房屋类型)、rooms(几居室)、surface(面积)、public
trans(公共交通),预测sold(房屋价格),采用线性回归模型,目标函数,取最小,可以叫为损失函数,取最大,叫增益函数。超参数需要
进行调参。
9、建模:训练数据(Train),可以是文本、图像、声音、交易等等,标记值(Labels),在训练数据中提取特征,然后选择算法,把特征和标记值放进去
算法,得到模型。
预测:拿到新的数据,可以是文本、图像、声音、交易等等,没有标记值,提取特征,把特征放进去模型进行计算,得到期望的标记值。
机器学习的一般流程
数据收集 ----> 数据清洗 ----> 特征工程 ----> 数据建模 ----> 模型使用
机器学习方法
线性回归
SVM(支持向量机)
EM算法
GMM与图像
图像的卷积
去均值ICA分离
带噪声的信号分离
SVM:高斯核函数的影响RBF
Crawler爬取数据
HMM分词:MLE
LDA
聚类
降维
SVM
深度学习
数学分析
概率论基础
P4Python基础
Python库:
① Pip:安装Python包的推荐工具
② Numpy:为Python提供快速的多维数组处理能力
③ Pandas:在Numpy基础上提供了更多的数据读写工具
④ Scipy:在Numpy基础上添加了众多科学计算工具包
⑤ Matplotlib:Python丰富的绘图库
Pip:
下载包:pip install 包名
更新包:pip install 包名 --upgrade
卸载包:pip uninstall 包名
查看安装包:pip list
类/继承类:定义类是通过class关键字,当我们定义一个class的时候,可以从 某个现有的class继承,新的class称为子类,而被继承的class称为基类、父类或
超类。
导入包:import 模块名 [as 别名]
from 模块名 import 包名(从模块包中导入一个指定包)
python基础知识:
1、标准Python的列表(list)中,元素本质是对象,如L = [1,2,3],需要3 个指针和3个整数对象,对于数值运算比较浪费内存和CPU,因此,Numpy 提供了
ndarray对象:存储单一数据类型的多维数组。
2、数组大小可以通过其shape属性获得,强制修改shape,如从(3,4)改为 (4,3),但并不是对数组进行转置,而只是改变每个轴的大小,数组元素在内
存中的位置并没有改变。
3、使用reshape方法,可以创建改变了尺寸的新数组,原数组的shape保持不变,而且原数组和新数组共享内存,修改任意一个将影响另外一个数组的元素类
型可以通过dtype属性获得,可以通过dtype参数在创建时 指定元素类型,若更改元素类型,可以使用astype安全的转换。
4、如果生成一定规则的数据,可以使用Numpy提供的专门函数arange函数 类似于python的range函数:指定起始值、终止值和步长来数组,不包括终值,但
arange可以生成浮点类型,而range只能是整数类型。
5、设定1行打多长:np.set_printoptions(Linewidth=数值) 默认数值为80
6、linspace函数通过指定起始值、终止值和元素个数来创建数组,缺省包括 终止值,可以通过endpoint关键字指定是否包括终止值,默认为True。
logspace函数与linspace函数类似,logspace函数可以创建等比数列。
7、使用frombuffer,fromstring,fromfile等函数可以从字节序列创建数组。
8、常规方法:数组元素的存取方法和Python的标准方法相同
① 获取某个元素:数组名[下标]
② 切片:数组名[a:b],a,b表示下标,不包含b
数组名[:下标],省略开始下标,表示从0开始
③ 切片数据是原数组的一个视图,与原数组共享内容空间,可以直 接修改元素值,因此,在实践中,切实注意原始数据是否被破坏。
9、根据整数数组存取:当使用整数序列对数组元素进行存取时,将使用整 数序列中的每个元素作为下标,整数序列可以是列表或者数组,使用整数序列作
为下标获得的数组不和原始数组共享数据空间。
10、使用布尔数组i作为下标存取数组a中的元素:返回数组a中所有在数 组b中对应下标为True的元素
11、 numpy与python数学库的时间比较,numpy快。
12、元素去重。
① 直接使用numpy库中的unique函数去重
② 把二维数组转换成虚数,再使用unique函数去重
③ 把数组中的元素变成元组,再放入集合中
13、numpy中的stack函数:用于将多个数组合并,其中每个数组的shape 都相同,其中axis表示在第几个空间开始进行结合。
3)什么是机器学习,有哪些分类?结合案例,写出你的理解。
答:机器学习是人工智能的一个分支。我们使用计算机设计一个系统,使它能够根据提供的训练数据按照一定的方式来学习;随着训练次数的增加,该系统可以
在性能上不断学习和改进;通过参数优化的学习模型,能够用于预测相关问题的输出。通过已经得到的样本,从样本中特征和标志值,然后将特征和标记值
放入算法中,得到学习模型;若这时有新样本,当样本中只有特征,没有标记值,即可以将特征放入学习模型中计算,可得到标记值的预测结果。
如预测房屋价格,先获取一些房屋样本,由这些样本获取特征和标志值,特征有type(房屋类型)、rooms(几居室)、surface(面积)、public trans
(公共交通),标记值为sold(房屋价格),选择线性回归算法,把特征和标记值放入算法中,不断学习和改进,得到学习模型。拿到新的房屋数据,没有
房屋价格,提取特征,把特征放进去学习模型进行计算,得到期望的标记值,即预测得到的房屋价格。
机器学习通常分为四类:监督学习:从标记的训练数据来推断一个功能的机器学习任务,如分类和回归。
无监督学习:把没有标签的数据分成一个一个组合,如聚类。
半监督学习:在训练阶段结合了大量未标记的数据和少量已标记的数据。
强化学习:智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大。