回顾一下线性回归,一般都是用商业数据集,进程数据预测,分析系统,核心是算法为主。
深度学习,主要是图像处理,文本处理,比如云字典
最小二乘法的数学推导过程,我们只要知道结果是可靠的就行
numpy的实现方式
用鸢尾花的数据,分类的例子,对1类和2类的分类
现在的分类其实是有一些问题,线性回归分类的时候会存在一些数学基础上的不可靠
身高和年龄数据也是线性,如果要分类就要采用鸢尾花的数据了,多类分类
从线性回归的缺陷,引申到逻辑回归的意义,线性回归就提出了线性的拟合。机器学习有10大经典算法,神经网络4大算法,自适应谐振理论(ART)网络,学习矢量量化(LVQ)网络,Kohonen网络,Hopfield网络
高中数学偏计算,大学偏推理。
算法模型是什么,算法怎么去求解,算法如何去实现,实现的时候分成三种模式去实现(原生实现,框架实现(一般用sklearn,机器学习的框架,tensorflow),
地球上无数的曲线,不论你能否表现成方程,里面是可以用分段函数无穷逼近的。后来有人发明了三角分段,成为规律型的来叠加。后面矩阵的叠加不靠谱,又有了正弦波叠加的方式。这样就是把无规律变成有规律
儿女的身高一般比父母的平均身高要低,回归到人类的平均身高,线性拟合或者线性接近
算法推导后,目标值,是要把算法中的值求出来
最后得到一个误差损失函数,今天用梯度下降法,这个是比较可靠的
用tensorflow实现一把线性回归,numpy数值计算库(在python内建类型,列表上面,添加了向量,矩阵类型的数据集合,结构化数据里的东西)
之前用最小二乘法得出了一个结论
an乘以n次方-1乘以x的n-1次方,上标^,下标_
可以变成一个矩阵
这个就是形成矩阵的模型。就是类型
写成矩阵的方式是便于推理,这个就是鼎鼎大名的线性回归的决策模型,任何一个模型都有决策模型
身高在10岁之前成正比,可以当作线性的,但是10岁以后就不行了
在决策模型和求解模型中间还有过度模型,称为损失函数
关键是把w求出来,进行分类和回归。
x是身高的数据,y是年龄的数据
训练的数据就是要求解的数据(w)
占位定义,使用tensorflow里专门的类型占位符placeholder,tensorflow自己定义了数据类型,跟numpy一样,如果数据样本行数不确定,可以用-1或者None,剩下是数学样本的特征(多列就是多个特征,鸢尾花就是4个特征)
结果的数据是未知的
下面定义训练模型,直接使用w
定义决策模型,求它的逆矩阵,就是xw,w这个模型目前还没有
先求值再决策,先决策再求值是有区别的,决策模型之前先求解W
w首先把x转置求出
然后求内积
求完内积求逆矩阵
、再求转置和内积
tensorflow里有transpose,给x,就得到了一个转置矩阵
下面需要求内积
然后求逆矩阵,matrix_inverse 矩阵求逆
再求和转置矩阵的内积
再求内积
tensorflow里可以用仪表盘的方式展示怎么算的
执行求解的时候首先要把数据格式化
现在看到的是一行的矩阵,变成一个2*2的矩阵
输出的数据变成2维
第一列是x,第二列全是1,定义数组,把数据放进去
创建一个会话环境,初始化数据(是空的,愿意做可以做,不愿意做也没事)
下面要计算w,凡是求值或者输出的用v_前缀表示,求w可以用session,计算需要两个值,x和y
用字典的方式输出数组
预测模型最后求出来的其实是线性回归的模型
这里就是预测的模型
做可视化,可以加魔法指令,在线显示
构建图,构建坐标,绘制样本,绘制线性回归直线,最后显示
边界保留10像素0.1
y方向也保留10个像素。宽度80%
x是年龄,放在0-10之间,y是身高,scatter是散点值。color(0,0,1,1)是蓝色,标签训练样本
legend主题
这个就是样本点
2位数
绘制线性回归直线
标记可以换成小点