精华内容
下载资源
问答
  • 更多相关内容
  • 正则化的逻辑回归 原始的逻辑回归代价函数为: 正则化后的J变成了(注意式子的加号右侧,排除了θ0): 梯度下降变成了: 总结 吴恩达说,至此,学了线性回归、逻辑回归、高级优化算法、正则化,对于机器学习你已经...

    分类问题

    例如对肿瘤的分类问题:
    0:良性
    1:恶性

    二元分类问题(binary classification problem)只需要两个结果:0和1。有时候也用-和+表示,所以y(i) 也被称为标签。

    逻辑回归

    一些术语:

    asymptotes 渐近线

    使用sigmoid函数g(z)将线性函数h(x)的值域映射到(0, 1),
    在这里插入图片描述
    g(z)的函数图:
    在这里插入图片描述

    新的h(x)就表示结果为1的概率

    例如肿瘤分类的例子,假如hθ (x) = 0.7,就表示输出结果为1,即肿瘤为恶性的概率为70%。

    相应的,输出结果为0,即肿瘤为良性的概率为30%:

    在这里插入图片描述

    决策边界(Decision Boundary)

    使用了sigmoid函数,其实目标就转化为,找出一个线性函数hθ(x):

    • 当h > 0时,判断为1
    • 当h < 0时,判断为0

    当只有一维特征时,可以画一条竖线;

    当有两维特征时,可以画一条斜线:

    在这里插入图片描述
    或者更复杂的,画一个曲线范围:
    在这里插入图片描述
    h(x)就是决策边界。

    代价函数

    sigmoid函数的均方差代价函数非凸的(下面左图),所以无法保证到达全局最优。

    在这里插入图片描述
    所以,应该给它专门设计一个代价函数:
    在这里插入图片描述
    当y=1时,代价函数如下图。

    h=1时,代价为0; (命中了)

    h->0时,代价->∞;(错的越远,惩罚越大)
    在这里插入图片描述
    当y=0时,代价函数如下图。

    h=0时,代价为0; (命中了)

    h->1时,代价->∞;(错的越远,惩罚越大)
    在这里插入代码片

    代价函数简化

    上面的两个代价函数,可以合并为以下蓝色字体的函数:
    在这里插入图片描述
    此时的代价函数如下图中的J。

    此时的梯度下降,根据 principal of maximum likelihood estimation: 最大似然估计定理(此处不深究),求得每次迭代过程如下。

    在这里插入图片描述
    尽管每次迭代的delta看起来和线性回归很像,但其实由于h(x)不同,它们也不相同:
    在这里插入图片描述

    向量化计算

    向量化的代价函数计算:
    在这里插入图片描述

    向量化的梯度下降计算方法是:
    在这里插入图片描述

    优化算法

    为了找到假设函数最优的θ值,除了梯度下降,还有一些优化算法,效率更高,无需选择α,缺点就是比较复杂,比如:

    • Conjugate gradient
    • BFGS
    • L-BFGS

    和梯度下降一样,它们的输入是下面两个函数:
    J
    一般写个函数来返回上面两个函数:

    function [jVal, gradient] = costFunction(theta)
      jVal = [...code to compute J(theta)...];
      gradient = [...code to compute derivative of J(theta)...];
    end
    

    然后用fminunc()方法,结合参数配置方法optimset(),就能输出最优的θ:

    options = optimset('GradObj', 'on', 'MaxIter', 100);
    initialTheta = zeros(2,1);
       [optTheta, functionVal, exitFlag] = fminunc(@costFunction, initialTheta, options);
    
    

    吴恩达大佬说了,不用非得搞懂这些算法,会用就行。

    多类别分类

    one-vs-all

    将n分类问题,转化为n个2分类问题,训练出n个h(x)

    在这里插入图片描述
    此时给定一个x,求出所有的h(x),取其中最大的作为它的分类。

    过拟合和正则化

    欠拟合(图一):假设函数不够合适,结果误差较大,high bias。J比较大。

    过拟合(图三):过度契合训练集,预测结果也不好,high variance。J能约等于0,但泛化能力差。

    在这里插入图片描述
    在这里插入图片描述
    为解决过拟合,有两个选择:

    1. 减少特征数量:手工减少,或用模型选择算法
    2. 正则化(regularization):保留所有特征,但减少θ的量级,在特征数量较多时表现良好

    对于相关性较小的特征,可以把它们加入代价函数,以便惩罚它们,让它们尽可能接近0:
    在这里插入图片描述

    但我们怎么知道哪些特征需要惩罚呢?干脆一起加入代价函数(除了θ0):

    在这里插入图片描述
    λ是正则化参数,决定了θ带来的代价高低。

    假如λ过大会怎么样呢?θ1~n全都趋于0,h(x)趋于一条水平线,会变得欠拟合:

    在这里插入图片描述
    通过正则化,能将目标函数变得平滑,一定程度解决过拟合问题。

    带正则化的梯度下降

    在这里插入图片描述
    对每个θ的下降过程变成了:
    在这里插入图片描述
    由于 α * λ / m 为正,通常α也比较小,就相当于只是将θ做了额外的一些缩减,梯度下降法仍能正常运转。

    带正则化的正态方程

    正则方程变成了:
    在这里插入图片描述
    没有正则化时,当 m <= n,即样本数小于特征数时,XTX不可逆。

    但正则化后,XTX + λ * L就变得可逆了。所以正则化能拯救正态方程。

    正则化的逻辑回归

    在这里插入图片描述
    原始的逻辑回归代价函数为:
    在这里插入图片描述
    正则化后的J变成了(注意式子的加号右侧,排除了θ0):
    在这里插入图片描述
    梯度下降变成了:
    在这里插入图片描述

    总结

    吴恩达说,至此,学了线性回归、逻辑回归、高级优化算法、正则化,对于机器学习你已经比很多硅谷大佬懂得多了…恭喜!

    作业

    plotData.m

    function plotData(X, y)
    %PLOTDATA Plots the data points X and y into a new figure 
    %   PLOTDATA(x,y) plots the data points with + for the positive examples
    %   and o for the negative examples. X is assumed to be a Mx2 matrix.
    
    % Create New Figure
    figure; hold on;
    
    % ====================== YOUR CODE HERE ======================
    % Instructions: Plot the positive and negative examples on a
    %               2D plot, using the option 'k+' for the positive
    %               examples and 'ko' for the negative examples.
    %
    
    
    % Find Indices of Positive and Negative Examples
    pos = find(y==1); neg = find(y == 0);
    % Plot Examples
    plot(X(pos, 1), X(pos, 2), 'k+','LineWidth', 2, ...
         'MarkerSize', 7);
    plot(X(neg, 1), X(neg, 2), 'ko', 'MarkerFaceColor', 'y', ...
         'MarkerSize', 7);
    
    
    % =========================================================================
    
    
    
    hold off;
    
    end
    
    

    sigmoid.m

    function g = sigmoid(z)
    %SIGMOID Compute sigmoid function
    %   g = SIGMOID(z) computes the sigmoid of z.
    
    % You need to return the following variables correctly 
    %g = zeros(size(z));
    
    % ====================== YOUR CODE HERE ======================
    % Instructions: Compute the sigmoid of each value of z (z can be a matrix,
    %               vector or scalar).
    
    
    g = 1 ./ (1 + exp(-z))
    
    % =============================================================
    
    end
    
    

    costFunction.m

    function [J, grad] = costFunction(theta, X, y)
    %COSTFUNCTION Compute cost and gradient for logistic regression
    %   J = COSTFUNCTION(theta, X, y) computes the cost of using theta as the
    %   parameter for logistic regression and the gradient of the cost
    %   w.r.t. to the parameters.
    
    % Initialize some useful values
    m = length(y); % number of training examples
    
    % You need to return the following variables correctly 
    % J = 0;
    % grad = zeros(size(theta));
    
    % ====================== YOUR CODE HERE ======================
    % Instructions: Compute the cost of a particular choice of theta.
    %               You should set J to the cost.
    %               Compute the partial derivatives and set grad to the partial
    %               derivatives of the cost w.r.t. each parameter in theta
    %
    % Note: grad should have the same dimensions as theta
    %
    hx = sigmoid(X * theta)
    J = (-y'*log(hx)-(1-y)'*log(1-hx)) / m
    grad = X' * (hx - y) / m
    
    % =============================================================
    
    end
    
    

    predict.m

    function p = predict(theta, X)
    %PREDICT Predict whether the label is 0 or 1 using learned logistic 
    %regression parameters theta
    %   p = PREDICT(theta, X) computes the predictions for X using a 
    %   threshold at 0.5 (i.e., if sigmoid(theta'*x) >= 0.5, predict 1)
    
    m = size(X, 1); % Number of training examples
    
    % You need to return the following variables correctly
    % p = zeros(m, 1);
    
    % ====================== YOUR CODE HERE ======================
    % Instructions: Complete the following code to make predictions using
    %               your learned logistic regression parameters. 
    %               You should set p to a vector of 0's and 1's
    %
    
    p = X * theta > 0
    % =========================================================================
    
    end
    
    

    costFunctionReg.m

    function [J, grad] = costFunctionReg(theta, X, y, lambda)
    %COSTFUNCTIONREG Compute cost and gradient for logistic regression with regularization
    %   J = COSTFUNCTIONREG(theta, X, y, lambda) computes the cost of using
    %   theta as the parameter for regularized logistic regression and the
    %   gradient of the cost w.r.t. to the parameters. 
    
    % Initialize some useful values
    m = length(y); % number of training examples
    
    % You need to return the following variables correctly 
    %J = 0;
    %grad = zeros(size(theta));
    
    % ====================== YOUR CODE HERE ======================
    % Instructions: Compute the cost of a particular choice of theta.
    %               You should set J to the cost.
    %               Compute the partial derivatives and set grad to the partial
    %               derivatives of the cost w.r.t. each parameter in theta
    n = length(theta)
    hx = sigmoid(X * theta)
    %J = (-y'*log(hx)-(1-y)'*log(1-hx)) / m + lambda * (theta(2:n)'*theta(2:n)) / 2 / m 
    J = (-y'*log(hx)-(1-y)'*log(1-hx)) / m + lambda * (theta(2:n)'*theta(2:n)) / 2 / m 
    grad0 = X(:,1)' * (hx - y) / m
    grad1 = X(:,2:n)' * (hx - y) / m + lambda * theta(2:n) / m
    grad = [grad0;grad1]
    % =============================================================
    
    end
    
    

    分类结果

    ex2.m的划分结果如下:
    在这里插入图片描述
    ex2_reg.m的划分结果如下:
    在这里插入图片描述

    展开全文
  • 机器学习吴恩达week2编程作业
  • 吴恩达机器学习EX7答案,自己做的,大家可以参考参考,运行通过! 吴恩达机器学习EX7答案,自己做的,大家可以参考参考,运行通过!
  • 压缩包内含吴恩达老师《Machine Learning》课程第八周的编程作业ex7所需完成的六个m文件,解压放进课程作业原始压缩包中即可。压缩包中所有编程作业均为本人独立完成,并尽量使用向量化计算,全部满分通过。
  • Large Margin Classification Optimization Objective svm: Large margin intuition Mathematics Behind Large ...定义决策边界对应的函数是Θ0+Θ1f1+Θ2f2+Θ3f3,其中f1、f2和f3就是相似度函数。 下图给定...

    Large Margin Classification

    Optimization Objective

    svm:在这里插入图片描述

    Large margin intuition

    在这里插入图片描述

    Mathematics Behind Large Margin Classification

    在这里插入图片描述

    在这里插入图片描述

    Kernels

    Kernels1

    定义决策边界对应的函数是Θ0+Θ1f1+Θ2f2+Θ3f3,其中f1、f2和f3就是相似度函数。

    在这里插入图片描述

    下图给定新的x点,计算该点与标记的3个标记点(landmark)l(1)、l(2)和l(3)之间的相似度f1、f2和f3。**相似度函数就是所谓的核函数。**在这里,就是高斯核函数,实际还有许多不同的核函数。这个相似度函数也可以写成K(x,l(i)),这里的x和l是向量。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    Kernels2

    如何得到l(1)、l(2)、l(3)等标记点(landmark):选取所有训练样本为标记点。这说明特征向量是在描述新样本距离每一个测试样本的距离。

    在这里插入图片描述

    已知Θ向量,如何对样本做出预测:给定x,计算特征向量f,只要当ΘTf>=0时就预测y=1,;否则,就预测y=0。其中的参数向量Θ是m+1维的(f0=1),这里有m+1个特征,额外的1是因为截距的原因。许多SVM软件包自动设置x0=1,自动设置截距Θ0。因此,实现SVM时,不用像逻辑回归那样添加x0=1这样的向量。

    在这里插入图片描述

    在这里插入图片描述

    SVMs in Practice

    Using an svm

    在这里插入图片描述

    如果选择高斯核函数,那么要实现函数来计算核函数的特定特征。注意,如果特征变量取值范围很不一样,在使用高斯核函数之前,对它们进行归一化是很重要的。
    在这里插入图片描述

    不常用的核函数如下:
    1.多项式核函数。k(x,l)=(xTl+b)^n(b为常数,n为指数),x和l很接近的时候,k(x,l)会很大。这个核函数有2个参数:b和n。效果要比高斯核函数差一些。用在x和l都是严格非负数的时候,保证两者的内积非负。
    2.字符串核函数。用于字符串相关,比如文本分类。
    3.卡方核函数。
    4.直方图交叉核函数。

    在这里插入图片描述

    1.多类分类问题。许多SVM软件包已经内置用于多类分类的函数,可以直接使用;也可以使用逻辑回归中提及的一对多的方法进行分类(k个类别,k个参数theta)。

    在这里插入图片描述

    实际上,SVM是一个凸优化问题,有全局最小值。有时候,选择模型确实重要,但更重要的是数据是否充足,是否熟练,是否擅长做误差分析和调试学习算法,如何设计新的特征变量等等。

    展开全文
  • 1.机器学习是什么? 2.监督学习 3.无监督学习 4.线性回归 5.代价函数 5.1 代价函数的直观理解1 5.2 代价函数的直观理解2 6.梯度下降 7.梯度下降的线性回归 8.线性代数回顾 8.1 矩阵和向量 8.2 加法和标量乘法 8.3 ...

    目录:

    1.机器学习是什么?
    2.监督学习
    3.无监督学习
    4.线性回归
    5.代价函数
    5.1 代价函数的直观理解1
    5.2 代价函数的直观理解2
    6.梯度下降
    7.梯度下降的线性回归
    8.线性代数回顾
    8.1 矩阵和向量
    8.2 加法和标量乘法
    8.3 矩阵向量乘法
    8.4 矩阵乘法
    8.5 矩阵乘法的性质
    8.6 逆、转置

    1.机器学习是什么?

    来自卡内基梅隆大学的Tom Mitchell定义的机器学习是,一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E后,经过P评判,程序在处理T时的性能有所提升。

    2.监督学习

    例如1:想预测房价。

    前阵子,一个学生从波特兰俄勒冈州的研究所收集了一些房价的数据。你把这些数据画出来,看起来是这个样子:横轴表示房子的面积,单位是平方英尺,纵轴表示房价,单位是千美元。

    那基于这组数据,假如你有一个朋友,他有一套750平方英尺房子,现在他希望把房子卖掉,他想知道这房子能卖多少钱。

    机器学习算法:
    在这里插入图片描述

    应用学习算法,可以在这组数据中画一条直线,或者换句话说,拟合一条直线,根据这条线我们可以推测出,这套房子可能卖$150,000,当然这不是唯一的算法。可能还有更好的,比如我们不用直线拟合这些数据,用二次方程去拟合可能效果会更好。根据二次方程的曲线,我们可以从这个点推测出,这套房子能卖接近$200,000。稍后我们将讨论如何选择学习算法,如何决定用直线还是二次方程来拟合。两个方案中有一个能让你朋友的房子出售得更合理。
    这些都是学习算法里面很好的例子。

    监督学习指的就是我们给学习算法一个数据集。这个数据集由“正确答案”组成。

    我们给定数据集中每个样本的正确价格,即它们实际的售价然后运用学习算法,算出更多的正确答案。比如你朋友那个新房子的价格。用术语来讲,这叫做回归问题。我们试着推测出一个连续值的结果,即房子的价格。

    例如2:推测乳腺癌良性与否。

    在这里插入图片描述

    这个数据集中,横轴表示肿瘤的大小,纵轴上,我标出1和0表示是或者不是恶性肿瘤。我们之前见过的肿瘤,如果是恶性则记为1,不是恶性,或者说良性记为0。

    我有5个良性肿瘤样本,在1的位置有5个恶性肿瘤样本。现在我们有一个朋友很不幸检查出乳腺肿瘤。假设说她的肿瘤大概这么大,那么机器学习的问题就在于,你能否估算出肿瘤是恶性的或是良性的概率。用术语来讲,这是一个分类问题

    分类指的是,我们试着推测出离散的输出值:0或1良性或恶性,

    在其它一些机器学习问题中,可能会遇到不止一种特征。举个例子,我们不仅知道肿瘤的尺寸,还知道对应患者的年龄。在其他机器学习问题中,我们通常有更多的特征,我朋友研究这个问题时,通常采用这些特征,比如肿块密度,肿瘤细胞尺寸的一致性和形状的一致性等等,还有一些其他的特征。这就是我们即将学到最有趣的学习算法之一。

    我们以后会讲一个算法,叫支持向量机,里面有一个巧妙的数学技巧,能让计算机处理无限多个特征。

    总结:

    监督学习。其基本思想是,我们数据集中的每个样本都有相应的“正确答案”。再根据这些样本作出预测,就像房子和肿瘤的例子中做的那样。我们还介绍了回归问题,即通过回归来推出一个连续的输出,之后我们介绍了分类问题,其目标是推出一组离散的结果。

    小测验:

    假设你经营着一家公司,你想开发学习算法来处理这两个问题:

    1.你有一大批同样的货物,想象一下,你有上千件一模一样的货物等待出售,这时你想预测接下来的三个月能卖多少件?
    2.你有许多客户,这时你想写一个软件来检验每一个用户的账户。对于每一个账户,你要判断它们是否曾经被盗过?

    问题一是一个回归问题,因为你知道,如果我有数千件货物,我会把它看成一个实数,一个连续的值。因此卖出的物品数,也是一个连续的值。

    问题二是一个分类问题,因为我会把预测的值,用 0 来表示账户未被盗,用 1 表示账户曾经被盗过。所以我们根据账号是否被盗过,把它们定为0 或 1,然后用算法推测一个账号是 0 还是 1,因为只有少数的离散值,所以我把它归为分类问题。

    3.无监督学习

    无监督学习中没有任何的标签或者是有相同的标签或者就是没标签。所以我们已知数据集,却不知如何处理,也未告知每个数据点是什么。

    无监督学习算法可能会把这些数据分成两个不同的簇。所以叫做聚类算法

    例如1:谷歌新闻。

    它再将这些新闻分组,组成有关联的新闻。所以谷歌新闻做的就是搜索非常多的新闻事件,自动地把它们聚类到一起。所以,这些新闻事件全是同一主题的,所以显示到一起。

    例如2:鸡尾酒宴问题。

    你可以想像下,有个宴会房间里满是人,全部坐着,都在聊天,这么多人同时在聊天,声音彼此重叠,因为每个人都在说话,同一时间都在说话,你几乎听不到你面前那人的声音。所以,可能在一个这样的鸡尾酒宴中的两个人,他俩同时都在说话,假设现在是在个有些小的鸡尾酒宴中。我们放两个麦克风在房间中,因为这些麦克风在两个地方,离说话人的距离不同每个麦克风记录下不同的声音,虽然是同样的两个说话人。听起来像是两份录音被叠加到一起,或是被归结到一起,产生了我们现在的这些录音。另外,这个算法还会区分出两个音频资源,这两个可以合成或合并成之前的录音。

    总结:

    无监督学习,它是学习策略,交给算法大量的数据,并让算法为我们从数据中找出某种结构。

    4.线性回归

    在监督学习中我们有一个数据集,这个数据集被称训练集。用小写的m来表示训练样本的数目。

    例如1:房屋交易。

    假使我们回归问题的训练集(Training Set)如下表所示:

    在这里插入图片描述
    我们将要用来描述这个回归问题的标记如下:

    m代表训练集中实例的数量

    x代表特征/输入变量

    y代表目标变量/输出变量

    (x,y)代表训练集中的实例

    (x^i, y^i) 代表第i个观察实例

    h代表学习算法的解决方案或函数也称为假设(hypothesis)

    在这里插入图片描述

    h代表hypothesis(假设),h表示一个函数,输入是房屋尺寸大小,就像你朋友想出售的房屋,因此h 根据输入的 x值来得出 y值, y值对应房子的价格 因此, h是一个从x 到y 的函数映射。

    一种可能的表达方式为:
    在这里插入图片描述
    ,因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题

    5.代价函数

    代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。

    我们将定义代价函数的概念,这有助于我们弄清楚如何把最有可能的直线与我们的数据相拟合。如图:

    在这里插入图片描述
    我们现在要做的便是为我们的模型选择合适的参数(parameters) θ0和θ1 ,在房价问题这个例子中便是直线的斜率和在y 轴上的截距。

    我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modeling error)

    在这里插入图片描述

    我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即使得代价函数
    在这里插入图片描述
    最小。

    我们绘制一个等高线图,三个坐标分别为θ0和θ1 和J(θ0,θ1):

    在这里插入图片描述
    则可以看出在三维空间中存在一个使得J(θ0,θ1)最小的点。

    5.1 代价函数的直观理解1

    在这里插入图片描述

    在这里插入图片描述

    5.2 代价函数的直观理解2

    通过以上等高线图,则可以看出在三维空间中存在一个使得J(θ0,θ1)最小的点。

    我们真正需要的是编写程序能够自动地找出能使代价函数J最小化的参数θ0和θ1的值。

    6.梯度下降

    梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数J(θ0,θ1) 的最小值

    梯度下降背后的思想是:开始时我们随机选择一个参数的组合(θ0,θ1,…,θn),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。

    在这里插入图片描述
    想象一下你正站立在山的这一点上,站立在你想象的公园这座红色山上,在梯度下降算法中,我们要做的就是旋转360度,看看我们的周围,并问自己要在某个方向上,用小碎步尽快下山。这些小碎步需要朝什么方向?如果我们站在山坡上的这一点,你看一下周围,你会发现最佳的下山方向,你再看看周围,然后再一次想想,我应该从什么方向迈着小碎步下山?然后你按照自己的判断又迈出一步,重复上面的步骤,从这个新的点,你环顾四周,并决定从什么方向将会最快下山,然后又迈进了一小步,并依此类推,直到你接近局部最低点的位置。

    **批量梯度下降(batch gradient descent)**算法的公式为:

    在这里插入图片描述
    其中α是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大。在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数。对θ赋值,使得按梯度下降最快方向进行,一直迭代下去,最终得到局部最小值。

    如果α太小的话,可能会很慢,因为它会一点点挪动,它会需要很多步才能到达全局最低点。

    如果α太大,它会导致无法收敛,甚至发散。

    在这里插入图片描述
    在梯度下降算法中,还有一个更微妙的问题,梯度下降中,我们要更新θ0和θ1 ,当 j=0和j=1时,会产生更新,所以你将更新J(θ0)和J(θ1)。实现梯度下降算法的微妙之处是,在这个表达式中,如果你要更新这个等式,你需要同时更新θ0和θ1,我的意思是在这个等式中,我们要这样更新:
    θ0 := θ0,θ1 := θ1。

    实现方法是:你应该计算公式右边的部分,通过那一部分计算出和的值,然后同时更新和。

    7.梯度下降的线性回归

    我们要将梯度下降和代价函数结合。我们将用到此算法,并将其应用于具体的拟合直线的线性回归算法里。

    梯度下降算法和线性回归算法比较如图:

    在这里插入图片描述

    对我们之前的线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即:

    在这里插入图片描述

    则算法改写成:

    在这里插入图片描述

    我们刚刚使用的算法,有时也称为批量梯度下降。指的是在梯度下降的每一步中,我们都用到了所有的训练样本,在梯度下降中,在计算微分求导项时,我们需要进行求和运算,所以,在每一个单独的梯度下降中,我们最终都要计算这样一个东西,这个项需要对所有个训练样本求和。因此,批量梯度下降法这个名字说明了我们需要考虑所有这一"批"训练样本,而事实上,有时也有其他类型的梯度下降法,不是这种"批量"型的,不考虑整个的训练集,而是每次只关注训练集中的一些小的子集。在后面的课程中,我们也将介绍这些方法。

    8.线性代数回顾

    ps:这一部分太基础,都是一些线性代数基础,可以网上找下资料。

    8.1 矩阵和向量
    8.2 加法和标量乘法
    8.3 矩阵向量乘法
    8.4 矩阵乘法
    8.5 矩阵乘法的性质
    8.6 逆、转置

    展开全文
  • 压缩包内含吴恩达老师《Machine Learning》课程第二周的编程作业ex1所需完成的四个m文件以及可选择完成的四个m文件。压缩包中所有编程作业均为本人独立完成,并尽量使用向量化计算,全部满分通过。
  • Evaluating learning algorithm Evaluating a Hypothesis Once we have done some trouble shooting for errors in our predictions by: Getting more training examples:Fixes high variance ...
  • ex4.m %% ================ Part 3: Compute Cost (Feedforward) ================ % To the neural network, you should first start by implementing the % feedforward part of the neural network that returns...
  • 3. one-vs-all oneVsAll.m function [all_theta] = oneVsAll(X, y, num_labels, lambda) %ONEVSALL trains multiple logistic regression classifiers and returns all %the classifiers in a matrix all_theta, ...
  • 吴恩达 机器学习 每周总结官方版 week1-week10 适合打印复习,和课上的讲义不同,这个更精准一点。适合打印。 我就是听完他的全部课程后,用这个打印纸制版,进行的复习。系统全面。
  • 文章目录*week3 多类分类 *week3 多类分类 对于此练习,我们将使用逻辑回归来识别手写数字(0到9)。 我们将扩展我们在练习2中写的逻辑回归的实现,并将其应用于一对一的分类。 让我们开始加载数据集。 它是在MATLAB...
  • 对于画决策边界的问题还有待学习,还没有画出来????‍♀️????‍♀️???? #!/usr/bin/env python 3.74 # -*-coding:utf-8 -*- #@Time: 2021/09/26 13:05:35 #@Author: zz #@File : .py #@Software : VScode #Week...
  • 比如图像识别问题,对50 * 50像素的图像,如果将每个像素作为特征,增加二次特征就会产生约3 * 10 ^ 6个特征(C22500 = 2500 * 2499 / 2) 这种情况下,若要使用普通逻辑回归学习所有特征,计算量就过大了。 此时用...
  • Andrew-Ng-ML 吴恩达机器学习 编程作业;If you are using Octave (>=3.8.0), or have an existing installation of MATLAB (), download this week’s programming assignment here. This ZIP-file contains the ...
  • 这是Coursera上 Week5 的ml-ex4的编程作业代码。经过测验,全部通过。 具体文件可以进入我的github 包括以下3个文件: % sigmoidGradient.m % randInitializeWeights.m % nnCostFunction.m sigmoidGradient....
  • 无监督学习 本周课程开始进入无监督学习。 一个重要应用是聚类问题: K-Means算法 随机找K个中心点(红×和蓝×),将样本标记为最近的中心点: 计算每个类别里样本的平均值(mean),作为新的中心点: 循环执行...
  • 1.吴恩达机器学习如何提交python作业并得到分数 2.week 2 编程作业——线性回归 python 代码 一、吴恩达机器学习如何提交python作业并得到分数 吴恩达机器学习课程有点老了,当时吴教授选的octave/matlab来编程,...
  • 2022吴恩达机器学习machine learning specialization第一部分week2的practice lab:Linear Regression
  • Coursera吴恩达机器学习week3的ex2编程作业代码

    千次阅读 热门讨论 2018-02-02 15:07:46
    这是Coursera上 Week3 的ml-ex2的编程作业代码。经过测验,全部通过。 具体文件可以进入我的github 包括以下5个文件: % plotData.m % sigmoid.m % costFunction.m % predict.m % costFunctionReg.m plotDat.....
  • 这是Coursera上 Week4 的ml-ex3的编程作业代码。经过测验,全部通过。 具体文件可以进入我的github 包括以下4个文件: % lrCostFunction.m (logistic regression cost function) % oneVsAll.m % ...
  • 3)Regularized linear regression LinearRegCostFunction.m function [J, grad] = linearRegCostFunction(X, y, theta, lambda) %LINEARREGCOSTFUNCTION Compute cost and gradient for regularized linear %...
  • 学习参考:吴恩达机器学习第一周 机器学习(Machine Learning) 机器学习是研究我们的计算机模拟或实现人类的学习行为,来获取新的知识或技能,并且重新组织这些新的知识来改善自身的性能。 按照训练样本标签的有无...
  • Andrew-Ng Machine learning吴恩达机器学习第四周编程全答案(包括无级测试点)week4
  • 吴恩达机器学习:week2

    2019-11-20 15:57:58
    title: ‘吴恩达机器学习:week2’ date: 2019-11-20 15:31:00 mathjax: true categories: 机器学习 tags: 机器学习 文章目录@[toc] 单变量线性回归(Linear Regression with One Variable)2.1 模型表示2.2 代价...
  • EX8estimateGaussianselectThresholdcofiCostFunc estimateGaussian function [mu sigma2] = estimateGaussian(X) %ESTIMATEGAUSSIAN This function estimates the parameters of a %Gaussian distribution using t...
  • 机器学习的定义 Arthur Samuel 传统定义 Arthur Samuel: “the field of study that gives computers the ability to learn without being explicitly programmed.” This is an older, informal definition. 让...
  • D3(:) ] 在函数里面,还原出各个矩阵: Theta1 = reshape(thetaVector(1:110),10,11) Theta2 = reshape(thetaVector(111:220),10,11) Theta3 = reshape(thetaVector(221:231),1,11) 在反向传播中的应用为: 梯度...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,555
精华内容 622
关键字:

吴恩达机器学习week3