04 2020 档案
摘要:在本节中,我们将学习假设陈述。也就是,当有一个分类问题的时候,我们要使用哪个方程表示我们的假设。此前我们说过,希望我们的分类器的输出值在0和1之间。因此,我们希望想出一个满足它的预测值要在0和1之间的假设。 当我们使用线性回归的时候,假设形式为hθ(x)=θTx。对于逻辑回归,hθ(x)=g(θTx
阅读全文
摘要:在这节以及接下来几节中,我们要开始讨论分类问题。这节将告诉我们为什么对于分类问题来说,使用线性回归并不是一个好主意。 在分类问题中,你要预测的变量y是一个离散的值,我们将学习一种叫做逻辑回归(Logistic Regression)的算法,这是当今最流行、使用最广泛的学习算法之一。 分类问题的例子有
阅读全文
摘要:现在其实有很多关于机器学习的课程,但是最经典的还是吴恩达2014机器学习的课程。 课程地址:https://www.coursera.org/course/ml 这是我自己在学习过程中的笔记,争取每天都更新。 目录 一、引言 1.1欢迎 1.2机器学习是什么? 1.3监督学习 1.4无监督学习 二、
阅读全文
摘要:在这节中,我们将学习有关向量化的内容。无论你是用Ocatve,还是别的语言,比如MATLAB或者你正在用Python、NumPy 或Java、C、C++,所有这些语言都具有内置的,容易阅读和获取的各种线性代数库,它们通常写得很好,已经经过高度优化,通常是数值计算方面的博士或者专业人士开发的。而当你实
阅读全文
摘要:在本节中,我们将学习如何为Octave程序写控制语句。 首先,我们先学习如何使用for循环。我们将v设为一个10行1列的零向量。 接着,我们写一个for循环,让i等于1到10。写出来就是for i = 1:10。我要设v(i)的值等于2 的i次方,即输入 v(i) = 2^i ,循环的最后要记得写上
阅读全文
摘要:当开发学习算法时,往往几个简单的图,可以让你更好地理解算法的内容,并且可以完整地检查下算法是否正常运行,是否达到了算法的目的。例如在之前的课程中,学了如何绘制成本函数J(θ),可以帮助确认梯度下降算法是否收敛。通常情况下,绘制数据或学习算法所有输出,也会启发如何改进学习算法。幸运的是,Octave有
阅读全文
摘要:在这节中,我们将学习如何对数据进行运算操作。接下来,我们将会使用这些运算操作来实现我们的学习算法。 我现在快速地初始化一些变量。比如设置A为一个3x2的矩阵,B为一个3x2的矩阵,c为一个2x2的矩阵。 我想算两个矩阵的乘积,比如计算AxC,只需输入A*C,这是一个3x2矩阵乘以2x2矩阵,得到这样
阅读全文
摘要:在这节中将介绍如何在Ocatve中移动数据。如果你有些机器学习问题的数据,你如何将这些数据加载到Ocatve中?怎么把数据存入矩阵中?怎么对矩阵进行操作?如何保存计算结果?如何移动这些数据然后对它们进行操作? 首先我们让A = [ 1 2 ; 3 4 ; 5 6 ],我们会得到一个3x2矩阵,我们可
阅读全文
摘要:在这一章中我们将学习一些Octave编程语言。我们可以通过它迅速实现我们已经学过的或者后面要学的机器学习算法。 在这节中,我们将学习一系列的Octave的命令。 首先,我们先要打开Ocatve,接着我们输入一些简单的式子,可以看到我们很快就能得到结果。 除了这些,我们还可以做一些逻辑运算。例如,1=
阅读全文
摘要:上节中,我们讲了正规方程。在这节中,我们将学习正规方程以及不可逆性。本节的概念较为深入,所以可以将它看作是选学材料。 我们要讨论的问题如下: 当我们计算θ=(XTX)-1XTy的时候,万一矩阵XTX是不可逆的话怎么办? 如果懂一点线性代数的知识,我们就会知道有些矩阵可逆,而有些矩阵不可逆。我们称不可
阅读全文
摘要:到目前为止,我们一直在使用梯度下降法来求解(通过一步步迭代来收敛到全局最小值)。相反地,正规方程提供的一种求解θ的解法。所以我们不再需要运行迭代算法,而是可以直接一次性求解θ的最优值。 事实上,正规方程也有优点,也有一些缺点。但在讲它的优缺点和如何使用正规方程之前,让我们先对这个算法有一个直观的理解
阅读全文
摘要:通过之前的学习,我们知道多变量的线性回归。在这节中,将介绍一些可供选择的特征以及如何得到不同的学习算法。当选择了合适的特征后,这些算法往往是非常有效的。另外还将介绍多项式回归。它使得我们能够使用线性回归的方法来拟合非常复杂的函数,甚至是非线性函数。 下面以预测房价为例。假设有两个特征,分别是房子临街
阅读全文