机器学习
梅文化_2019
这个作者很懒,什么都没留下…
展开
-
吴恩达机器学习练习2:optimset和fminunc函数
在练习2中使用了到了两个函数:optimset和fminunc。% Set options for fminuncoptions = optimset('GradObj', 'on', 'MaxIter', 400);%set the GradObj option to on,which tells fminunc that our function%returns both the c...原创 2019-05-04 12:16:27 · 3021 阅读 · 0 评论 -
吴恩达机器学习ex8:推荐系统
1、电影评分数据集load ('ex8_movies.mat');该数据集包含两个矩阵,分别是矩阵Y和矩阵R,其维度均为1682943(ij)。Y(i,j)表示为第j个用户对第i个电影的评分,R中数据为0或1,R(i,j) = 1表示为第j个用户对第i个电影有评分,0表示为未评分。若需要对第1部电影的已有评分计算其平均分,则代码应为:mean(Y(1, R(1, :)));数据可视...原创 2019-07-08 11:08:13 · 807 阅读 · 0 评论 -
吴恩达机器学习ex7:PCA降维
主成分分析(principal component analysis, PCA)。1、样本1.1、样本数据集导入一个二维的数据集并显示,得到。>> load ('ex7data1.mat');>> plot(X(:, 1), X(:, 2), 'bo');>> axis([0.5 6.5 2 8]); axis square;1.2、执行PCA...原创 2019-07-02 15:25:43 · 513 阅读 · 0 评论 -
吴恩达机器学习ex7:K-means分类
1、K-means分类1.1、执行K-means算法K-means算法能够自动将相似的数据样本分为多个簇。其算法的步骤如下:% Initialize centroidscentroids = kMeansInitCentroids(X, K);for iter = 1:iterations% Cluster assignment step: Assign each data poin...原创 2019-07-02 08:33:32 · 837 阅读 · 0 评论 -
吴恩达机器学习ex6:支持向量机
1、支持向量机(support vector machines, SVMs)本小节使用SVM处理二维数据。1.1、数据集1使用二维数据集,其中数据可视化图形上用“+“表示y=1,用“o”表示y=0。代码:>> load('ex6data1.mat');>> plotData(X, y);共有数据m=51个,每个数据有n=2个特征值。SVM中损失函数为:...原创 2019-06-03 10:51:58 · 2104 阅读 · 0 评论 -
吴恩达机器学习ex5:正则化线性回归和方差与偏差
1、正则化线性回归1.1、数据集的可视化训练数据集:X表示水位变化的历史记录,y表示流出大坝的水量;交叉验证数据集:Xval,yval;测试数据集:Xtest,ytest;其中,训练数据集12组,交叉验证数据集21组,测试数据集21组。1.2、正则化线性回归损失函数不对theta0进行惩罚,lambda为正则化参数。补充函数linearRegCostFunction:J =...原创 2019-05-29 18:38:31 · 1074 阅读 · 0 评论 -
吴恩达机器学习:偏差与方差、欠拟合与过拟合
在吴恩达机器学习课程的第86课时中,讲解了偏差和方差与欠拟合和过拟合的关系。1、偏差与方差的概念先看下网上关于偏差与方差的例子。该例子可以理解为射击打靶。偏差指的是多次射击的平均环数与环心的偏差度,...原创 2019-05-28 16:31:34 · 985 阅读 · 0 评论 -
吴恩达机器学习练习4:神经网络学习(损失函数和正则化)
BP神经网络其信号是前向传播的,而在其计算其误差时是反向传播的。本练习小节是执行反向传播算法并且将其应用到手写数字的识别当中。1、神经网路在前面的训练中,可以根据提供了权重值来预测手写数字。在本练习中将使用反向传播算法来为神经网络学习权重参数。(1)数据的可视化load('ex4data1.mat');m = size(X, 1);% Randomly select 100 data...原创 2019-05-17 16:35:58 · 1958 阅读 · 0 评论 -
吴恩达机器学习练习3:Logistic regression(Multi-class Classification)
ex3的第一小节是扩充之前的logistic regression算法,并将其应用到多分类器中。1、数据集文件ex3data1.mat中包含了5000个手写数字训练样本,每个数字图像含有2020个灰度像素值,使用浮点数来代替每个位置的灰度级,每个图像存储为400维矢量。文件ex3data1.mat含有矩阵X和矢量y,其中X维度为5000400,y的维度为5000*1,每个训练样本(手写数字图像...原创 2019-05-10 10:55:26 · 1756 阅读 · 0 评论 -
吴恩达机器学习练习4:神经网络学习(反向传播)
在本小节,将使用反向传播算法来计算神经网络损失函数的梯度。1、S型函数梯度由前几节可知,sigmoid函数为:通过对S型函数求导,得到sigmoid的梯度为:则可以得到sigmoidGradient函数为:function g = sigmoidGradient(z)g = zeros(size(z));g = sigmoid(z).*(1-sigmoid(z));end...原创 2019-05-20 11:33:49 · 1390 阅读 · 0 评论 -
吴恩达机器学习练习3:Logistic regression(Feedforward propagation neural networks)
本小节使用前馈神经网络对上小节的5000个手写体进行识别。1、神经网络模型使用的前馈型神经网络有3层:一个输入层、一个隐藏层和一个输出层。每个手写体的大小为20×20,因此设计输入层单元数为400(除去额外基本单元1个),输出层为10(对应10个数字1-10)。设计隐藏层的单元数为25。其神经网络的模型如下:程序已经给定了训练得到的权重参数theta,存储在ex3data1.mat中。...原创 2019-05-14 10:55:23 · 490 阅读 · 0 评论 -
吴恩达机器学习训练2:Logistic回归
Logistic Regression问题实则为分类的问题Classification。1、数学模型由上图可知,由于最后是要求得y=1的概率,在线性回归的基础上增加了sigmoid函数,将z值映射到区间[0,1]。当z≥0时,g(z)≥0.5,可以推测y=1,否则y=0。故其决策边界即为z = theta’*X = 0.2、代价函数计算3、matlab编程(1)原始数据的可视化...原创 2019-05-01 14:49:28 · 512 阅读 · 0 评论 -
吴恩达机器学习训练1:线性回归(多变量)
吴恩达机器学习训练1:线性回归(多变量)本小节为练习1中选做题,为多变量(多特征参数)的线性回归计算。还是预测房价的例子,假设已经两个特征参数,分别是房子的尺寸和卧室的数量,在数据的第一列和第二列,数据的第三列为已经的房价。1、导入数据:data = load(‘ex1data2.txt’);X = data(:, 1:2);y =...原创 2019-04-30 14:34:32 · 681 阅读 · 0 评论 -
吴恩达机器学习训练1:线性回归(单变量)
吴恩达机器学习训练1:线性回归(单变量) 本小节主要讲解的是如何利用已知的数据进行简单的线性回归分析,主要分析了梯度下降法和正规方程法两种。线性回归分析即利用多项式函数逼近已知数据,常用来预测。例如,当已知某地区房子大小、房间数、地理位置等信息以及该房子的价格时,就可以用来预测其它房子的价格。将房子大小、房间数、地理位置作为特征参数,用矩...原创 2019-04-30 10:58:00 · 521 阅读 · 0 评论 -
吴恩达机器学习练习2:Regularized logistic regression
本小节主要练习正则化logistic分类。1、原始数据的可视化data = load('ex2data2.txt');%将数据导入data中X = data(:, [1, 2]); y = data(:, 3);%读取data的第1、2列为输入X,第3列为输出y(y=0或y=1)plotData(X, y);%调用plotData函数绘图hold on;xlabel('Microchi...原创 2019-05-05 10:30:19 · 789 阅读 · 0 评论 -
吴恩达机器学习ex8:异常检测
数据集ex8data1.mat中给出了m=307个样本,其表示的是服务器电脑特征值,第1个特征值表示的是吞吐量,第2个特征值表示的是延迟。需要做的是从这些无标签数据中,找出异常数据。其数据的可视化为:1、高斯分布高斯分布函数为:其中mu表示的是高斯分布的平均值即期望,sigma表示的是高斯分布的标准差。2、高斯分布的参数估计使用最大似然法进行参数估计有:补充完整[mu sig...原创 2019-07-03 11:19:47 · 415 阅读 · 0 评论