课程名称:[中英字幕]吴恩达机器学习系列课程
课程内容:Machine Learning
课程网址:https://www.bilibili.com/video/BV164411b7dx/?p=18&spm_id_from=pageDriver&vd_source=ce1ba3c38b9d663ebfa5fce9f867c7e3
课程进度:4-6
4-1 多功能
Subscript 写在下面的,下标
Denote 表示
Lowercase 小写
n特征量的数量
上标superscript表示第几个样本,上标+下标表示第几个样本的第几个特征值
Multivariate linear regression 多元线性回归
X是样本,theta是参数
4-2 多元梯度下降法
Gradient descent 梯度下降法
多特征量的时候,更新参数就要和特征量的取值相关了,其实单特征量也一样只是x(i)0取值默认是1了
4-3 多元梯度下降法演练1-特征缩放
如果各个特征量的取值范围差异很大,那等值线图就会很瘦很高,梯度下降也可能会振荡
比较合适的取值范围如上图,太大不好,太小也不好
Mean normalization均值归一化
V1是训练集中特征x1的平均值
S1是该特征值的范围,最大值减去最小值,也就是标准差
4-4 多元梯度下降法2-学习率
x-axis x轴 horizontal axis
converge(v.)会聚,集中,十分相似,收敛
如果代价函数逐渐上升,那通常是学习率取得过大了
如果代价函数反复上升下降,那通常也可能是学习率取大了
如果学习率太小了,那代价函数收敛会过于缓慢甚至不收敛
4-5 特征和多项式回归
Polynomial regression多项式回归
更换特征可能会得到更好的模型
4-6 正规方程(区别于迭代方程的直接解法)
Concretely具体地说,具体地
Intuition直觉,直觉力
解析式地找到最优的theta
Design matrix设计矩阵
这里的第二个矩阵x是不是弄错了上标和下标?
X transpose X的转置
使用正规方程法不需要特征缩放
对线性回归问题,正规方程法相对于梯度下降法是一个不错的选择
4-7 正规方程在矩阵不可逆情况下的解决方法
Normal equation正规方程
Non-invertibility不可逆性
Singular matrix奇异矩阵 degenerate matrix退化矩阵 这种矩阵不可逆
Octave中的pinv和inv不同,一个是伪逆pesudo-inverse,一个是逆
Regularization正则化
出现矩阵不可逆情况通常有两种原因,一是因为特征间的关系影响到了矩阵,比如重复的有线性关系的特征量,这种情况需要删除多余的,二是因为样本数相对于特征数太少,特征量太多了,这种情况需要删除一些特征或者进行正则化。
虽然有时候确实会有矩阵不可逆的情况,但是使用pinv也能得到正确结果
4-8 导师的编程小技巧
5-1 基本操作
Octave 不等于 ~=
Disp(a) 打印显示a的内容
Rand生成的是0和1之间的随机的数
Randn生成的是服从高斯分布的数,均值为0,标准差或者说方差为1
Hist生成直方图
上图标准差为根号10,方差为10,符合高斯分布
Eye表示生成单位矩阵
Help命令
Help eye help rand help help 摁q退出
Sophisticated复杂的
5-2移动数据
Who 显示当前的所有变量 whos 显示更详细的各个变量及其信息
Clear 删除变量
Save 把变量存到文件中
5-3 计算数据
点乘和叉乘运算符有区别如上
这个点号通常表示元素的运算
Abs求non-negative values
求转置
Max(矩阵A)会获得每一列的最大值
Find会返回满足条件的元素的索引
幻方magic square的行列对角线的和都是相等的
Sum求和 prod求乘积 floor向下取整 ceil向上取整
Rand(3)生成随机3*3矩阵
上图为取每一列的最大值,1意味着从A的第一维度去取值
取矩阵Adequate最大值的两种方法,一是max(max(A)),二是把A变成列向量再取最大值
上图为取每一列的和,取每一行的和
Flipud垂直翻转矩阵
5-4 数据绘制
Plot图
Generate生成
Visualize使可视化
5-5 控制语句:for,while,if.语句
Exit或者quit 退出octave
要使用自己编写的函数,需要事先准备.m文件,cd进入到对应文件夹,或者是addpath添加好对应文件夹路径,然后才可以使用这个函数
Octave可以定义一个函数能够返回多个值
设计矩阵为[1 1;1 2;1 3],第一列是x0的值,第二列是训练样本,对应的y值矩阵为[1;2;3],给定theta,求代价函数。实际上当theta为[0;1]时就是斜率为一的直线,theta为[0;0]时求代价函数即可。
Sanity理智,明智,精神健全,通情达理,神志正常
5-6 矢量
Routine常规,例行程序
Vectorized向量化的
Inner product内积
C++中实现如下图
Sophisticated复杂的
Simultaneously同时地
Compress压缩,压紧,浓缩
Subtract减,减去 注意不是substract,没有多的s
Summation求和
Real number实数
上图是把整个计算过程向量化的过程(矢量化地实现线性回归linear regression)
Computation计算式
当特征量非常多时,矢量化实现往往比循环实现运算速度更快
Vectorized implementation向量化实现方式
6-1 分类
Logistic regression logistic回归算法
分类问题
Arbitrary任意的,武断的,专横的
Convey输送,传达,表达
Two class problem二分类问题
Binary classification problem二元分类问题
Multi-class多分类
Threshold阈值
Instance实例,例子,事例
Logistic regression是一种分类算法classification algorithm
6-2 假设陈述
Hypothesis representation
我们希望分类器classifier的输出值在0和1之间
Sigmoid function和logistic function基本算是同义词synonym
It asymptotes at zero趋向0 approaches 1 接近1
Horizontal axis横轴
6-3 决策界限
Decision boundary
如下Decision boundary把平面分成了不同部分
decision boundary是假设函数的property而不是数据集data set的property
curve曲线
Training set训练集
训练集用来拟合模型参数,而一旦参数确定,decision boundary就确定了
Logistic regression可以表示一些的hypothesis function
Automatically自动地
6-4 代价函数
Cost function
Non-convex非凸函数
Convex凸函数 bowl shaped
Desirable可取的,值得拥有的
下面两图是一种可取的cost function
6-5 简化代价函数与梯度下降
Logistic regression
Compress压缩,压紧,浓缩
上图把两种情况的代价函数合并为单一写法
这个算法是从统计学的极大似然估计法得来的
h(x)就是表示给定x和theta时y=1的概率
线性回归的梯度下降代价函数和logistic regression的梯度下降代价函数写法相同,但是它们的假设函数是不同的
6-6 高级优化
Advanced optimization algorithm
Derivative term导数项
BFGS共轭梯度法
Manually手动地
Line search algorithm线搜索算法
Entirely完全,完整地,全部地
Octave的标号是从1开始的而不是从0开始
6-7 多元分类:一对多
Multi-class classification problem
Y可以取一些离散的值
One-versus-all classification一对多分类 也叫做One-versus-rest
拟合出多个分类器
Superscript上标 h superscript a h上标a
再选出最好的那个分类器