python人工智能课程.pptx
《python人工智能课程.pptx》由会员分享,可在线阅读,更多相关《python人工智能课程.pptx(101页珍藏版)》请在冰豆网上搜索。
机器学习与深度学习实践,声明Acknowledgments,假设参与此门课程的同学具有python基础及高等数学基础。
不要求有深刻的算法基础,但对于基本的数据结构和算法要有一定了解。
参考资料:
取自于sklearn、tensorflow官方网站、斯坦福大学CS224d、CS231n课件、Github的部分代码仓库、部分来源于网络和搜索引擎,也有部分资料和代码是自行完成的。
参考书籍:
机器学习、统计学习方法、模式识别与机器学习、Hands-OnMachineLearningWithScikit-Learn&TensorFlow等课后如果有问题,欢迎联系交流,Day1大纲人工智能概述人工智能中的数学基础回归与分类线性回归,Logistic回归,Softmax回归决策树多种决策树模型,Bagging,Boosting思想朴素贝叶斯自然语言处理,文本分类,人工智能概述,从人工智能谈起智能设备、聊天机器人、无人驾驶、机器人.,https:
/,什么是人工智能?
人工智能(ArtificialIntelligence),英文缩写为AI。
它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能是计算机科学的一个分支,它试图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。
机器人语音识别图像识别自然语言处理专家系统知识工程机器学习,人工智能是对人的意识、思维的信息过程的模拟。
人工智能不是人的智能,但能像人那样的思考,甚至超过人的智能。
弱人工智能、强人工智能、超人工智能弱人工智能ArtificialNarrowIntelligence(ANI):
弱人工智能是擅长于单个方面的人工智能。
强人工智能ArtificialGeneralIntelligence(AGI):
人类级别的人工智能。
强人工智能是指在各方面都能喝人类比肩的人工智能,人类能干的脑力活它都能干。
超人工智能ArtificialSuperIntelligence(ASI):
知名人工智能思想家NickBostrom把超级智能定义为”在几乎所有领域都比最聪明的人类大脑都聪明很多,包括科学创新、通识和社交技能“。
图灵测试,人工智能的历史1956年夏天:
达特茅斯会议,提出“人工智能“20世纪60年代:
感知机20世纪70年代:
专家系统、知识工程20世纪80年代:
日本第五代机20世纪90年代:
统计机器学习2006年:
深度学习2012年:
卷积神经网络.,人工智能的历史,AI发展现状?
机器是否具有真正的智能,人眼中的图像,机器是否具有真正的智能,计算机眼中的图像,目前只能实现感知智能,尚无法实现推理智能,举个例子,还有很长的路要走计算机无法真正理解符号、数字背后的语义所有的行为都是在“猜”图像、语音:
原始信息,感知智能语言、艺术:
人工信息,推理智能,学习方法打好机器学习基础学会原理、注重联系动手实践分析数据,提升,google机器学习教程:
https:
/NG机器学习、深度学习等课程,准备工作安装anaconda3并配置pycharm安装sklearn/numpy/pandas/matplotlib/xgboost安装pycharm,并设置python解释器路径编写hello,world并成功执行,人工智能中的数学基础,数学分析映射与函数极限导数导数是曲线的斜率,是曲线变化快慢的反应;可导一定连续,反之不然,思考:
极值如何求解?
数学分析常用函数求导公式,动手实践
(2):
求sigmoid函数导数,数学分析泰勒展开式常用函数的泰勒展开,在某邻域内,存在一阶近似、二阶近似、.逼近非线性函数求解,数学分析梯度下降法,练习:
使用梯度下降法求解y=x2思考:
什么情况下有全局最优解?
数学分析练习sgd.py运行,平方函数,平方函数的导数,数学分析练习sgd.py运行,GD_decay:
x_start-初始位置df-平方函数epochs-迭代次数lr-学习率decay-学习率衰减系数,循环:
迭代计算下一次x的位置,数学分析,首先生成基础采样点给后面使用,做了双重验证并绘制图像,数学分析梯度下降法,xt+1=xt-af(xt),”最快”过于盲目、有缺陷进一步利用曲线二阶导的信息进行迭代求解,称为牛顿法,xt+1=xt-f(xt)/f(xt),数学分析多元函数的导数如何表达?
多元函数的梯度呢?
多元函数的二阶导是什么?
f(x)=f(x1,x2,.),一阶(偏)导数:
fx1(x1,x2.),fx2(x1,x2.),.,它们的线性加和称为方向导数,hessian矩阵G,数学分析总结变量、函数求导规则、泰勒展开式,YanLeCun:
可微分式编程,线性代数线性变换指旋转、推移,他们的组合是线性变换为什么研究线性变换,线性代数矩阵和乘法,矩阵的本质:
线性变换!
什么情况下矩阵乘法是旋转矩阵呢?
线性代数矩阵,仅对角线有非零值的矩阵为缩放矩阵,对角线元素代表了每个维度的缩放强度列向量正交且为单位向量的矩阵,也即正交阵为旋转矩阵,思考:
这两个矩阵的现实意义?
线性代数分离技术-特征值分解,非常重要且广泛的应用包括:
控制系统推荐系统文本相似度处理图像压缩.,线性代数分离技术-svd/NFM分解,user,item,线性代数再看特征值分解相似矩阵,线性代数行列式,考察单位阵、旋转阵行列式的本质:
线性变换的缩放因子变换是否降维(秩),线性代数总结,矩阵线性变换特征值缩放强度行列式缩放强度,概率论概率与直观不断抛掷一枚硬币,得到正面与反面的频率比例是多少呢?
经过无数次抛掷,频率的极限趋近于X?
抛掷趋于无穷次时,正反面频率一致,根据大数定理,概率论概率的计算已知A、B独立时,概率论条件概率全概率公式贝叶斯公式,练习:
小明有8支步枪,其中有5支校准过。
校准过的枪支击准靶心的概率为0.8,没有校准过的枪支击准靶心的概率为0.3,现小明随机的选一支枪,结果中靶,问该枪已被校准的概率。
概率论根据贝叶斯公式,概率论重温贝叶斯公式,强调:
这是一个非常重要的公式,记住它,基本就掌握了机器学习一半的内容,概率论期望与方差,E(x)表征了数据的加权平均值,D(x)表征了数据的波动程度,概率论变量的分布,有一类试验,比如抛掷硬币得到正面还是反面,项目成功或失败,产品是否有缺陷,只有两个可能结果。
记这两个可能的结果为0和1,该分布就称为伯努利分布。
概率论变量的分布,伯努利分布重复N次,就构成了二项分布。
排列、组合数公式复习:
袋子中有五个标号的小球,每次从中抽取一个,抽取三次,得到的排列方式有多少种呢?
袋子中有五个标号的小球,每次抽取一个,抽取三次,不考虑球之间的顺序,得到的编号组合有多少种呢?
概率论变量的分布,高斯分布,服从中心极限定律,是非常重要的分布。
概率论练习multi_guassian.py,概率论熵,世界杯比赛有32支球队参加,最少用多少bit信息表示出最后获胜的队伍?
总结人工智能中的数学并不难,关键是掌握常用的思维方式练习推导,理解数学表达式所蕴含的现实意义,机器学习实践,机器学习实践机器学习基础理论和概念机器学习基本方法项目实战分析,机器学习基础机器学习主要是研究如何使计算机从给定数据中学习规律,并利用学习到的规律(模型)来对未知或无法观测的数据进行预测。
机器学习基础从学习方式上讲,分为:
监督学习无监督学习半监督学习强化学习从学习结果上讲,分为:
回归分类,强调:
目前主流学习技术是监督学习,半监督学习和强化学习在通用场景下还不是特别的work,机器学习基础从学习方式上讲,分为:
监督学习无监督学习半监督学习强化学习从学习结果上讲,分为:
回归分类,强调:
目前主流学习技术是监督学习,半监督学习和强化学习在通用场景下还不是特别的work,线性回归线性回归是最基础的回归算法,思考:
x与y符合什么关系呢?
观察到x与y的关系(模型选择),y=ax+b,建立线性回归模型通过优化方法设法拟合数据,得到最优的a评估该模型是否准确,查看训练集上的准确率评估该模型的泛化性能,在测试集上的准确率,线性回归基本概念训练集测试集(交叉验证法、自助法等)目标函数损失函数优化方法拟合、过拟合准确率、泛化性能,线性回归,目标函数、优化方法推导不可能有一个理想的线性函数经过所有训练集的数据点,这个问题怎么处理呢?
高斯:
“把偏移都看做误差”这又是一个假设,但是机器学习的套路就是这样的,线性回归,使用求极值方法求解目标函数,线性回归,使用求极值方法求解目标函数,思考:
XTX一定可逆吗?
线性回归,直接采用极值方法求解,有什么缺点?
如果不是拿到所有样本点再求解,仅仅只看眼前的梯度逐渐求解呢?
线性回归,使用梯度下降法求解目标函数,线性回归只根据眼前的路径梯度下降求解的方法,称为随机梯度下降法(SGD)实际上使用样本的过程中,出于效率和稳定性的考虑,我们使用MiniBatch-SGD方法,使用批处理平均来进行梯度更新,而不是对每一个数据都进行一次梯度更新,思考:
目标函数一定有最小值吗?
线性回归进一步分析,可以对样本是非线性的,对系数是线性的polynomial方法,线性回归准确度评估对于连续数据(回归问题),一般使用方差评估对于离散数据(分类问题)accuracy、precision/recall例:
训练样本有100个,正负标记各50个,经过模型分类后,正负样本结果仍为各50个。
在正样本中,分对40个,分错10个,负样本中,分对30个,分错20个,则:
accuracy=(100-10-20)/100=0.7precision=40/50=0.8recall=40/60=0.66,线性回归准确度评估,强调:
F1越大越好,最大值是1,对于二分类问题,F1=0.5就等价于”胡猜”,线性回归再谈准确度问题训练集上的P、R达到100%,是最好的情况吗?
线性回归避免过拟合,引入正则化技术,分别称为LASSO回归、Ridge回归LASSO具有稀疏作用,Ridge收敛更快我们说,目标函数仍然是不带正则化的原函数,经过改造的上式称为损失函数强调:
优化的目标就是让loss最小,线性回归练习:
使用线性回归预测房价走势,degree,线性回归模型,拟合及预测,线性回归,线性回归是一种回归算法模型简单、计算量较小对误差敏感对数据预处理要求较高思考:
能否使用线性回归解决分类问题呢?
logistic回归logistic回归是最基础的分类算法回顾伯努利分布,一次实验的结果只有0、1两种选择根据贝叶斯公式,如果只考虑P(A|B),则称为极大似然估计,以硬币实验为例,现投掷10次,出现正面6次,反面4次假设硬币正反概率出现的先验分布P(B)均匀,且上述证据P(A)已成定局,则求P(B|A)就是求P(A|B)即似然函数的最大值,logistic回归logistic回归推导根据极大似然估计,假设事件发生的概率是p,则最大似然函数为:
有了P是不够的!
我们要拟合原始数据,引入sigmoid假设:
扩展知识点:
广义线性模型假设,logistic回归logistic回归推导扩展知识点:
广义线性模型假设:
logistic回归继续推导,强调:
虽然logistic回归是最基本的分类模型,但它的使用极为广泛,尤其在金融、推荐、商业化等场景中。
logistic回归练习:
使用logistic回归对鸢尾花数据做分类,logistic回归logistic回归是一种分类算法模型简单、计算量较小对异常数据点并不敏感对数据预处理要求较高,logistic回归思考,如下数据能够使用logistic分类吗?
这个技巧称为核(kernel)方法,是一种非线性分类器,想深入研究的同学们可以自行查阅svm、kernel相关资料。
Q&A?
Disscussion,决策树决策树能用来做回归,也可以用来做分类是一类算法的总称,决策树是描述对数据进行分类的树形模型,可以是二叉树或非二叉树,内部节点(绿色)表示一个特征或属性,叶子节点(橘色)表示一个结果类。
在做回归任务时,以叶子节点的值