知识点:逻辑回归(Logistic Regression)、线性回归(Linear Regreesion)
MachineLearning-聚类算法
在无监督学习中,我们的训练集可以写成只有$x^{(1)}$,$x^{(2)}$…..一直到$x^{(m)}$。我们没有任何标签 $y$。
我们希望有一种算法能够自动的把这些数据分成有紧密关系的子集或是簇。
机器学习-支持向量机(SVM)
支持向量机的代价函数
$$
J(\theta) = \min_{\theta} C\sum_{i=1}^m[y^{(i)}cost_1(\theta^Tx^{(i)}) + (1-y^{(i)})cost_0(\theta^Tx^{(i)})] + \frac{1}{2}\sum_{i=1}^n\theta_j^{2}
$$
C 可以看作 $\frac{1}{\lambda}$
支持向量机的作用
- 人们有时将支持向量机看作是大间距分类器
- 支持向量机能够努力的将正样本和负样本用最大的间距分开。这也是支持向量机具有鲁棒性的原因,鲁棒是Robust的音译,也就是健壮和强壮的意思。
- 支持向量机(SVM)实际上是一种凸优化问题,因此它总是能找到全局最小值或者接近它的值从而不用担心局部最优
机器学习-如何有效使用机器学习算法
怎么改进算法
当使用训练好的模型时,新样本输出的数据产生了巨大的误差,如何改进算法的性能。
- 使用更多的训练样本,但通常来讲并没有什么卵用
- 尝试选用更少的特征集,来防止过拟合
- 或许也需要更多的特征集,当目前的特征集对你没有多大用处时,可以从更多的特征角度去收集更多的特征
- 增加多项式特征
- 减小正则化中的 $\lambda$ 的值
- 增大正则化中的 $\lambda$ 的值
我们不应该随机选择上面的某种方法来改进我们的算法,而是运用一些机器学习诊断法来帮助我们知道上面哪些方法对我们的算法是有效的。
机器学习-神经网络(一)
为什么要使用神经网络
当特征太多时,计算的负荷会特别大,而普通的线性回归/逻辑回归都无法有效地处理这么多的特征,这个时候我们需要神经网络。
神经网络的模型表示
首先,我们为神经网络里的每一层都增加了一个偏差单元,即每一层的0号下标的单元,它的值永远为1,而偏差单元我们只在当作输入时使用。