1、假设参与此门课程的同学具有python基础及高等数学基础。不要求有深刻的算法基础,但对于基本的数据结构和算法要有一定了解。参考资料:取自于sklearn、tensorflow官方网站、斯坦福大学CS224d、CS231n课件、Github的部分代码仓库、部分来源于网络和搜索引擎,也有部分资料和代码是自行完成的。参考书籍:机器学习、统计学习方法、模式识别与机器学习、Hands-On Machine Learning With Scikit-Learn&TensorFlow等课后如果有问题,欢迎联系交流Day1大纲 线性回归,Logistic 回归,Softmax回归 多种决策树模型,Baggin
2、g,Boosting思想 自然语言处理,文本分类人工智能概述 从人工智能谈起智能设备、聊天机器人、无人驾驶、机器人.https:/ 什么是人工智能?人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它试图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。机器人语音识别图像识别自然语言处理专家系统知识工程机器学习人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样的思考,甚至超过人的智能。弱人工智能、
3、强人工智能、超人工智能弱人工智能Artificial Narrow Intelligence(ANI):弱人工智能是擅长于单个方面的人工智能。强人工智能Artificial General Intelligence(AGI):人类级别的人工智能。强人工智能是指在各方面都能喝人类比肩的人工智能,人类能干的脑力活它都能干。超人工智能Artificial Super Intelligence(ASI):知名人工智能思想家Nick Bostrom把超级智能定义为”在几乎所有领域都比最聪明的人类大脑都聪明很多,包括科学创新、通识和社交技能“。图灵测试 人工智能的历史1956年夏天:达特茅斯会议,提出“人
4、工智能“20世纪60年代:感知机20世纪70年代:专家系统、知识工程20世纪80年代:日本第五代机20世纪90年代:统计机器学习2006年:深度学习2012年:卷积神经网络.人工智能的历史AI发展现状?发展现状?机器是否具有真正的智能人眼中的图像 机器是否具有真正的智能计算机眼中的图像目前只能实现感知智能,尚无法实现推理智能 举个例子 还有很长的路要走计算机无法真正理解符号、数字背后的语义所有的行为都是在“猜”图像、语音:原始信息,感知智能语言、艺术:人工信息,推理智能 学习方法打好机器学习基础学会原理、注重联系动手实践分析数据,提升google机器学习教程:https:/ NG 机器学习、深
5、度学习等课程准备工作 安装anaconda3并配置pycharm安装sklearn/numpy/pandas/matplotlib/xgboost 安装pycharm,并设置python解释器路径 编写hello,world并成功执行人工智能中的数学基础 数学分析映射与函数 极限导数 导数是曲线的斜率,是曲线变化 快慢的反应;可导一定连续,反之不然思考:极值如何求解?数学分析常用函数求导公式动手实践(2):求sigmoid函数导数 数学分析泰勒展开式常用函数的泰勒展开)()(!)(f.)(!2)(f)(!1)(f)()(f00200000 xOnnxxnxxxxxxxxfx)x 特征值分解21
6、12222222221003222222222112非常重要且广泛的应用包括:控制系统推荐系统文本相似度处理图像压缩.线性代数分离技术-svd/NFM分解useritem 线性代数再看特征值分解相似矩阵1-PPA思考:(1)变换与逆矩阵(2)什么情况下有逆矩阵(3)P与P的逆乘积 线性代数行列式4321bbbbB4231*bbbbB333231232221131211cccccccccC ccc-ccc-ccc-ccccccccc332112322311312213322113312312332211C考察单位阵、旋转阵行列式的本质:线性变换的缩放因子变换是否降维(秩)nnkkkkaaaD.)
7、1-(2121 线性代数总结矩阵 线性变换特征值 缩放强度行列式 缩放强度 概率论概率与直观 不断抛掷一枚硬币,得到正面与反面的频率比例是多少呢?经过无数次抛掷,频率的极限趋近于X?抛掷趋于无穷次时,正反面频率一致,根据大数定理 概率论概率的计算已知A、B独立时)(1)(APAP)(*)()(BPAPBAP)(*)(-)()()(BPAPBPAPBAP 概率论条件概率全概率公式贝叶斯公式)(*)|(),(BPBAPBAPiiiBPBAPAP)(*)|()(jjjiiiBPBAPBPBAPABP)()|()(*)|()|(练习:小明有8支步枪,其中有5支校准过。校准过的枪支击准靶心的概率为0.8
8、,没有校准过的枪支击准靶心的概率为0.3,现小明随机的选一支枪,结果中靶,问该枪已被校准的概率。概率论根据贝叶斯公式?)|(8.0)|(2.0)|(3.0)|(7.0)|(8/5)(8/3)(111110010010AGPGAPGAPGAPGAPGPGP,8163.08/3*3.08/5*8.08/5*8.0)()|()(*)|()|(111111jjjGPGAPGPGAPAGP 概率论重温贝叶斯公式)()(*)|()|(APBPBAPABP)()()|(jAPBPBAPjj强调:这是一个非常重要的公式,记住它,基本就掌握了机器学习一半的内容jjjiiiBPBAPBPBAPABP)()|()(
9、*)|()|(概率论期望与方差iiixpxE)(dxxfxpxE)()()(E(x)表征了数据的加权平均值,D(x)表征了数据的波动程度)()x()(22xEExD 概率论变量的分布 有一类试验,比如抛掷硬币得到正面还是反面,项目成功或失败,产品是否有缺陷,只有两个可能结果。记这两个可能的结果为0和1,该分布就称为伯努利分布。pqpppXEXEXDpqpXE22222)1(01)()()(01)(概率论变量的分布 伯努利分布重复N次,就构成了二项分布。排列、组合数公式复习:袋子中有五个标号的小球,每次从中抽取一个,抽取三次,得到的排列方式有多少种呢?袋子中有五个标号的小球,每次抽取一个,抽取三
10、次,不考虑球之间的顺序,得到的编号组合有多少种呢?)!(!3*4*535nmmAAnm!)!(!1*2*33*4*535nnmmCCnmiiknkknpnpXiDXDnpXiEXEnkppCkX)1()()()()(,.1,0,)1(p,概率论变量的分布 高斯分布,服从中心极限定律,是非常重要的分布。xexux,0,21)(f222)(概率论练习 multi_guassian.py 概率论熵 世界杯比赛有32支球队参加,最少用多少bit信息表示出最后获胜的队伍?)(ln)(xpxpS 总结人工智能中的数学并不难,关键是掌握常用的思维方式练习推导,理解数学表达式所蕴含的现实意义 机器学习实践机器
11、学习实践机器学习基础理论和概念机器学习基本方法项目实战分析 机器学习基础机器学习主要是研究如何使计算机从给定数据中学习规律,并利用学习到的规律(模型)来对未知或无法观测的数据进行预测。机器学习基础从学习方式上讲,分为:监督学习无监督学习半监督学习强化学习 从学习结果上讲,分为:回归分类强调:目前主流学习技术是监督学习,半监督学习和强化学习在通用场景下还不是特别的work 机器学习基础从学习方式上讲,分为:监督学习无监督学习半监督学习强化学习 从学习结果上讲,分为:回归分类强调:目前主流学习技术是监督学习,半监督学习和强化学习在通用场景下还不是特别的work 线性回归线性回归是最基础的回归算法
12、train0123456789x0123456789y24.6-24.012.2-55.9-57.816.5-7.9-17.3-23.187.4思考:x与y符合什么关系呢?观察到x与y的关系(模型选择),y=ax+b,建立线性回归模型通过优化方法设法拟合数据,得到最优的a评估该模型是否准确,查看训练集上的准确率评估该模型的泛化性能,在测试集上的准确率 线性回归 基本概念 训练集 测试集(交叉验证法、自助法等)目标函数 损失函数 优化方法 拟合、过拟合 准确率、泛化性能 线性回归 目标函数、优化方法推导不可能有一个理想的线性函数经过所有训练集的数据点,这个问题怎么处理呢?高斯:“把偏移都看做误差
13、”这又是一个假设,但是机器学习的套路就是这样的iiTiiiiTiiiixyLxy)2)(exp(21)|(p)()2)(exp(21)|(p)2)(exp(21)(p22)()()(22)()()(22)()(线性回归 使用求极值方法求解目标函数)(21()()(21()()(21()()(21)J()2)(exp(21ln)|(pln)(ln)J(2)()(22)()()(XXXYYXYYJXYXYXYXYJxyxyLTTTTTTTTTTiiTiiiTiii 线性回归 使用求极值方法求解目标函数YXXXYXXXYXXXXXXYYXJXXXYYXYYJTTTTTTTTTTTTTTTT1)(0)
14、2)(21)()(21()(求驻点AAAAAATTTx)x(xxxx思考:XTX一定可逆吗?YXEXXTT1)(线性回归 直接采用极值方法求解,有什么缺点?如果不是拿到所有样本点再求解,仅仅只看眼前的梯度逐渐求解呢?线性回归 使用梯度下降法求解目标函数)()()()()()()()()()(2)()(22)()()()()()()()()()(21)J()2)(exp(21ln)|(pln)(ln)J(ijiTijjijiTijjiTiiTijiiTiiiTiiixxyxxyJxyxyJxyxyL:10J(0,1)线性回归只根据眼前的路径梯度下降求解的方法,称为随机梯度下降法(SGD)实际上使
15、用样本的过程中,出于效率和稳定性的考虑,我们使用MiniBatch-SGD方法,使用批处理平均来进行梯度更新,而不是对每一个数据都进行一次梯度更新 思考:目标函数一定有最小值吗?线性回归进一步分析 可以对样本是非线性的,对系数是线性的polynomial方法221010 xxyxy 线性回归准确度评估对于连续数据(回归问题),一般使用方差评估对于离散数据(分类问题)accuracy、precision/recall例:训练样本有100个,正负标记各50个,经过模型分类后,正负样本结果仍为各50个。在正样本中,分对40个,分错10个,负样本中,分对30个,分错20个,则:accuracy=(10
16、0-10-20)/100=0.7precision=40/50=0.8recall=40/60=0.66 线性回归准确度评估 )11(211RPFFNTPTPRFPTPTPP强调:F1越大越好,最大值是1,对于二分类问题,F1=0.5就等价于”胡猜”线性回归再谈准确度问题 训练集上的P、R达到100%,是最好的情况吗?线性回归避免过拟合,引入正则化技术 iiTiiiTixyxy2)()(2)()()(21)J(L2)(21)J(L1正则化项:正则化项:分别称为LASSO回归、Ridge回归LASSO具有稀疏作用,Ridge收敛更快我们说,目标函数仍然是不带正则化的原函数,经过改造的上式称为损失
17、函数强调:优化的目标就是让loss最小 线性回归练习:使用线性回归预测房价走势 degree线性回归模型拟合及预测 线性回归 logistic回归logistic回归是最基础的分类算法 回顾伯努利分布,一次实验的结果只有0、1两种选择 根据贝叶斯公式,如果只考虑P(A|B),则称为极大似然估计 )()(*)|()|(APBPBAPABP以硬币实验为例,现投掷10次,出现正面6次,反面4次假设硬币正反概率出现的先验分布P(B)均匀,且上述证据P(A)已成定局,则求P(B|A)就是求P(A|B)即似然函数的最大值6.0)1ln(4ln6)()1ln(4ln6)|(ln()()1()|()(46pp
18、plppBAplppBApL logistic回归logistic回归推导 根据极大似然估计,假设事件发生的概率是p,则最大似然函数为:0)1()1()()1ln()1(ln()()1()()1(iiiiiiiyiyipypylpypylppL有了P是不够的!我们要拟合原始数据引入sigmoid假设:xTep11扩展知识点:广义线性模型假设函数,变换得到设sigmoidxpppppypypylTiiiii1)1ln(1ln()1ln()1(ln()(logistic回归logistic回归推导 扩展知识点:广义线性模型假设::1)1ln(1ln()1ln()1(ln()(函数,变换得到设sig
19、moidxpppppypypylTiiiiixTep11 logistic回归继续推导 jiiTijiTiTiiTiiTiiiiiyiyixxgylxxgxgxgyxylpypylppL)()()(1)()(1()1()(g()()1ln()1(ln()()1()()1(强调:虽然logistic回归是最基本的分类模型,但它的使用极为广泛,尤其在金融、推荐、商业化等场景中。logistic回归练习:使用logistic回归对鸢尾花数据做分类 logistic回归logistic回归是一种分类算法模型简单、计算量较小对异常数据点并不敏感对数据预处理要求较高 logistic回归思考,如下数据能够
20、使用logistic分类吗?这个技巧称为核(kernel)方法,是一种非线性分类器,想深入研究的同学们可以自行查阅svm、kernel相关资料。决策树决策树能用来做回归,也可以用来做分类是一类算法的总称 决策树是描述对数据进行分类的树形模型,可以是二叉树或非二叉树,内部节点(绿色)表示一个特征或属性,叶子节点(橘色)表示一个结果类。在做回归任务时,以叶子节点的值指代输出值。思考:分类标准如何选定?决策树信息熵:表征了信息不确定性的程度分类属性应当以最高熵减为标准进行)(ln)(xpxpS人种分类训练数据人种分类训练数据编号眼睛颜色头发颜色身高体重亚洲人1BlackBlackShortFatYe
21、s2BlackWhiteTallThinYes3BlackWhiteShortThinYes4BrownGoldTallFatNo5BrownGoldShortFatNo6BrownWhiteTallThinNo考虑一本书,只有考虑一本书,只有一个中文汉子,编一个中文汉子,编码它需要几个字节码它需要几个字节呢?呢?决策树以眼睛颜色分类:s(d1)以头发颜色分类:s(d2)以身高分类:s(d3)以体重分类:s(d4)编号编号眼睛颜色眼睛颜色头发颜色头发颜色身高身高体重体重亚洲人亚洲人1BlackBlackShortFatYes2BlackWhiteTallThinYes3BlackWhiteSh
22、ortThinYes4BrownGoldTallFatNo5BrownGoldShortFatNo6BrownWhiteTallThinNo814.1)31ln(31)32ln(32)32ln(32)31ln(31)(814.1)31ln(31)32ln(32)31ln(31)32ln(32)(907.0)0ln(0)31(ln31)32(ln32)1ln(1)(0)0(ln0)1ln(1)(08.221ln321ln21)(s4321dsdsdsdsd 决策树上文中计算了信息增益(等同于信息熵减),也即间接的利用了所谓的条件熵,这里给出形式化的推导H(Y|X)=H(X,Y)-H(X)决策树具
23、体步骤 (1)、首先选择“眼睛”这个属性 (2)、分裂出三个中间节点,之后选择其他属性,继续划分 (3)、直到新节点中的类别均一致,或特征都用尽为止思考:第(3)步是最好的情况吗?剪枝、限制树高等以上,就是决策树中的ID3算法 决策树思考如下问题:如果数据某一列是人员id(数字),那么按信息增益的分裂方式,该列一定会被作为首选属性,然而这对泛化性能毫无益处 这是ID3算法的缺陷,因此C4.5算法采用了信息增益率 H(A)A)|G(D-G(D)=A)G(D,随机森林一棵树比较单薄弱分类器的bagging策略随机森林在bagging策略上作出修改:(1)、bootstrap采样 (2)、随机选择特
24、征,选择最佳属性建立决策树 (3)、形成随机森林,通过投票得到结果 注:bootstrap来自于”pull up by your own bootstraps”,意思是依靠自己的资源,称为自助法。前面已经讲过,这是一种对样本的重复利用方法。OOB数据:约为36%,用作测试数据。投票投票!随机森林思考如下问题:(1)logistic回归能否用于形成随机森林 (2)随机森林有什么好处,同时有什么问题?假定当前已经得到了m-1棵决策树,是否可以通过现有样本和决策树的信息,对第m棵决策树的建立产生有益的影响呢?提升提升是一种机器学习思想,可以用于回归和分类问题,它每一步产生一个弱预测模型,并加权累加至
25、总模型中,如果每一步决策树的生成都是根据损失函数的梯度方向,则称之为梯度提升(Gradient boosting)梯度提升算法首先假设一个损失函数,对于回归可以采用L2 Loss,在这个基础上,通过迭代选择一个负梯度方向上的基分类器来逼近局部最小值考虑利用已有信息,每棵树都在之前的结果上拟合残差使用一阶导得到gbdt(gradient boosting decision tree)、二阶导得到xgboost 提升GBDT模型)()()()(),()()(,(1),(minarg)(11)()(01xfaxFxFxfrxxFxFyLrMmcyLxFmmmmmniimixFxFiiiimiim给定
26、步长,更新模型计算拟合残差的新函数使用数据,计算到对于给定初始函数训练数据:f(x,y,z)=1,2,3,4,5F0如何选择?损失函数计算?Fm呢?强调:GBDT基于的决策树,是一种回归树。同时既不是以ID3、C4.5为方式划分的,也不是以CART方式划分的。它的分割方式是穷举每一个特征分割点,使LSL最小。提升回顾二阶泰勒展开xgboost利用了二阶导,并加入了正则化处理)()(!2)(f)(!1)(f!0)()(f2200000 xOxxxxxxxfxCfxfhxfgyyLfJyyyLhyyyLgCfxfyyLfJtitiititiiittitiiititiiitittiiit)()(21
27、)(),()(),(,),()()(,()(2)1()1()1(2)1()1()1(得令 提升继续推导jjjtjjjjjjiijiijTjjxiqixiqiititiitiititiititiiitHGfJHGwCwhwgCwwhwgCfxfhxfgCfxfhxfgyyLfJ21)(w)21(21)21()()(21)()()(21)(),()(2j12)(2)()1(22,回代,得到:求偏导,对 提升举个例子强调:在一棵树的构建之内,不断选择分割属性,并枚举分割点,使损失函数下降最快。决策树练习:使用xgboost对鸢尾花数据做分类 决策树总结决策树是一类具有可解释性、泛化性能较好的模型精度
28、高、无需特征归一化,能够处理缺失值,共线性特征适合于低维稠密数据,不适合高维稀疏数据决策树类算法兼具特征选择能力在金融、推荐、商业化领域用途十分广泛 朴素贝叶斯自然语言处理泛谈 南京/市长/江大桥南京市/长江/大桥切词是自然语言处理中最基础、最重要的工作。切词是否准确,直接影响到文本处理的精确度。由于中文的特殊性,切词精度问题在很长一段时期内无法得到较好的改善。词典法 规则法 语言模型 基于隐马尔可夫模型等 基于LSTM模型,序列标注交集型歧义:结婚的和尚未结婚的 他说的确实在理 组合型歧义:学生会宣传部 把手抬起来 朴素贝叶斯语言模型 看成句子出现的概率问题:).,|(),|()|()()(
29、),.,()(3214213121321wwwwpwwwpwwpwpspwwwwpspn这样分词问题算是有了一个可用的解决方案,同时机器翻译等任务也被整合成了语言模型之间的映射问题。思考:这样做有什么问题?取n-gram这是语言模型的基础工作,常见的是3-gram 朴素贝叶斯再次回顾贝叶斯公式:)()(*)|()|(APBPBAPABP假设有正常/垃圾两类文本的训练数据,上述公式的意思也可以这样表达:A)所有文本中出现p(A)垃圾文本中出现p(*)垃圾文本p()垃圾文本p(A是思考:A可能是一篇文章、一句话,上述模型如何求解呢?朴素贝叶斯朴素贝叶斯是最基础的文本分类模型它对文本做了马尔科夫假设
30、 ).()()()()(.,).,|(),|()|()()(),.,()(43213213214213121321wpwpwpwpspwwwwwwwpwwwpwwpwpspwwwwpspn互相独立,假设强调:文本上的马尔科夫假设是非常强的约束朴素贝叶斯效果较好,与文本的稀疏性有关 朴素贝叶斯举个例子 训练语料训练语料内容内容垃圾垃圾1您好,请关注xxx机器学习产品,我们的联系方式是xxx12老师好,我想请教您一个机器学习的问题03最新优惠促销,打折甩卖,免费产品咨询14基于区块链的版权数据保护,是未来一个可能的技术方向05我们使用机器学习对图片进行分类,模型关注的是图片哪个区域?066.0)1
31、|(,33.0)0|(0)1|(,1)0|(6.0)(,4.0)(4.0)1(,6.0)0(机器学习机器学习产品产品机器学习产品pppppppp 朴素贝叶斯举个例子 ).()(/)1().1|()1|(),|1().()(/)0().0|()0|(),|0(.)|1(.)|0(2121.212121.21wpwppwpwpwwpwpwppwpwpwwppp取较大者、对于新文本,计算思考:这样做有什么问题?拉普拉斯平滑 其他策略 朴素贝叶斯练习:使用朴素贝叶斯对垃圾文本分类 朴素贝叶斯朴素贝叶斯是最基础的文本分类模型与常用的概率图模型均有着紧密的关联马尔科夫假设约束较强,该模型能力有限 kagg
32、le ctr预估实战题目网址:https:/ days of click-through data,ordered chronologically.Non-clicks and clicks are subsampled according to different strategies.测试数据-test.txt:1 day of ads to for testing your model predictions.说明文件-sampleSubmission.csv:Sample submission file in the correct format,corresponds to the
33、All-0.5 Benchmark.字段:id:ad identifier;click:0/1 for non-click/click;hour:format is YYMMDDHH,so 14091123 means 23:00 on Sept.11,2014 UTC.;C1-anonymized categorical variable;banner_pos;site_id;site_domain;site_category;app_id;app_domain;app_category;device_id;device_ip;device_model;device_type;device_conn_type;C14-C21-anonymized categorical variables其中5到15列为分类特征,1624列为数值型特征。kaggle ctr预估实战 xgboost+lr stacking思想