Andrew NG 机器学习编程作业5 Octave】的更多相关文章

问题描述:根据水库中蓄水标线(water level) 使用正则化的线性回归模型预 水流量(water flowing out of dam),然后 debug 学习算法 以及 讨论偏差和方差对 该线性回归模型的影响 ①可视化数据集 本作业的数据集分成三部分: ⓐ训练集(training set),样本矩阵(训练集):X,结果标签(label of result)向量 y ⓑ交叉验证集(cross validation set),确定正则化参数 Xval 和 yval ⓒ测试集(test set…
问题描述:利用BP神经网络对识别阿拉伯数字(0-9) 训练数据集(training set)如下:一共有5000个训练实例(training instance),每个训练实例是一个400维特征的列向量(20*20 pixel image).用 X 矩阵表示整个训练集,则 X 是一个 5000*400 (5000行 400列)的矩阵 另外,还有一个5000*1的列向量 y ,用来标记训练数据集的结果. 模型表示 我们使用三层的神经网络模型:输入层.一个隐藏层.和输出层.将训练数据集矩阵 X 中的每…
问题描述:使用逻辑回归(logistic regression)和神经网络(neural networks)识别手写的阿拉伯数字(0-9) 一.逻辑回归实现: 数据加载到octave中,如下图所示: ①样本数据的可视化 随机选择100个样本数据,使用Octave可视化的结果如下: ②使用逻辑回归来实现多分类问题(one-vs-all) 所谓多分类问题,是指分类的结果为三类以上.比如,预测明天的天气结果为三类:晴(用y==1表示).阴(用y==2表示).雨(用y==3表示) 分类的思想,其实与逻辑…
问题描述:用逻辑回归根据学生的考试成绩来判断该学生是否可以入学 这里的训练数据(training instance)是学生的两次考试成绩,以及TA是否能够入学的决定(y=0表示成绩不合格,不予录取:y=1表示录取) 因此,需要根据trainging set 训练出一个classification model.然后,拿着这个classification model 来评估新学生能否入学. 训练数据的成绩样例如下:第一列表示第一次考试成绩,第二列表示第二次考试成绩,第三列表示入学结果(0--不能入学…
问题描述:使用SVM(支持向量机 )实现一个垃圾邮件分类器. 在开始之前,先简单介绍一下SVM ①从逻辑回归的 cost function 到SVM 的 cost function 逻辑回归的假设函数如下: hθ(x)取值范围为[0,1],约定hθ(x)>=0.5,也即θT·x  >=0时,y=1:比如hθ(x)=0.6,此时表示有60%的概率相信 y 等于1 显然,要想让y取值为1,hθ(x)越大越好,因为hθ(x)越大,y 取值为1的概率也就越大,也即:更好把握相信 y 等于1.而要想hθ…
课程笔记 Coursera—Andrew Ng机器学习—课程笔记 Lecture 9_Neural Networks learning 作业说明 Exercise 4,Week 5,实现反向传播 backpropagation神经网络算法, 对图片中手写数字 0-9 进行识别. 数据集 :ex4data1.mat.手写数字图片数据,5000个样例.每张图片20px * 20px,也就是一共400个特征.数据集X维度为5000 * 400 ex4weights.mat.神经网络每一层的权重. 文件…
编程作业有两个文件 1.machine-learning-live-scripts(此为脚本文件方便作业) 2.machine-learning-ex1(此为作业文件) 将这两个文件解压拖入matlab工作区内并将machine-learning-live-scripts内的ex1.mlx拖入到machine-learning-ex1\ex1中 在命令提示符区输入subimit命令,并填写邮箱与提交凭证来提交作业. 1.A simple MATLAB function 修改warmUpExerc…
编程作业文件: machine-learning-ex2 1. Logistic Regression (逻辑回归) 有之前学生的数据,建立逻辑回归模型预测,根据两次考试结果预测一个学生是否有资格被大学录取. 载入学生数据,第1,2列分别为两次考试结果,第3列为录取情况. % Load Data % The first two columns contain the exam scores and the third column contains the label. data = load(…
作业文件: machine-learning-ex5 1. 正则化线性回归 在本次练习的前半部分,我们将会正则化的线性回归模型来利用水库中水位的变化预测流出大坝的水量,后半部分我们对调试的学习算法进行了诊断,并检查了偏差和方差的影响. 1.1 可视化数据集 x表示水位变化,y表示水流量.整个数据集分成三个部分 模型的训练集,用来从X,y中学习参数. 交叉验证集,从Xval, yval中决定正则化参数 测试集,用来预测的样本,从数据集为 Xtest, ytest. 绘制的图像如图1 1.2 正则化…
作业: machine-learning-ex6 1. 支持向量机(Support Vector Machines) 在这节,我们将使用支持向量机来处理二维数据.通过实验将会帮助我们获得一个直观感受SVM是怎样工作的.以及如何使用高斯核(Gaussian kernel ).下一节我们将使用SVM建立一个垃圾邮件分类器. 1.1 样本数据1 以二维线性可分数据开始.下面代码部分将会可视化此数据集如图1所示.在这个数据集中,正样本使签为1使用+表示,负样本标签为0使用o表示,由一条间隙隔开.注意有一…
作业文件: machine-learning-ex4 1. 神经网络 在之前的练习中,我们已经实现了神经网络的前反馈传播算法,并且使用这个算法通过作业给的参数值预测了手写体数字.这个练习中,我们将实现反响传播算法来学习神经网络的参数. 1.1 可视化数据 这一节的代码将会加载数据,并且以二维的格式展现出来.运行代码会将训练集加载到变量X与y中. load('ex4data1.mat'); m = size(X, 1); % Randomly select 100 data points to d…
作业文件 machine-learning-ex3 1. 多类分类(Multi-class Classification) 在这一部分练习,我们将会使用逻辑回归和神经网络两种方法来识别手写体数字0到9.手写体数字自动识别在今天有很 广泛的应用.这个联系将会向我们展示我们学习到的方法是如何应用到这个分类任务的.我们可以拓展我们之前实现的逻辑回归方法,并应用到一对多的分类任务. 1.1 数据集 在 ex3data1.mat文件中有给定的手写体数字的数据集,里面有5000个训练样本..mat格式数据表…
作业说明 Exercise 1,Week 2,使用Octave实现线性回归模型.数据集  ex1data1.txt ,ex1data2.txt 单变量线性回归必须实现,实现代价函数计算Computing Cost 和 梯度下降Gradient Descent. 多变量线性回归可选,实现 特征Feature Normalization.代价函数计算Computing Cost . 梯度下降Gradient Descent  和 Normal Equations . 文件清单 ex1.m ex1_m…
作业说明 Exercise 2,Week 3,使用Octave实现逻辑回归模型.数据集  ex2data1.txt ,ex2data2.txt 实现 Sigmoid .代价函数计算Computing Cost 和 梯度下降Gradient Descent. 文件清单 ex2.m - Octave/MATLAB script that steps you through the exercise ex2 reg.m - Octave/MATLAB script for the later part…
作业说明 Exercise 3,Week 4,使用Octave实现图片中手写数字 0-9 的识别,采用两种方式(1)多分类逻辑回归(2)多分类神经网络.对比结果. (1)多分类逻辑回归:实现 lrCostFunction 计算代价和梯度.实现 OneVsAll 使用 fmincg 函数进行训练.使用 OneVsAll 里训练好的 theta 对 X 的数据类型进行预测,得到平均准确率. (2)多分类神经网络:两层 theta 权重值在 ex3weights 里已提供.参数不需要调,只需要在 pr…
作业文件 machine-learning-ex8 在本次练习,第一节我们将实现异常检测算法,并把它应用到检测网络故障服务器上.在第二部分,我们将使用协同过滤来构建电影推荐系统. 1. 异常检测 在这节练习,我们将实现一个异常检测算法来检测服务器电脑异常行为.特征衡量的是每个服务器的吞吐量和延迟.当服务器运行的时候,我们收集到了m=307个样本.因此就有了一个无标签的数据集.我们假定大多数的样本都是正常的(没有异常的).但是可能有一些异常样本. 我们将使用高斯模型来检测我们数据集的异常样本.我们…
作业文件 machine-learning-ex7 1. K-means聚类 在这节练习中,我们将实现K-means聚类,并将其应用到图片压缩上.我们首先 从二维数据开始,获得一个直观的感受K-means算法是如何工作的.之后我们将K-means算法应用到图片压缩上,通过减少出现在图片上的颜色的数量. 1.1 实现K-means K-means算法是一种聚类算法,自动将相似的的数据聚成一类.具体来说,给定一个数据集,我们想要将这些数据集聚成一个个簇,K-means的一个直观理解就是从猜测初始聚类…
本作业使用逻辑回归(logistic regression)和神经网络(neural networks)识别手写的阿拉伯数字(0-9) 关于逻辑回归的一个编程练习,可参考:http://www.cnblogs.com/hapjin/p/6078530.html 下面使用逻辑回归实现多分类问题:识别手写的阿拉伯数字(0-9),使用神经网络实现:识别手写的阿拉伯数字(0-9),请参考:神经网络实现 数据加载到Matlab中的格式如下: 一共有5000个训练样本,每个训练样本是400维的列向量(20X…
机器学习的定义 Arthur Samuel给出的定义,Field of Study that gives computers the ability to learn without being explicitly programmed.(在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域) Tom Mitchell给出的定义,A computer program is said to learn from experience E with respect to some t…
Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录Andrew Ng课程第四章和第五章的神经网络,主要介绍前向传播算法,反向传播算法,神经网络的多类分类,梯度校验,参数随机初始化,参数的更新等等 1.神经网络概述…
Andrew Ng机器学习课程笔记(一)之线性回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录了Andrew Ng课程第一章线性回归,主要介绍了梯度下降法,正规方程,损失函数,特征缩放,学习率的选择等等 1.梯度下降法 原理图解: (1)  目标:最小化建立…
Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录了Andrew Ng课程第五章应用机器学习的建议,主要介绍了在测试新数据出现较大误差该怎么处理,这期间讲到了数据集的分类,偏差,方差,学习曲线等概念,帮…
title: Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归) tags: 机器学习, 学习笔记 grammar_cjkRuby: true --- 之前看过一遍,但是总是模模糊糊的感觉,也刚入门,虽然现在也是入门,但是对于一些概念已经有了比较深的认识(相对于最开始学习机器学习的时候).所以为了打好基础,决定再次学习一下Andrew Ng的课程,并记录笔记以供以后复习参考. 1. 内容概要 Introduction 什么是机器学习 监督学习 非监督学习 Linear R…
笔记总结,各章节主要内容已总结在标题之中 Andrew Ng机器学习课程笔记–week1(机器学习简介&线性回归模型) Andrew Ng机器学习课程笔记--week2(多元线性回归&正规公式) Andrew Ng机器学习课程笔记--week3(逻辑回归&正则化参数) Andrew Ng机器学习课程笔记--week4(神经网络) Andrew Ng机器学习课程笔记--week5(上)(神经网络损失函数&反向传播算法) Andrew Ng机器学习课程笔记--week5(下)(…
Andrew Ng机器学习课程笔记(六)之 机器学习系统的设计 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7392408.html 前言 这篇博客主要记录了Andrew Ng课程第6章机器学习系统的设计,Andrew用他的丰富经验讲述了如何有效.耗时少地实现一个机器学习系统,内容包括误差分析,误差度量,查准率和查全率等等 I 首先要做什么 以一个垃圾邮件分类器算法为例,为了解决这样一个问题,我们首先要做的决定是如何选择并…
Andrew Ng机器学习课程笔记(三)之正则化 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365475.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录Andrew Ng课程第三章正则化,主要介绍了线性回归和逻辑回归中,怎样去解决欠拟合和过拟合的问题 简要介绍:在进行线性回归或逻辑回归时,常常会出现以下三种情况 回归…
Andrew Ng机器学习课程笔记(二)之逻辑回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364636.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录了Andrew Ng课程第二章逻辑回归,主要介绍了梯度下降法,逻辑回归的损失函数,多类别分类等等 简要介绍:逻辑回归算法是分类算法,我们将它作为分类算法使用.有时候…
Andrew Ng机器学习课程6 说明 在前面尾随者台大机器学习基石课程和机器学习技法课程的设置,对机器学习所涉及到的大部分的知识有了一个较为全面的了解,可是对于没有动手敲代码并加以使用的情况,基本上是不可能掌握好的.特别是我的学习进程是袭击式的,因此.会非常快忘掉.心中仅仅剩下一个主要的纲要,所以后面要通过解说更为具体的Andrew Ng教授的机器学习课程进行回想和总结,希望能够抓住它的来龙去脉. 所以总结的内容主要是推导的思路.仅仅要能够把握住思路,就能保持长久的记忆. 主要内容 朴素贝叶斯…
Andrew Ng机器学习课程10补充 VC dimension 讲到了如果通过最小化训练误差,使用一个具有d个参数的hypothesis class进行学习,为了学习好,一般需要参数d的线性关系个训练样本.到这里需要指出一点,这个结果是基于empirical risk minimization得到的,而对于那些大部分的discriminative的学习算法采用的通过最小化training error或者training error的近似值,前面推导的结论并不总是可以用,而对于non_ERM 学…
Andrew Ng机器学习课程10 a example 如果hypothesis set中的hypothesis是由d个real number决定的,那么用64位的计算机数据表示的话,那么模型的个数一共有k=264d,那么训练样本的数量由上一节课的公式可推出训练样本的数量为: m≥O(dγ2log1δ) .为保证ERM在这样的hypothesis set上能够达到一定的error bound,训练样本的数量需要达到上式得要求. VC dimension 假定有d个点的数据集S,hypothesi…