引言:个人当前研究倾向是智慧医疗,旨在通过信息科技的数据处理手段,解决当前医学界的问题。
学习初步思路:在师兄的指导下,初步的学习计划为理论与竞赛并行,即一方面补充基础知识,另一方面竞赛实践自己的知识。
- 公开课看:吴恩达coursera《机器学习》,李飞飞斯坦福《卷积神经网络》,李宏毅台湾大学《机器学习》/《深度学习》。
- 竞赛:https://beetl.ai/data;
官方代码,这个方法有70%准确率。
https://github.com/XiaoxiWei/NeurIPS_BEETL
吴恩达coursera《机器学习》
笔记:
第一章
1-2什么是机器学习?
定义:
A computer program is said to learn from experience E with respect to some task T and some performance measure P,if its performance on T, as measured by P,improves with experience E.
Machine learning algorithms:
- Supervised learning
- Unsupervised learning
- Others:Reinforcement learning(强化学习),recommender systems.
- Also talk about:Practical advice for applying learning algorithms.
1-3 监督学习 Supervised learning
栗子:房价预测
原本是零星的点,最后需要给出一条拟合的曲线。
Supervised Learning:“right answers” given
Regression(回归):Predict continuous valued output(price)
栗子2:肿瘤的预测
根据肿瘤的size判断是恶性还是良性。还可以加上年龄、肿瘤厚度等多个特征!分类问题!
1-4.无监督学习 Unsupervised learning
无监督学习会分成两个簇(clusters),分簇的算法就叫做聚类算法。
应用很多:
1.谷歌新闻
2.基因检测分类
3.大计算机集群 Organize computing clusters
4.社会网络关系分析 Social network analysis
5.市场分配 Market segmentation
6.天文数据分析 Astronomical data analysis
Cocktail party problem 鸡尾酒算法:
相互啰嗦,但最后通过算法分离出来两个人的独立的声音,举了栗子。
只通过一行代码,调用就能解决问题。所以学习调包!!!
第二章
2-1.模型描述
举例的是一个房价预测的线性回归模型。介绍了背景和表达式的含义。比较简单。
- Training Set 训练集
- hypothesis 假设函数
- Linear regeression with one variable 线性回归
- Univariate linear regression 线性回归
2-2 代价函数 Cost Funtion
一图以蔽之,就是右侧上面的红框,是代价函数,也叫平方误函数 !
2-3 代价函数intuition(一)
为了直观的看效果,这里对Cost Function进行简化 ,只保留一个参数,然后绘制两者的对应图像,我们可以看到两边的对比结果。 其中代价函数是一个二次函数的图像,我们主要要他的最小值的点!
2-4 代价函数intuition (二)
如果我们保留所有的参数,并绘制对应的代价函数的图像如下
一般这种比较复杂,会用等高线去替代,如下图
越往中间,拟合的越好!
为了找到这个最小的值,我们需要一个算法。
2-5 梯度下降 Grardient descent
算法场景:有一个代价函数,找到对应的最小值。
大纲:从某些参数开始,不停的改变参数减小Cost Function,直到满足某个我们想要的minimum
算法的具体公式如下
注意左侧是正确的公式,右侧是错误的!必须同步更新!
2-6 梯度下降 Gradient Descent Intuition
本节主要介绍 上节里的那个导数部分
首先介绍的是 学习率
由于在下降的过程中,斜率也在降低,所以每次减小的幅度也在减小,因此无需自己再去手动降低学习率。这也是为什么用导数,而不是用一个固定值的原因。
2-7 Gradient Descent For Linear Regression
结合之前的二维代价函数,以及梯度下降算法,老师演示了每一个的优化过程。
第三章
3-1矩阵和向量 Matrices and Vectors
3-2 加法和标量乘法 Addition and Scalar Multiplication
3-3 矩阵向量乘法 Matrix-vector multiplication
3-4 矩阵乘法 Matrix-Matrix multiplication
3-5 矩阵乘法特征 Matrix multiplication properties
3-6 逆和转置 Inverse and transpose
基本知识,easy
第四章
4-1.多特征 Multiple Features
还是以房价预测为基础,给出了增加其他几个变量的情况。
多出的特征用新的表现形式,对应预测公式如下:
为了更简单的说明,引入矩阵的表述形式。假设X0=1;
4-2.多元梯度下降法 Gradient Descent for Multiple Variables
原先的二元拓展到多元,过程都是一样的,还是蛮好理解的哈。
4-3 多元梯度下降法演练 i-特征缩放 Gradient Descent in Practice I-Feature Scaling
why:因为如果 两个参数范围偏差太大,就会导致他的图像是下图左侧的那样,一个椭圆,然后在梯度下降的时候就拐来拐去,很慢才能到最小值。因为需要将两个参数归一化处理。
Two techniuqes to help with this are feature scaling and mean normalization
减去平均值,并除以范围(max-min)
这里老师给的经验值是 -3~3 和 -1/3–1/3
4-4 多元梯度下降法 ii-学习率 Gradient Descent in Practice II-Learning Rate
“Debugging”:How to make sure gradient descent is working correctly
How to choose learning rate?
下图是一个随着迭代次数增加,cost function 在减小。
但是如果出现下面这个图的情况,证明算法有问题
因此在选择学习率时,需要按这个倍数的关系去选择。3倍3倍的改变!(吴恩达:我最喜欢3)
4-5 特征和多项式回归 Features and Polynomial Regression
这一节 没有什么新的知识点,就是告诉我们要选择合适的 自变量,以及合适的次数。
4-6 正规方程(区别于迭代方法的直接解法) Normal Equation
Normal equation:Method to solve for theta analytically
就是用线代的解法!
梯度下降法,和正规方程的对比比较有意思哈
注意不同的特征量,对应不同的范围。同时注意正规方程只有在线性回归的情况下比较好用!
后续越来越复杂的算法,都是梯度下降的地盘!
4-7 正规方程在矩阵不可逆情况下的解决方法 Normal Equation Noninvertibility
不可逆的原因
- 两个特征线性相关
- 太多的特征
解决方法:删除线性相关的特征,并减少特征的数量。 其实不同太管,程序会帮你解决、
4-8 导师的编程小技巧 Programming tips from Mentors
略 讲怎么交作业的
第五章
5-1基本操作
5-2 移动数据
5-3 计算数据
5-4 数据绘制
5-5 控制语句:for while if语句
5-6 矢量
第六章 logistic regression 逻辑回归
6-1 分类
之前学的是回归,这节课往后学的是分类,分类用于结果为离散值{0,1};
为什么离散值问题不能用线性回归呢?见下图,如果出现极端大值,就会导致直线偏离
但是后续的优化也是在线性回归的基础上,注意分析这个表达式!
因此将学习logistic回归。 其确保输出值在0到1之间。
6-2 假设陈述 Hypothesis Representation
为了确保输出值在0到1之间,我们引入函数
sigmoid function=logistic function
不同的函数用于不同的模型场景!
最后的h(x)的输出值可以理解为概率值! 也就是条件概率
6-3 决策界限 Decision boundary
由y的结果,可以看出自变量z的取值大于0或小于0,对应不同的情况
由此可以绘制出 x 的图像,就是下图,中间那条线就是决策边界。用于区分两个结果
当然,决策边界也可以很复杂,如下;
再三强调 并不是由训练集决定决策边界,训练集可以得出对应的theta,theta对应的表达式决定决策边界。
6-4 代价函数 Cost Function
这节用来介绍如何通过数据拟合Logistic回归,首先我们先一起看一下它的判断标准,也就是代价函数:
如果直接套用线性回归的代价函数,会导致得到的图像不是凸函数,例如下图左侧,是一个非凸函数,那么就不能用其作为梯度下降算法的基础。
由此,Logistic回归的代价函数 如下图
6-5 简化代价函数与梯度下降 Simplified cost function and gradient descent
通过一个类似交叉损失熵的定义,把代价函数写成一个式子。
对梯度下降算法继续求导,得到下式,与线性回归的表达式是一致的,但是内部内容不一样。
6-6 高级优化 Advanced optimization
本节是在梯度下降算法的基础上,介绍了其他的寻找代价函数最小的 算法,但具体实现没有讲。以后也是只要会调包就行。
6-7 多元分类:一对多 Multi-class classification One-vs-all
不是一次性 ,是一个一个的!
第七章
7-1 过拟合问题 The problem of overfitting
两个图就能解释过拟合的情况
如何解决呢?
两个方法
- 减少特征数量
- 正则化
7-2 代价函数 Cost function
正则化,我们想要保留每一个特征。那么只能降低每个特征的影响,从而确保不会过拟合。
由此我们引入了后面的参数
同时为了确保不出意外,我们需要合理的选择lamda!
过大会欠拟合。过小相当于没弄,还是过拟合。
7-3 线性回归的正则化 Regularized linear regression
线性回归有两种解法,一个是梯度下降,一个是正规方程。
对其梯度下降的正则化,如下。
对正规方程的正则化如下
如果不可逆什么的,还是有一套对应的标准。
7-4 Logistic 回归的正则化
逻辑回归也分了两种,一个是梯度下降,一个是更高级的算法。
这里的正则化大致了解就行了。
第八章
8-1 非线性假设 Non-linear hypotheses
why need this hypotheses ?已经有了 线性回归和逻辑回归
但是在一些复杂的场景,比如视觉图像分类的场景下,上述两种模型过于简单无法适用。
8-2 神经元与大脑 Neurons and the brain
给出一些人工智能的例子,确实神奇,同时也告诉了我们人类并没有什么特殊的,都只是物质的组成罢了。
8-3 模型展示 I Model representation I
8-4 模型展示 II
其实这两节听得稀里糊涂的,不像之前每个模型讲的那么详细。但是可以大致理解。
8-5 例子与直觉理解 I Examples and intuitions I
一个简单的神经网络的例子,通过设置权值来实现 AND 与运算。
8-6 例子与直觉理解 II
这个栗子真的举得好,将之前的三个 逻辑结构 进行结合,非常直观的展示了神经网络的算法!!
8-7 多元分类
简单的介绍,就是中间的隐藏层会变成一对多的,同时输出结果也变成了多个。
第九章
9-1 代价函数 Cost function
这章将主要说这个分类问题,可以将分类问题分成以下两种情况,K=1和K>2
神经网络的代价函数是对多个y求解,所以其代价函数还是比较清晰明了的。
9-2 反向传播算法 Backpropagation algorithm
这节没太看懂,但先继续下去吧,后面到用的时候再用别人的课补一下。
9-3 理解反向传播 Backpropagation intuition
也没太理解,但先这样叭
9-4 使用注意:展开参数 Implementation note :Unrolling parameters
略,讲的是octave的tips;
9-5 梯度检测 Gradient checking
在计算的过程中可能出现偏差,因此希望能够做一个梯度的检测 来解决这个问题。
9-6 随机初始化 Random initialization
又是没太看懂的一节,神经网络这一节还是要想办法 自己看书啊
9-7 组合到一起 Putting it together
六步一共,实话实话,这章真的学的混乱。但先这样叭。
9-8 无人驾驶
介绍 了一个用例,92年做的实验,是真滴牛!
第十章
10-1 决定下一步做什么 Deciding what to try next
如果你的算法效果存在问题,你应该通过哪些方法来解决:给了六个建议,但现在需要明确走哪条路
做一个诊断!
10-2 评估假设 Evaluating a hypothesis
其实就是将数据集7:3分为 训练集和测试集。
10-3 模型选择和训练、验证、测试集 Model selection and training/validation/test sets
将数据集分成三个,避免一些问题,具体原因不太懂…
10-4 诊断偏差与方差 Diagnosing bias vs. variance
其实就是把测试集的 损失函数也算出来,看相差了多少
10-5 正则化和偏差、方差 Regularization and bias/variance
10-6 学习曲线 Learning curves
是真滴不知道了,对英语授课真滴难顶呀
10-7 决定接下来做什么 Deciding what to try next(revisited)
第十一章
11-1 确定执行的优先级
少拍脑门,多思考。
11-2 误差分析 Error analysis
一开始要构建一个简单的函数,而不是一开始就上猛的,然后慢慢分析是什么问题