版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
机器学习(Python版)Chap2离散变量与分类Chap2.1k近邻分类器散打机器学习算法每个机器学习算法就像我们每个人一样,独一无二,充满个性,有强项,有弱项。如何学到本质的东西,做到举一反三?如何用最少的资源学得更快更好?这些问题是共性的。散打机器学习算法之kNN
喜欢交友,吸取别人的长处;可是,有时候就只相信一个朋友,偏听偏信;有时候又反过来,朋友一大堆,人多嘴杂,成事不足,败事有余。如何交更多的朋友,如何就具体问题分辨哪些是良友,这是擅交际的knn面临的主要问题。kNN之kkNN之距离度量11p=1p=2p=∞
Lp距离(Minkowski距离)kNN之距离度量马氏距离
kNN之距离度量kNN之距离度量数据的归一化或标准化kNN之决策规则多数表决法vs加权多数表决法kNN小结
一种非常经典、原理十分易于理解的算法,其涉及的距离计算、决策规则可为更复杂模型提供参考kNN小结kNN核心代码实现kNN核心代码实现kNN核心代码实现kNN核心代码实现kNN核心代码实现3D绘图代码:kNN核心代码实现kNN核心代码实现kNN核心代码实现kNN核心代码实现kNN核心代码实现kNN核心代码实现
微课视频:kNN三要素教材《机器学习(Python版)》MLkNN之kk=15k=1
N个训练样本kNN之kkNN之距离度量11p=1p=2p=∞
Lp距离(Minkowski距离)kNN之距离度量马氏距离
kNN之距离度量kNN之距离度量数据的归一化或标准化kNN之决策规则多数表决法vs加权多数表决法学习进步!
微课视频:kNN核心代码实现教材《机器学习(Python版)》MLkNN核心代码实现kNN核心代码实现kNN核心代码实现kNN核心代码实现kNN核心代码实现3D绘图代码:kNN核心代码实现kNN核心代码实现kNN核心代码实现kNN核心代码实现kNN核心代码实现kNN核心代码实现学习进步!机器学习(Python版)Chap2离散变量与分类Chap2.2决策树散打机器学习算法之DT
内秀,爱思考,喜欢总结规则;理性,遇事讲规则,根据一堆规则做决定。可是,事情复杂,规则太少时,虽然不太情愿,也只好学knn,朋友些都来帮忙;事情简单,总结的规则却太多时,又常常懵圈犯错。如何总结出合适好用的规则,拿掉没用或多余的规则,如何决定规则的重要程度,这些是内秀的dt很困惑的事情。算法原理算法原理原理很简单:就是一组if-then规则树结构
内部结点:特征/属性,对应规则的条件
叶结点:类别,对应规则的结论规则:根结点到叶节点的路径;互斥且完备三要素:特征选择、决策树构造、决策树剪枝算法流程算法流程你能找出所有递归出口吗?划分属性选择信息熵划分属性选择信息增益划分属性选择信息增益最大准则划分属性选择划分属性选择划分属性选择划分属性选择划分属性选择划分属性选择——增益率问题:划分属性选择——增益率划分属性选择——基尼系数划分属性选择——基尼系数划分属性选择——基尼系数更详细的相关介绍信息增益准则
符合直觉:选择一个特征将训练集分割成子集,使得每个子集在当前条件下有最好的分类结果。分割后熵减少得最多。
相关概念:(1)熵H(X):随机变量不确定性的度量(只与分布pi有关,故也记作H(p))(由定义易验证,注意约定0log0=0)熵越大随机变量不确定性就越大以0-1分布(Bernoulli分布)为例比如扔硬币
知识点:微积分里的罗必塔法则
更详细的相关介绍信息增益准则相关概念:(2)条件熵H(Y|X):在己知随机变量X的条件下随机变量Y的不确定性(3)信息增益g(D,A):已知特征的信息而使得类的信息的不确定性减少的程度;等价于训练集D中特征与类的互信息D:训练集A:特征g(D,A)=H(D)-H(D|A)思考题0:如何才能使得g(D,A)最大?更详细的相关介绍信息增益准则相关算法:选择信息增益最大的特征输入:训练数据集D和特征A;输出:特征A对训练数据集D的信息增益g(D,A)1、计算数据集D的经验熵H(D)2、计算特征A对数据集D的经验条件熵H(D|A)3、计算信息增益设训练数据集为D|D|表示其样本容量,即样本个数设有K个类Ck,k=1,2,…K,|Ck|为属于类Ck的样本个数特征A有n个不同的取值{a1,a2…an},根据特征A的取值将D划分为n个子集D1…Dn|Di|为Di的样本个数记子集Di中属于类Ck的样本集合为Dik|Dik|为Dik的样本个数更详细的相关介绍ID3算法核心:在决策树各结点应用信息增益准则选择特征,递归的构造决策树基本思想:每次优先选取信息量最多的属性,亦即能使熵值变为最小的属性,以构造一颗熵值下降最快的决策树,到叶子节点处的熵值为0。此时,每个叶子节点对应的实例集中的实例属于同一类。具体方法:从根结点开始,对结点计算所有可能特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归的调用以上方法,构造决策树;直到类别相同或没有特征可以选择为止,构造完成。更详细的相关介绍算法历史1962年Hunt在研究人类概念学习时提出CLSHunt的学生Quinlan在1979年提出ID3算法Quinlan在1993年进一步提出C4.5算法,采用信息增益比选择特征Breiman在1984年提出CART算法,既可用于分类也可用于回归,采用二叉树,回归树采用平方误差最小化准则,分类树采用基尼指数最小化准则决策树剪枝决策树剪枝避免过拟合!!核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现算法特点
计算效率高:无论是构造还是测试(回忆kNN的加速需采用kd树等算法)
学习结果可解释好理解自动忽略对决策过程没有贡献的特征/属性(可供判断特征/属性重要性)能够处理特征/属性有缺失值的情况
主要问题:容易过拟合货比两家
微课视频:决策树算法原理教材《机器学习(Python版)》ML算法原理决策树是一类基于树结构进行决策的机器学习方法2.1节介绍的k近邻算法可以完成很多分类任务,但其无法给出数据的内在含义,而决策树可以用于理解数据中蕴含的知识信息,具有使得数据形式非常易于理解的优势决策树算法可以针对不熟悉的数据集合,从中提取一系列规则,从而构建出一棵决策树决策树学习的目的是为了产生一棵泛化能力强,即处理未知示例能力强的决策树算法原理算法原理原理很简单:就是一组if-then规则树结构
内部结点:特征/属性,对应规则的条件
叶结点:类别,对应规则的结论规则:根结点到叶节点的路径;互斥且完备三要素:特征选择、决策树构造、决策树剪枝算法流程算法流程你能找出所有递归出口吗?学习进步!
微课视频:决策树最优划分属性选择教材《机器学习(Python版)》ML划分属性选择信息熵划分属性选择信息增益划分属性选择信息增益最大准则划分属性选择划分属性选择划分属性选择划分属性选择划分属性选择划分属性选择——增益率问题:划分属性选择——增益率划分属性选择——基尼系数划分属性选择——基尼系数划分属性选择——基尼系数学习进步!
微课视频:决策树的核心代码实现教材《机器学习(Python版)》ML核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现核心代码实现学习进步!机器学习(Python版)Chap2离散变量与分类Chap2.3对数几率回归散打机器学习算法之Logreg
属于概率派,喜欢用概率来判断一件事情。学习的规则就是基于所有过去的经验——使得其正确的概率最大或错误的概率最小。当然这样做的风险是,可能被一些错误的经验所误导。对于新的事情,决策的规则就是选择正确概率大或错误概率小的一边。线性模型
分类怎么办?线性分类模型在分类问题中,由于输出目标𝑦是一些离散的标签,而𝑓(𝒙;𝒘)的值域为实数,因此无法直接用𝑓(𝒙;𝒘)来进行预测,需要引入一个非线性的决策函数(DecisionFunction)𝑔(⋅)来预测输出目标:其中𝑓(𝒙;𝒘)也称为判别函数(DiscriminantFunction).对于二分类问题,𝑔(⋅)可以是符号函数(SignFunction),定义为注意:b也写进向量w,对应的向量x中的分量为1!!对数几率(Logistic)函数对比符号函数/单位阶跃函数:决策函数一般要求单调可微,而符号函数/单位阶跃函数不连续!对数几率函数能够在一定程度上近似符号函数/单位阶跃函数,而且单调可微,是常用的替代函数!
对数几率(Logistic)函数S形函数最重要的代表:将实数值挤压到(0,1)区间,也称为激活函数以点(0,1/2)为中心对称:tanh,probit是另一些类似的S形函数!对数几率(Logistic)函数f(z)=1/(1+e^(-z)),f’(z)=f(z)(1-f(z))思考题负2:推导f’(z)。对数几率(Logistic)函数对数几率回归(Logisticregression)引入对数几率函数作为决策函数(DecisionFunction):特别注意:名字是回归,实际是分类!!对数几率回归——参数学习小知识:极大似然估计法(MLE)1、思想:假定观察到的概率分布(似然)就是真实的分布(总体分布、理想分布),因此优化的目标就是找到(根据样本拟合出)这个观察到的概率分布。2、以抛硬币为例:假如抛10次,6次正面,4次反面,我们就会拟合出概率分布为P(正面)=6/10,P(反面)=4/10。3、显然,如果抛的次数太少,可能会过拟合,偏离真实的分布(正反面各占50%)。对数几率回归——参数学习小知识:极大似然估计法(MLE)1、一维高斯分布的例子:拟合出的高斯分布满足尽可能多的训练样本点对数几率回归——参数学习小知识:梯度下降(GD)
对数几率回归——参数学习
yi=0=>0,1-yi=1=>p0;yi=1=>p1,1-yi=0=>0yi=0或yi=1yi为真值;p为预测概率值;仅累加分类正确样本的概率值参数w的对数似然函数每个样本类别预测正确的概率越大越好!!
似然项对数几率回归——参数学习
参数w的对数似然函数
似然项交叉熵损失函数思考题负1:完成这个推导。对数几率回归——参数学习
对数几率回归——参数学习如果似然函数-L(w)非凸学习率α:一个小的正数对数几率回归——参数学习凸优化问题:梯度向量:梯度下降:学习到的对数几率回归模型:
思考题1:推导L(w)对w的梯度向量。对数几率回归——参数学习凸优化问题:解析解:
选做题1:推导和验证解析解。对数几率回归——参数学习思考题2:结合“思考题0”思考,为什么“随机性可能有助于非凸优化问题得到一个更好的局部最优解”?算法特点货比三家?线性模型假定数据线性可分,最刚性!首次涉及到可微分最优化算法!!(1)“回归”的是“标签的对数几率”(2)优点:简单、易实现、好解释(3)主要问题:欠拟合算法特点决策边界可视化对比?算法特点就像光谱一样,模型也有一个“模型谱”!
微课视频:梯度下降与随机梯度下降教材《机器学习(Python版)》ML梯度下降
梯度下降
梯度下降梯度下降梯度下降基本梯度下降GD:每次都用所有训练样本(称为batch)计算梯度向量随机梯度下降SGD:每次仅随机采样部分训练样本(称为mini-batch)计算梯度向量
(1)1≤m≤N:一般m<<N;当N很大时,SGD的计算复杂度近似O(1),非常高效。
(2)原理:梯度向量是一个训练集上的期望值,可以通过随机采样的一个小的训练集来逼近。
(3)额外的好处:在线学习;随机性可能有助于非凸优化问题得到一个更好的局部最优解。
学习进步!
微课视频:GD算法的Python实现教材《机器学习(Python版)》ML数据装入函数对数几率函数GD函数简单数据集上的测试可视化代码……可视化结果混淆矩阵学习进步!
微课视频:最大间隔分类器教材《机器学习(Python版)》ML二分类与决策面二分类与决策面最大间隔分类器最大间隔分类器最大间隔分类器最大间隔分类器最大间隔分类器学习进步!
微课视频:最优化问题与线性不可分教材《机器学习(Python版)》ML最优化问题的转化最优化问题的转化最优化问题的转化最优化问题的转化最优化问题的转化线性不可分的情况线性不可分的情况线性不可分的情况线性不可分的情况线性不可分的情况学习进步!微课视频:没有什么比一个好
的理论更实用教材《机器学习(Python版)》ML统计学习理论ML图1:弗拉基米尔•瓦普尼克(Vladimir
N.
Vapnik,
1936—)统计学习理论诞生的背景ML机器学习也称为统计机器学习或统计学习,统计学是其基础问题:传统的统计学是大样本理论,假定数据样本趋向于无穷多!(大数定律、中心极限定理)现实情况:样本数目通常有限,有时还十分有限(比如非常见病样本数据、机动车驾驶的极端情况等)以样本无限多为基本假设推导的算法一定能实用?!(比如神经网络过拟合问题)
对基于传统统计学原则的方法修修补补,或者启发式的设计一些巧妙的算法,都不能从根本上解决问题!MLMLML统计学习理论的诞生ML0102031995年,瓦普尼克出版专著《统计学习理论的本质》针对小样本情况研究统计学习规律的理论1998年出版专著《统计学习理论》2000年出版专著《统计学习理论的本质》第二版为研究有限样本情况下机器学习理论和方法提供了理论框架核心思想是通过控制学习机器的容量实现对推广能力的控制
基于这一理论发展出了SVM和核方法统计学习理论的要点ML基本问题:对于一种未知的依赖关系(比如给定样本输出样本的类别),为了以观测为基础对它进行估计,人们必须对这种依赖关系先验地知道些什么?(1)Fisher大样本理论:几乎必须知道一切(2)统计学习理论:只要知道未知依赖关系所属的函数集(比如SVM的核函数)的某些一般的性质就足够了研究主题:确定在什么一般条件下可能对未知依赖关系进行估计阐述能够指导人们找到对未知依赖关系的最佳估计的原则(归纳原则)发展出实现这些原则的有效算法MLML统计学习理论的要点ML主要内容:关于统计推断一致性的充要条件的一系列概念反映学习机器推广能力的界针对小样本数据的归纳推理原则实现这种新的推理的方法MLML说明抽象的理论研究是如何发展出新的算法的学习与研究中可能遇到的两个主要困难:技术性方面:证明与对证明的理解概念性方面:理解问题的本质和其思想体系统计学习理论之VC维ML“训练数据的复杂程度”其实就是机器学习的关键因素:假设空间H的复杂程度一般而言,H越大,其包含任意假设的可能性越大,但从中找到某个具体假设(即学习的目标)的难度也越大。如果|H|有限,我们称H为有限假设空间,否则为无限假设空间。有限假设空间包含的假设数有限,因此可以直接用假设个数来衡量其复杂度。现实学习任务面对的通常是无限假设空间,例如实数域中的区间、Rd空间中所有的线性超平面。ML统计学习理论之VC维ML
ML统计学习理论之VC维ML
ML统计学习理论之VC维ML
ML统计学习理论之VC维ML
ML统计学习理论之VC维ML
ML抽象理论研究在实际中的巨大作用ML没有什么比一个好的理论更实用学习进步!机器学习(Python版)Chap2分类Chap2.4支持向量机散打机器学习算法之SVM
属于距离派,喜欢用距离来判断一件事情。学习的规则仅仅基于过去的极少部分关键经验——免得被一些渣渣瓦瓦的事情所误导,从而更好地做到举一反三。对于新的事情,决策的规则就是看落到哪一边、距离有多大,距离越大可信度越高。散打机器学习算法之Logregvs.SVM
这俩虽然是亲兄弟,个性上还是有所不同,各有千秋。如果一件事情不是简单的黑与白、错与对,Logreg仍然可以稍加推广就能应对,SVM就没这么幸运了!核心思想?SV11-NN(最近邻)?kNN:近邻决策面由k个近邻
样本决定SVM:最大间隔决策面由少量训练样本
(支持向量)决定??7-NNSV2最小距离尽量的大!!核心思想SV1?LogReg:对率似然/损失决策面由所有训练
样本决定SVM:合页损失/最大间隔决策面由少量训练样本
(支持向量)决定??SV2?最小距离尽量的大!!核心思想从以下两点进行把握:第一,对数几率回归采用极大似然估计,仅累加分类正确样本的概率值;而SVM则基于“最大间隔”思想,会同时考虑分类正确或错误两类样本。第二,对数几率回归的决策面由所有训练样本决定,而SVM的决策面则仅由少量训练样本(称为“支持向量”)决定。二分类与决策面
二分类与决策面
二分类与决策面——点到直线距离最大间隔分类器SV1???SV2
最小距离尽量的大!!思考题0:请举例说明特征变换的作用。最大间隔分类器线性可分的例子最大间隔分类器SV1???SV2
凸二次目标函数、线性约束,凸优化问题!最小距离尽量的大!!最大间隔分类器SV1???SV2
最大间隔分类器
KKT条件(该最优化问题的充要条件)决策面间隔面间隔面最大间隔分类器
决策面间隔面间隔面思考题2:试与kNN和对率回归进行比较!!思考题1:存不存在所有样本点都是支持向量的情况?为什么?最大间隔分类器线性不可分的例子实际问题中数据往往并非线性可分!!最大间隔分类器
特别注意:画圈的样本点都是SV!!思考题3:超参C的作用?
最大间隔分类器
最大间隔分类器高效的学习算法SMO
详见李航7.4节!!
软间隔SVM的核心代码实现软间隔SVM的核心代码实现软间隔SVM的核心代码实现软间隔SVM的核心代码实现软间隔SVM的核心代码实现软间隔SVM的核心代码实现软间隔SVM的核心代码实现软间隔SVM的核心代码实现智能算法程序设计(Python)Chap2分类Chap2.5神经网络散打机器学习算法之NN年龄最长,虽几起几落、历经风霜,到如今却如日中天,颇有凤凰涅槃、归来仍是少年之意。
原理颇似乐高积木,用大量的极其简单的标准拼插件(比如logreg)搭出任意复杂精美的物件(NN)。
有人说NN的学习过程就是炼丹,主要凭经验、撞运气(调参),缺乏理论指导。还有人说学出来的东西是个黑盒子,学了些什么也不知道。
真是爱也NN,恨也NN。一种NN基本单元——对数几率回归g
ggSoftmax多类分类我们得到了一个全连接多层NN!!……用于手写数字识别的全连接多层NN输出层(10个神经元)隐藏层(15个神经元)输入层(784个神经元)思考题1:总共有多少个参数?w和b分别是多少个?万能逼近定理输出层隐藏层输入层“单隐层NN与任意连续S型函数能够以任意精度逼近任何目标连续函数,只要不对网络的结点数加以限制。”万能逼近定理VS.哪个更经济划算?学习方法——梯度下降二次损失(代价)函数
多层复合函数求导——链式规则!!
学习方法——误差反向传播
学习方法——误差反向传播
“误差”就是损失函数L关于输入z的偏导,所以“误差反向传播”也称为“梯度反向传播”学习方法——误差反向传播
第一个反向传播方程
思考题2:第三步为什么把关于k的求和拿掉了?学习方法——误差反向传播
第一个反向传播方程
学习方法——误差反向传播
第一个反向传播方程方程(BP1)的意义——输出层的误差
学习方法——误差反向传播
第二个反向传播方程
思考题3:这一步是如何得到的?
学习方法——误差反向传播
第二个反向传播方程
学习方法——误差反向传播
第二个反向传播方程
学习方法——误差反向传播
前两个反向传播方程
学习方法——误差反向传播
后两个反向传播方程
思考题4:试证明方程(BP3)和(BP4)学习方法——误差反向传播参数量:(2+1)x2+(2+1)x2=12f’(x)=f(x)(1-f(x))标签标量Mnist手写数字数据集(机器学习的HelloWorld)28x28像素的灰度图像训练集:6万个图片;来自于250个人(一半是美国人口统计局员工,一般是美国中学生)测试集:1万个图片;来自于另外250个人(仍然来自于美国人口统计局和中学生)没有数据就如同无米之炊!!/exdb/mnist/NN的Python实现1sizes列表:定义每一层神经元的个数偏置和权重参数:用N(0,1)初始化第一层是输入层,一般不设置偏置参数randn()返回数组Python内置函数zip():>>>zipped=zip([2,3],[3,1])>>>zipped<zipobjectat0x000001B6B84B8588>>>>list(zipped)[(2,3),(3,1)]biases:[3x1数组,1x1数组]weights:[3x2数组,1x3数组](y,x)用类封装成员变量和函数N(0,1)参数初始化sizes:[2,3,1]NN的Python实现1f’(x)=f(x)(1-f(x))
前馈NN:没有反馈和记忆!!注意:np.dot()是两个数组的点积!!对于2D就是矩阵乘法。比如w--2x3b--3x1x--2x1a--3x1w:2x3b:3x1w:3x1b:1x1x:2x1a:3x1a:1x1NN的Python实现1输入:training_data–元组(x,y)的列表epochs–迭代遍数mini_batch_size–小batch大小eta–学习率/步长test_data–可选输出:无(因为参数已封装为类的成员函数)洗牌,打乱数据Python内置函数range(stop)
range(start,stop[,step])取小batch测试并打印出结果NN的Python实现1输入:mini_batch–元组(x,y)
的列表eta–学习率/步长输出:无(因为参数已封装为类的
成员函数)做了梯度归一化!!(对比对率回归的代码)
累加m个样本的梯度矩阵误差反向传播思考题5:梯度归一化有什么好处?NN的Python实现1输入:x–特征向量y–类别标签向量输出:样本(x,y)的梯度第一层是输入层x,第二层的输入是第一层的输出,……
算出所有层的z与aNN的Python实现1
BP就是这四个公式!!最后一层[-1]从倒数第二层[-2]开始一直到第二层NN的Python实现1
预测出每个测试样本的类别,然后根据标签统计出正确个数。特别注意:np.argmax()函数!!思考题6:测试集(test_data)的类别标签y是向量吗?NN的Python实现11、读入数据主程序2、定义NN3、训练及测试Epoch0:9075/10000Epoch1:9214/10000Epoch2:9287/10000Epoch3:9310/10000Epoch4:9364/10000Epoch5:9397/10000Epoch6:9396/10000Epoch7:9416/10000Epoch8:9452/10000Epoch9:9433/10000Epoch10:9449/10000Epoch11:9421/10000Epoch12:9458/10000Epoch13:9440/10000Epoch14:9462/10000Epoch15:9455/10000Epoch16:9481/10000Epoch17:9457/10000Epoch18:9485/10000Epoch19:9480/10000Epoch20:9496/10000Epoch21:9485/10000Epoch22:9488/10000Epoch23:9494/10000Epoch24:9502/10000Epoch25:9486/10000Epoch26:9495/10000Epoch27:9502/10000Epoch28:9498/10000Epoch29:9502/10000精度稳步提高局部随机波动NN的Python实现1非凸问题:需要调参、需要更自动的方法(1)隐层神经元个数(2)学习率(3)迭代遍数、小batch大小、参数初始化(4)多个隐层——深度学习(梯度消失问题)尚无完善的理论指导,主要是一些指导原则、经验和技巧!!NN的Python实现1训练集:6万个图片;分1万个
出来作为验证集(当前代码并
未使用)!!测试集:1万个图片NN的Python实现1训练集:5万个(x,y)元组
x–784D(28x28)y–10D单位向量验证集:1万个(x,y)元组y–类别标签(标量)测试集:1万个(x,y)元组y–类别标签(标量)np.reshape(x,(784,1))将x拉成一个784D的向量vectorized_result(y)的实现留给同学们!!NN的Python实现1>>>importmnist_loader>>>tr_d,va_d,te_d=load_data()>>>tr_d(array([[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.]],dtype=float32),array([5,0,4,...,8,4,8],dtype=int64))>>>len(tr_d[0][0])784>>>tr_d[0][0]array([0.,0.,0.,0.,0.,……,0.,0.,0.01171875,0.0703125,0.0703125,0.0703125,0.4921875,0.53125,0.68359375,0.1015625,0.6484375,0.99609375,0.96484375,0.49609375,0.,0.,0.,0.,0.,0.,……,0.,0.,0.,0.],dtype=float32)>>>len(tr_d[0])50000>>>len(tr_d[1])50000256级灰度(0~255)归一化到[0,1],比如0.0703125对应灰度级180NN的Python实现1加分项:与SVM的比较留给同学们!!NN的威力设计良好的NN在Mnist上的精度超过所有其他方法(包括SVM),2013年的记录是只错了21个(上面列出了其中18个)为什么?(1)端对端的自动学习(2)深度所赋予的多层特征组合简单的模型+高质量的数据!!发展历史算料、算力、算法三要素的具备发展历史生物神经元单个神经细胞只有两种状态:兴奋和抑制
微课视频:神经网络的学习算法教材《机器学习(Python版)》ML可以用梯度下降学习算法吗?误差反向传播算法BP误差反向传播算法BP误差反向传播算法BP误差反向传播算法BP误差反向传播算法BP误差反向传播算法BP误差反向传播算法BP误差反向传播算法BP误差反向传播算法BP学习进步!
微课视频:全连接神经网络核心代码教材《机器学习(Python版)》MLNetwork类Network类Network类Network类Network类Network类学习进步!微课视频:Hinton谈超级智能教材《机器学习(Python版)》ML杰弗里·辛顿ML图1:杰弗里·辛顿(GeoffreyHinton,
1947—)通往“智能”的两种道路ML数字计算机:以数字形式执行的“永生计算(ImmortalComputing)”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论