Machine Learning-2
第三周
分类问题
我们通常不用线性回归来解决分类问题
这是因为极端点往往对线性回归的拟合产生较大偏差
通常使用逻辑回归才解决分类问题
在分类问题中y通常取0/1代表两种不用的状态
假设函数表达式
根据概率论的相关知识 可以得到
决策边界
从图像中可以看出 当z≥0 即θTx≥0 y属于[0.5,1]取1 当θTx<0 y属于[0,0.5]取0
ex:
当普通的表达式无法满足分类问题的时候 我们可以通过增加高次多项式才使图像满足分类问题
例如加上θ0+θ1x1²+θ2x2²可使图像变为圆
代价方程的逻辑回归形式
图像如下
从图像中可以看出
简化代价方程&使用梯度下降算法实现逻辑回归
将y=0和y=1时的代价方程可简化如下:(并给出向量化的表达式)
当对J进行偏导操作后发现和线性回归的梯度下降算法完全一样:
不一样的是 线性回归的中h=XTθ 而逻辑回归中的h=1/1+e(-XTθ)
逻辑回归的J向量化如下:
高级优化算法
在高级优化算法中 我们需要求出代价方程J和代价方程J对θ的偏导数
所以我们可以在matlab中使用如下算法 可以快速求解θ J和J是否收敛
如下是定义的函数:
如下是在matlab中使用的代码:
例如,定义的函数可以如下:
那么在matlab中敲入对应的算法后 将会求出θ1=5 θ2=5 J=0 exitFlag=1
说明θ1和θ2等于5时 J=0为最小值 且收敛 验证此算法是正确的
备注
使用此算法需要注意 gradient的纬度d需要≥2 如果纬度是1 需要查询fminunc找出对应资料
一对多的分类问题
我们对这个分类问题使用如下算法:
每次选取一种类型的问题为1 所有其它类型就为0 这样就转换成了把两种类型的数据分开的子问题
如上图所以有三种分类的方法
在这三种分类方法中 选取一个hθ最大的分类方法作为分类标准即可
过度拟合问题
如果我们在使用假设函数中增加了过度的高次项 那么这个函数会过度的拟合这些点 甚至产生扭曲 从而破坏了一般性规律
一般在特征过多而我们又没有很多的训练集的时候 就会出现过度拟合的问题
为了坚决过度拟合的问题 有如下方法:
(1)尽量减少特征的数量 选取更多重要的特征
(2)使用模型选择算法 自动删去一些特征(之后会提到)
(3)正规化(之后会提到)
假设函数的过度拟合
下图给出对假设函数出现过度拟合的处理:
例如:
我们在多项式后加入1000θ3²+θ4² 根据最小化可得θ3和θ4趋近于0 所以图像就会避免过度拟合的问题
正则化解决线性回归
下图是梯度下降算法的正则化:
θ0和θi分别处理
展开后如下图所以:
对于θj前面的参数可以看作小于1又接近1 所以θj每次以一个很小的数量下降
下图是正规方程的正则化:
在正规方程中原本存在不可逆的问题 但是正则化后括号内的矩阵一定可逆 L的维数为n+1
正则化解决逻辑回归
下图是针对逻辑函数的代价方程的正则化:
下图是针对逻辑回归的梯度下降算法:
形式上与线性回归相同 但注意假设函数不同
第四周
神经网络模型一
在神经网络中 ai(j)表示对j层的第i个对象 θ(j)表示从j层到j+1层的所有权重(参数)
θj的维度等于s(j+1)×(sj+1) 例如θ1=s2×(s1+1)=3×4
计算公式如下:
神经网络模型二
这是上一节的公式:
我们把它变为如下形式:
变为向量形式:
对于z(j) a(j) hθ(x)有如下公式:
具体实例
可以实现逻辑上的异或 且 或等操作
例如 或运算的参数如下:
其余一些运算如下:
公式如下:
神经网络中的一对多
实际问题中的一对多:
若是四种识别 我们可输出y的结果定义如下: