- 新闻事件分类的例子,就是那个谷歌新闻的例子,可以用一个聚类算法来聚类这些文章到一起,所以是无监督学习。细分市场的例子,可以当作无监督学习问题,因为只是拿到算法数据,再让算法去自动地发现细分市场。
- Octave,是免费的开源软件,使用一个像 Octave 或 Matlab的工具,许多学习算法变得只有几行代码就可实现。
- 代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择。(导师更正:理论是,任何非负函数都可以作代价函数,只是实践中多采用平方误差函数,因为其简单、具有光滑性。)
- 实际上在数据量较大的情况下,梯度下降法比正规方程要更适用一些。(导师:你需要思考一下为什么)
- 在我们面对多维特征问题的时候,我们要保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛。
- 通常可以考虑尝试些学习率:𝛼 = 0.01,0.03,0.1,0.3,1,3,10。
- 如果我们采用多项式回归模型,在运行梯度下降算法前,特征缩放非常有必要。
P24-P27
P32-P34
- 只要特征变量的数目并不大,标准方程是一个很好的计算参数θ的替代方法。具体地说,只要特征变量数量小于一万,通常使用标准方程法,而不使用梯度下降法。
- 梯度下降法是一个非常有用的算法,可以用在有大量特征变量的线性回归问题。
- 使用不同的线性代数库的方法被称为伪逆。(导师更正:使用不同的线性代数库的方法被称为伪逆。表达的不是很清晰,伪逆一般指的是不可逆矩阵的某种意义下的“逆矩阵”。)
- 出现不可逆矩阵的情况极少发生,所以在大多数实现线性回归中,出现不可逆的问题不应该过多的关注𝑋𝑇𝑋是不可逆的。
- 利用正规方程解出向量 𝜃 = (𝑋𝑇𝑋)−1𝑋𝑇𝑦 。
- Octave 是一种很好的原始语言(prototyping language),使用 Octave 你能快速地实现你的算法,剩下的事情,你只需要进行大规模的资源配置,你只用再花时间用 C++或 Java 这些语言把算法重新实现就行了。
- 逻辑回归算法是分类算法,我们将它作为分类算法使用。它适用于标签 𝑦 取值离散的情况,如:1 0 0 1。
P34-P44
- 实际上在数据量较大的情况下,梯度下降法比正规方程要更适用一些。
*正规方程法需要计算(XTX)-1,如果特征数量n较大则运算代价大,计算会比较慢,因为矩阵逆的计算时间复杂度为O(n3),通常来说当n小于10000 时还是可以接受的。
- 如何实现logistics 回归多分类。
*1.OvR方法:n种类型的样本进行分类时,分别取一种样本作为一类,将剩余的所有类型的样本看做另一类,这样就形成了n个二分类问题,使用逻辑回归算法对n个数据集训练出n个模型,将待预测的样本传入这n个模型中,所得概率最高的那个模型对应的样本类型即认为是该预测样本的类型,n个类别就进行n次分类,选择分类得分最高的。
2.OvO方法:n类样本中,每次挑出2种类型,两两结合,一共有Cn2种二分类情况,使用Cn2种模型预测样本类型,有Cn2个预测结果,种类最多的那种样本类型,就认为是该样本最终的预测类型。
- 逻辑回归模型的假设是: ,其中:X代表特征向量,g代表逻辑函数(logistic function)是一个常用的逻辑函数为S形函数(Sigmoid function),公式为: 。
- 逻辑回归的代价函数为: 。
- 虽然逻辑回归得到的梯度下降算法表面上看上去与线性回归的梯度下降算法一样,但是逻辑回归的与线性回归的中不同,所以实际上是不一样的。
- 除了梯度下降算法以外,还有一些常被用来令代价函数最小的算法,这些算法更加复杂和优越,而且通常不需要人工选择学习率,通常比梯度下降算法要更加快速。这些算法有:共轭梯度(Conjugate Gradient),局部优化法(Broyden fletcher goldfarb shann,BFGS)和有限内存局部优化法(LBFGS)。