总结:
https://blog.csdn.net/kepengs/article/details/84846182
1.Classification(分类问题)
想要预测的值是离散值
二元分类问题
通常设置“命中”为1
多类分类问题
这时,不能再用线性回归算法了,引出分类算法-----逻辑回归
2.Hypothesis Representation
主题:展示假设函数的表达式
s型函数(逻辑函数):
这里的假设函数是 特征x的样本,可能取y的概率
3.Decision Boundary(决策边界)
主题:理解上面的S型函数,什么时候预测值为1.什么时候预测值趋于0
1.首先,对于假设函数来说,得到1的概率大于0.5,我们认为y=1
2.根据逻辑函数的图像,我们发现:
3.
例:得到决定边界(把不同类型数据分开的线)
一个更复杂的例子,如下图,用圆圈代表负样本,叉号代表正样本
给定这样的一个数据集,我们怎样才能使用逻辑回归,去拟合这些数据呢?
通过增加复杂的多项式特征变量,我们可以得到更复杂的决定边界,而不只是用直线分开正负样本。
如果我们有高阶多项式特征变量,会得到更复杂的决定边界
样本点和决策边界有什么关系吗?
用点到直线的距离来表达样本点跟决策边界的距离,距离越大说明该点是某一类的概率就越大。
4.Cost Function(分类问题的代价函数)
如果使用之前的J函数
会发现得到的是一个非凸函数,不能得到全局最优解,我们只能使用不同的代价函数
这个代价函数是我们要用在逻辑回归上的。它的图像如下:
我们可以将上面的分段函数合并成1个
代价函数即:
为了拟合出θ,我们应该尽量使J(θ)取得最小值
我们依旧使用梯度下降法,反复更新每个θ
为了避免使用for循环,更新每一个θ,我们将θ用向量表示
5.Advanced Optimization
共轭梯度法 BFGS (变尺度法) 和L-BFGS (限制变尺度法) 是更为高级的拟合θ的算法:
这三种算法,通常不需要手动选择学习率α(可以认为算法有一个智能的内部循环)
内部循环,成为线性搜索算法,他可以自动尝试不同的学习速率α,往往收敛的比梯度下降更快
6.Multiclass Classification: One-vs-all
主题:解决如何使用逻辑回归的思想,来解决多类别分类问题
具体来说,我们会使用一个叫做:‘一对多’的分类算法
例:设计一个算法,能够自动的将邮件归类到不同的文件夹里,或者自动加上标签
设计一个算法,能够判断一个患者是否得了流感
设计一个算法,区分哪些天是晴天,多云,雨天
将它分成三个二元分类问题,我们可以拟合到3个分类器,在这三个分类器中挑选一个可信度最好的
7.过度拟合
-
Underfit:欠拟合问题具有高偏差;Overfit:过拟合问题具有高方差。
-
过拟合的定义:如果训练集中有过多的特征项,训练函数过于复杂,而训练数据又非常少。我们学到的算法可能会完美的适应训练集,也就是说代价会接近与0。但是却没有对新样本的泛化能力。
-
解决方法:手动的选择合适的特征;或者使用模型选择算法(用来选取特征变量)。
- 正规化(Regularization):正则化中我们将保留所有的特征变量,但是会减小特征变量的数量级(参数数值的大小θ(j)),相当于减少参数θ(j)所对应的多项式对整个预测函数的影响。以下内容以线性回归为例。
正规化代价函数:其中λ过大会导致欠拟合。正规化梯度下降:θ0不需要
其中当参数Θ不为θ0时,梯度下降形式又可以改写为:
正规化正规方程:其中L为(n+1)*(n+1)维矩阵。
-
正规化逻辑回归:
代价函数:
梯度下降形式和线性回归相同。
- 正规化逻辑回归中高级的求解参数θ方法: