一、机器学习
1.1 机器学习定义
计算机程序从经验E中学习,解决某一任务T,进行某一性能P,通过P测定在T上的表现因经验E而提高
eg:跳棋程序
E: 程序自身下的上万盘棋局
T: 下跳棋
P: 与新对手下跳棋时赢的概率
1.2 监督学习 supervised learning
1.2.1 监督学习定义
给算法一个数据集,其中包含了正确答案,算法的目的是给出更多的正确答案
如预测房价(回归问题)、肿瘤良性恶性分类(分类问题)
1.3 无监督学习 unsupervised learning
1.3.1 无监督学习定义
只给算法一个数据集,但是不给数据集的正确答案,由算法自行分类。
如聚类
1.谷歌新闻每天收集几十万条新闻,并按主题分好类
2.市场通过对用户进行分类,确定目标用户
3.鸡尾酒算法:两个麦克风分别离两个人不同距离,录制两段录音,将两个人的声音分离开来(只需一行代码就可实现,但实现的过程要花大量的时间)
1.3.2 聚类算法
二、单变量的线性回归 univariate linear regression
2.1 单变量线性函数
假设函数 hθ(x) = θ0 + θ1x
代价函数 平方误差函数或者平方误差代价函数
h(x(i))是预测值,也写做y帽,y(i)是实际值,两者取差
分母的2是为了后续求偏导更好计算。
目标: 最小化代价函数,即minimize J(θ0, θ1)
- 得到的代价函数的 三维图如下
- 将三维图平面化 等高线图 contour plot
等高线的中心对应最小代价函数
2.2 梯度下降算法 Gradient Descent algorithm
算法思路
- 指定θ0 和 θ1的初始值
- 不断改变θ0和θ1的值,使J(θ0,θ1)不断减小
- 得到一个最小值或局部最小值时停止
梯度: 函数中某一点(x, y)的梯度代表函数在该点变化最快的方向
(选用不同的点开始可能达到另一个局部最小值)
梯度下降公式
-
θ0和θ1应同步更新,否则如果先更新θ0,会使得θ1是根据更新后的θ0去更新的,与正确结果不相符
-
原理:偏导表示的是斜率,斜率在最低点左边为负,最低点右边为正。 在移动过程中,偏导值会不断变小,进而移动的步幅也不断变小,最后不断收敛直到到达最低点;在最低点处偏导值为0,不再移动
关于α的选择
如果α选择太小,会导致每次移动的步幅都很小,最终需要很多步才能最终收敛
如果α选择太大,会导致每次移动的步幅过大,可能会越过最小值,无法收敛甚至会发散
2.3 用于线性回归的梯度下降 ——Batch梯度下降
- 公式推导
- 梯度回归的局限性: 可能得到的是局部最优解
线性回归的梯度下降的函数是凸函数,bowl shape,因此没有局部最优解,只有全局最优解
三、矩阵
3.1
四、多元线性回归 multiple linear regression
python中科学计数法E
*
英文积累
- with respect to 关于
- training example 训练示例
- derivative 导数 derivation 推导
- 1 over m m分之一
- sum of i equals 1 through m i从1到m的总和
- calculus 微积分
- convergence 收敛 diverge. 发散
- local minimum 局部最小值 global
- convex function 凸函数,碗型,一个局部最小值
- intuitive name 直观的名称
- subset 子集
- automate 使自动化
- plotting routines 绘图例程
- Convention 惯例
- embedded comments 嵌入的注释
- quiver plot 箭头图 查看两个参数的梯度的方法
- magnitude 大小 幅度 规模
- scaled 比例的 scale 尺度 scale well to 适用于可用于
- primarily for 主要用于
- A versus B A 与B的关系
- measure of 衡量
- in line with 符合 一致
- a contour plot 等高线图
- steady (monotonic) progress 稳步(单调)前进
- Zooming in, 放大
- oscillates from positive to negative 在正数和符数之间摆动
- delve into 研读
- subscript sub 下标 superscript 上标
- parentheses 括号
- algebra 代数 linear algebra 线性代数
- dot products 点积 the product of 积
- numerical linear algebra library 数值线性代数库 numpy
- vertorization 矢量化
- square bracket 方括号 [ ]
- period 句点 dot 点 comma 逗号
- fairly seamlessly 相当完美 无缝的
- specify the shape 指定形状
- a mainstay of 主要内容 ,中流砥柱 main stay
- aligning 对齐