导图社区 机器学习
吴恩达机器学习视频学习笔记前面一部分,持续更新
从Zookeeper的介绍、使用、原理到应用,让你只要通过一个思维导图掌握Zookeeper。
主要介绍了信息安全中的数学基础知识,详细内容可打开大图查看。
主要介绍Java Web后端相关技术,包括tomcat、HTTP协议、Cookie和Session、Servlet、filter、Web架构等知识,包含11个子页面。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
机器学习
情况
上课方式
QQ
学分
3分
每周两节课
上到19周
要认真学
每次上课都要认真听
要学的资料
吴恩达视频笔记
http://www.ai-start.com/ml2014/
线性回归(Linear Regression)
线性回归就是指用一条曲线逼近一个分布
这个分布比如是房子的价格关于
面积
装潢
地理位置
......
的分布
这条曲线可以是
简单的一元一次函数

稍微复杂一点的一元多次函数
很复杂的多元多次函数
关键是怎么确定这个函数
确定自变量
自变量需要确定它的身份
用特征工程筛选出要用哪些特征
听说特征工程很重要
现在甚至有了自动特征工程
不知道是怎么实现的
确定自变量的次数
有的可能需要两次方或者三次方
有的需要两个变量相乘
注意:如果一个变量能够通过另一个变量计算出来
那就可以抛弃这个变量了
直接用式子代替
确定参数
参数的确定方法一般用梯度下降
梯度下降
相关的公式推导
?
也有正规方程(Normal Equation)
正规方程就是直接求解出答案来
通常要求数据维度不要太高
公式推导
这里不能去除括号化简
好像是因为
注意:
对于那些不可逆的矩阵
可选知识点:http://www.ai-start.com/ml2014/html/week2.html 4.7节
特征之间不独立
例如同时包含英尺为单位的尺寸和米为单位的尺寸
特征数量大于训练集数量
正规方程不能用
python实现
两者的对比
优化这个函数
损失函数
一开始是设置为
都是标量
假设
使用梯度下降法
原理:
梯度下降和前面的线性回归公式是两个独立的东西
梯度下降的核心思想是按照函数的梯度逐渐下降从而实现找到最小值
凸函数能找到最小值
非凸函数可能陷在局部最小值
所以要凸优化
它可以用在不同的地方
在这里梯度下降和线性回归相结合,需要求出线性回归的偏导
单变量多变量差别不大
逻辑回归(Logistic Regression)
含义
用来预测离散值的回归方法
二分类
如垃圾邮件
多分类
如花的分类
逻辑回归是分类算法
假设函数
思路
由于逻辑回归要把结果缩小在0-1之间
我们可以直接在前面那个线性回归的假设函数的基础上
外面再套一个函数规范一下它的结果就可以了
这里用sigmoid函数
公式
函数图像
式子
对于给定的输入量
根据选择的参数计算输出变量=1的可能性(estimated probability)
即
作用
决策边界
把不同类别的点分离开来的边界
例子
直线边界
用简单的函数即可
x1+x2=3
圆形边界
需要比较复杂的函数
代价函数
y=1时
需要h(x)越接近1越好
此时log(h(x))越接近0
反之如果此时h(x)接近0,
log(h(x))就会很大
就很容易优化
y=0时
需要h(x)接近0
此时1-h(x)就接近1了
反之如果此时h(x)接近1
log(1-h(x))就会很大
import numpy as np
def cost(theta, X, y):
theta = np.matrix(theta)
X = np.matrix(X)
y = np.matrix(y)
first = np.multiply(-y, np.log(sigmoid(X* theta.T)))
second = np.multiply((1 - y), np.log(1 - sigmoid(X* theta.T)))
return np.sum(first - second) / (len(X))
与线性回归的区别
如果用的是线性回归的损失函数
得到的函数图像是非凸函数
会陷在局部最小值中
梯度下降优化
为什么求导之后跟线性回归的是一样的呢?
线性代数内容回顾
矩阵乘法
矩阵乘法的性质
不满足交换律
满足结合律
单位矩阵
单位矩阵:在矩阵的乘法中,有一种矩阵起着特殊的作用,如同数的乘法中的1,我们称这种矩阵为单位矩阵.它是个方阵,一般用I或者E表示,从左上角到右下角的对角线(称为主对角线)上的元素均为1以外全都为0。如:
矩阵的逆
子主题
矩阵转置
概念以及花招
特征处理
特征缩放
也可以叫均值归一化(Mean Normalization)
有的特征变化范围很大
有的很小
所以需要把它们缩放到差不多的范围内
否则会
方法
学习率
用来控制模型优化的速度
通常可以考虑这些学习率
0.01
0.03
0.1
0.3
1
3
10
向量化