第二课名称是:Objective-C 回顾上节课的内容: 创建了单个MVC模式的项目 显示项目的各个文件,显示或隐藏导航,Assistant Editor, Console, Object Library, Inspector等功能的使用 在故事版上编辑视图,通过Ctrl+拖拽把view连接到Controller的outlet. 创建新的类,比如 CalculatorBrain 使用@synthesize 延迟实例化实现getter [ ]中括号的使用 私有方法在.m文件中定义 使用strong…
2015-07-06 第一讲   课务.iOS概述 -------------------------------------------------- 开始学习斯坦福大学公开课:iOS 7应用开发留下笔记…
当我们运行一个学习算法时,如果这个算法的表现不理想,那么有两种原因导致:要么偏差比较大.要么方差比较大.换句话说,要么是欠拟合.要么是过拟合.那么这两种情况,哪个和偏差有关.哪个和方差有关,或者是不是和两个都有关,搞清楚这点很重要.能判断出现的情况是这两种中的哪一种,是一个很有效的指示器,指引着可以改进算法的最有效的方法和途径. 下面深入地探讨一下有关偏差和方差的问题,并且能弄清楚怎样评价一个学习算法.能够判断一个算法是偏差还是方差有问题.因为这个问题对于弄清如何改进学习算法的效果非常重要. 如…
1.斯坦福大学公开课机器学习 (吴恩达 Andrew Ng) http://open.163.com/special/opencourse/machinelearning.html 笔记 http://cs229.stanford.edu/syllabus.html http://www.cnblogs.com/jerrylead/default.html?page=3 http://www.cnblogs.com/madrabbit/ https://blog.csdn.net/xiahouz…
误差分析可以更系统地做出决定.如果你准备研究机器学习的东西或者构造机器学习应用程序,最好的实践方法不是建立一个非常复杂的系统.拥有多么复杂的变量,而是构建一个简单的算法.这样你可以很快地实现它.研究机器学习的问题时,会花一天的时间试图很快的把结果搞出来.即便效果不好,运行得不完美,通过交叉验证来检验数据,一旦做完,就可以画出学习曲线.通过画出学习曲线以及检验误差来找出算法是否有高偏差和高方差的问题,或者别的问题.在这样分析之后,再来决定用更多的数据训练,或者加入更多的特征变量.这么做的原因是刚接…
假如我们在开发一个机器学习系统,想试着改进一个机器学习系统的性能,我们应该如何决定接下来应该选择哪条道路? 为了解释这一问题,以预测房价的学习例子.假如我们已经得到学习参数以后,要将我们的假设函数放到一组新的房屋样本上进行测试,这个时候我们会发现在预测房价时,产生了巨大的误差,现在我们的问题是要想改进这个算法接下来应该怎么办? 实际上我们可以想出很多种方法来改进算法的性能,其中一种办法是使用更多的训练样本.具体来讲,通过电话调查.上门调查,获取更多的不同的房屋出售数据.遗憾的是,好多人花费了大量…
下图为四种不同算法应用在不同大小数据量时的表现,可以看出,随着数据量的增大,算法的表现趋于接近.即不管多么糟糕的算法,数据量非常大的时候,算法表现也可以很好. 数据量很大时,学习算法表现比较好的原理: 使用比较大的训练集(意味着不可能过拟合),此时方差会比较低:此时,如果在逻辑回归或者线性回归模型中加入很多参数以及层数的话,则偏差会很低.综合起来,这会是一个很好的高性能的学习算法.…
一般来说,召回率和查准率的关系如下:1.如果需要很高的置信度的话,查准率会很高,相应的召回率很低:2.如果需要避免假阴性的话,召回率会很高,查准率会很低.下图右边显示的是召回率和查准率在一个学习算法中的关系.值得注意的是,没有一个学习算法是能同时保证高查准率和召回率的,要高查准率还是高召回率,取决于自己的需求.此外,查准率和召回率之间的关系曲线可以是多样性,不一定是图示的形状. 如何取舍查准率和召回率数值: 一开始提出来的算法有取查准率和召回率的平均值,如下面的公式average=(P+R)/2…
上篇文章提到了误差分析以及设定误差度量值的重要性.那就是设定某个实数来评估学习算法并衡量它的表现.有了算法的评估和误差度量值,有一件重要的事情要注意,就是使用一个合适的误差度量值,有时会对学习算法造成非常微妙的影响.这类问题就是偏斜类(skewed classes)的问题.什么意思呢.以癌症分类为例,我们拥有内科病人的特征变量,并希望知道他们是否患有癌症,这就像恶性与良性肿瘤的分类问题.假设y=1表示患者患有癌症,假设y=0表示没有得癌症,然后训练逻辑回归模型.假设用测试集检验了这个分类模型,并…
当我们在进行机器学习时着重要考虑什么问题.以垃圾邮件分类为例子.假如你想建立一个垃圾邮件分类器,看这些垃圾邮件与非垃圾邮件的例子.左边这封邮件想向你推销东西.注意这封垃圾邮件有意的拼错一些单词,就像Med1cine中有一个1,m0rtgage里有个0.右边的邮件显然不是一个垃圾邮件. 假设我们已经有一些加过标签的训练集,比如标注垃圾邮件为y=1,和非垃圾邮件为y=0.那么如何用监督学习的方法来构造一个分类器,区分垃圾邮件和非垃圾邮件呢?为了应用监督学习,首先必须确定的是,如何用邮件的特征构造向量…