随笔分类 -  机器学习笔记

摘要:针对逻辑回归问题,我们在之前的课程已经学习过两种优化算法:我们首先学习了使用梯度下降法来优化代价函数𝐽(𝜃),接下来学习了更高级的优化算法,这些高级优化算法需要你自己设计代价函数𝐽(𝜃)。 自己计算导数同样对于逻辑回归,我们也给代价函数增加一个正则化的表达式,得到代价函数: 要最小化该代价函 阅读全文
posted @ 2019-02-19 19:03 chalee3 阅读(1730) 评论(0) 推荐(0)
摘要:对于线性回归的求解,我们之前推导了两种学习算法:一种基于梯度下降,一种基于正规方程。 正则化线性回归的代价函数为: 如果我们要使用梯度下降法令这个代价函数最小化,因为我们未对theta0进行正则化,所以梯度下降算法将分两种情形: 对上面的算法中𝑗 = 1,2, . . . , 𝑛 时的更新式子进 阅读全文
posted @ 2019-02-19 15:34 chalee3 阅读(984) 评论(0) 推荐(0)
摘要:上面的回归问题中如果我们的模型是: 我们可以从之前的事例中看出,正是那些高次项导致了过拟合的产生,所以如果我们能让这些高次项的系数接近于0 的话,我们就能很好的拟合了。 所以我们要做的就是在一定程度上减小这些参数𝜃 的值,这就是正则化的基本方法。我们决定要减少𝜃3和𝜃4的大小,我们要做的便是修 阅读全文
posted @ 2019-02-19 01:03 chalee3 阅读(904) 评论(0) 推荐(0)
摘要:到现在为止,我们已经学习了几种不同的学习算法,包括线性回归和逻辑回归,它们能够有效地解决许多问题,但是当将它们应用到某些特定的机器学习应用时,会遇到过拟合(over-fitting)的问题,可能会导致它们效果很差。 在这段视频中,我会解释什么是过度拟合问题,并且在此之后接下来的几个视频中,我们将谈论 阅读全文
posted @ 2019-02-18 19:52 chalee3 阅读(591) 评论(0) 推荐(0)
摘要:对于之前的一个,二元分类问题,我们的数据看起来可能是像这样: 对于一个多类分类问题,我们的数据集或许看起来像这样: 我用3 种不同的符号来代表3 个类别,问题就是给出3 个类型的数据集,我们如何得到一个学习算法来进行分类呢?我们现在已经知道如何进行二元分类,可以使用逻辑回归,对于直线或许你也知道,可 阅读全文
posted @ 2019-02-18 13:07 chalee3 阅读(6651) 评论(0) 推荐(0)
摘要:在这段视频中,我们要介绍如何拟合逻辑回归模型的参数𝜃。具体来说,我要定义用来拟合参数的优化目标或者叫代价函数,这便是监督学习问题中的逻辑回归模型的拟合问题。 对于线性回归模型,我们定义的代价函数是所有模型误差的平方和。理论上来说,我们也可以对逻辑回归模型沿用这个定义,但是问题在于,当我们将带入到这 阅读全文
posted @ 2019-02-17 21:17 chalee3 阅读(1739) 评论(0) 推荐(0)
摘要:现在讲下决策边界(decision boundary)的概念。这个概念能更好地帮助我们理解逻辑回归的假设函数在计算什么。 在逻辑回归中,我们预测:当ℎ𝜃(𝑥) >= 0.5时,预测 𝑦 = 1。当ℎ𝜃(𝑥) < 0.5时,预测 𝑦 = 0 。根据上面绘制出的 S 形函数图像,我们知道当� 阅读全文
posted @ 2019-02-17 12:34 chalee3 阅读(6165) 评论(0) 推荐(0)
摘要:在分类问题中,要用什么样的函数来表示我们的假设呢?此前说过,希望我们的分类器的输出值在0 和1 之间,因 此,我们希望想出一个满足某个性质的假设函数,这个性质是它的预测值要在0 和1 之间。回顾在一开始提到的乳腺癌分类问题,我们可以用线性回归的方法求出适合数据的一条直线: 根据线性回归模型我们只能预 阅读全文
posted @ 2019-02-17 00:32 chalee3 阅读(1060) 评论(0) 推荐(0)
摘要:在分类问题中,你要预测的变量 𝑦 是离散的值,我们将学习一种叫做逻辑回归 (LogisticRegression) 的算法,这是目前最流行使用最广泛的一种学习算法。在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误)。分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交 阅读全文
posted @ 2019-02-16 20:21 chalee3 阅读(303) 评论(0) 推荐(0)
摘要:到目前为止,我们都在使用梯度下降算法,但是对于某些线性回归问题,正规方程方法是更好的解决方案。如: 即: 运用正规方程方法求解参数: 注:对于那些不可逆的矩阵(通常是因为特征之间不独立,如同时包含英尺为单位的尺寸和米为单位的尺寸两个特征,也有可能是特征数量大于训练集的数量),正规方程方法是不能用的。 阅读全文
posted @ 2019-02-13 19:25 chalee3 阅读(803) 评论(0) 推荐(0)
摘要:房价预测问题: 阅读全文
posted @ 2019-02-13 18:10 chalee3 阅读(274) 评论(0) 推荐(0)
摘要:梯度下降算法收敛所需要的迭代次数根据模型的不同而不同,我们不能提前预知,我们可以绘制迭代次数和代价函数的图表来观测算法在何时趋于收敛。 也有一些自动测试是否收敛的方法,例如将代价函数的变化值与某个阀值(例如0.001)进行比较,但通常看上面这样的图表更好。 梯度下降算法的每次迭代受到学习率的影响,如 阅读全文
posted @ 2019-02-10 01:27 chalee3 阅读(316) 评论(0) 推荐(0)
摘要:在我们面对多维特征问题的时候,我们要保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛。 以房价问题为例,假设我们使用两个特征,房屋的尺寸和房间的数量,尺寸的值为 0-2000 平方英尺,而房间数量的值则是0-5,以两个参数分别为横纵坐标,绘制代价函数的等高线图能,看出图像会显得很扁,梯度 阅读全文
posted @ 2019-02-09 22:07 chalee3 阅读(510) 评论(0) 推荐(0)
摘要:numpy.power(n, x) 对数组n的元素分别求x次方。x可以是数字,也可以是数组,但是n和x的列数要相同。 阅读全文
posted @ 2019-02-09 01:36 chalee3 阅读(706) 评论(0) 推荐(0)
摘要:与单变量线性回归类似,在多变量线性回归中,我们也构建一个代价函数,则这个代价函数是所有建模误差的平方和,即: 其中:ℎ𝜃(𝑥) = 𝜃𝑇𝑋 = 𝜃0 + 𝜃1𝑥1 + 𝜃2𝑥2+. . . +𝜃𝑛𝑥𝑛 ,我们的目标和单变量线性回归问题中一样,是要找出使得代价函数最小的一系 阅读全文
posted @ 2019-02-09 01:27 chalee3 阅读(393) 评论(0) 推荐(0)
摘要:1、转置 #reshape(shape)函数改变数组形状,shape是一个元组,表示数组的形状 创建一个包含15个元素的一维数组,通过reshape函数调整数组形状为3行5列的二维数组arr = np.arange(15).reshape((3,5))print(arr) 结果:[[ 0 1 2 3 阅读全文
posted @ 2019-02-07 00:45 chalee3 阅读(1137) 评论(0) 推荐(0)
摘要:1、一维数组索引与切片#创建一维数组arr1d = np.arange(10)print(arr1d) 结果:[0 1 2 3 4 5 6 7 8 9] #数组的索引从0开始,通过索引获取第三个元素arr1d[2] 结果:2 #切片,左闭右开区间,从索引3开始,直到索引7结束 arr1d[3:8] 阅读全文
posted @ 2019-02-07 00:44 chalee3 阅读(729) 评论(0) 推荐(0)
摘要:NumPy是Python的一个高性能科学计算和数据分析基础库,提供了功能强大的多维数组对象ndarray。jupyter notebook快速执行代码的快捷键:鼠标点击选中要指定的代码框,Shift + Enter组合键直接执行代码框中的全部代码。 Alt + Enter组合键执行完代码框中的代码在 阅读全文
posted @ 2019-02-07 00:43 chalee3 阅读(692) 评论(0) 推荐(0)
摘要:我们探讨了单变量/特征的回归模型,现在我们对房价模型增加更多的特征,例如房间数楼层等,构成一个含有多个变量的模型,模型中的特征为(𝑥1, 𝑥1, . . . , 𝑥𝑛)。 增添更多特征后,我们引入一系列新的注释:𝑛 代表特征的数量𝑥(𝑖)代表第 𝑖 个训练实例,是特征矩阵中的第𝑖行 阅读全文
posted @ 2019-02-05 01:33 chalee3 阅读(281) 评论(0) 推荐(0)
摘要:梯度下降算法和线性回归算法比较如图: 对我们之前的线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即: 我们刚刚使用的算法,有时也称为批量梯度下降。实际上,在机器学习中,通常不太会给算法起名字,但这个名字”批量梯度下降”,指的是在梯度下降的每一步中,我们都用到了所有的训练样本,在梯度下降中, 阅读全文
posted @ 2019-01-20 02:03 chalee3 阅读(308) 评论(0) 推荐(0)