-
temp=dataset.iloc[:,2:5]
读取数据方法——定义了一个函数 iloc()
temp = dataset.iloc[:,2:5]
把X读出来
temp['x0']=1
偏移
X=temp.iloc[:,[3,0,1,2]]
显示顺序 第3列 第0列 第1列 第2列
查看全部 -
回归分析实战
import numpy as np
from numpy.linalg import inv
from numpy import dot
from numpy import mat
import pandas as pd;
查看全部 -
同步更新
for i in range(10000):
temp[0]=theta[0] + alpha*np.sum((Y-dot(X,theta))*X0)/150.0
temp[1]=theta[1] + alpha*np.sum((Y-dot(X,theta))*X0)/150.0
temp[2]=theta[2] + alpha*np.sum((Y-dot(X,theta))*X0)/150.0
temp[3]=theta[3] + alpha*np.sum((Y-dot(X,theta))*X0)/150.0
theta=temp
查看全部 -
梯度下降:
查看全部 -
直接计算公式存在的问题
查看全部 -
最小二乘模型
查看全部 -
课程安排:
查看全部 -
掌握python梯度下降求解线性分析模型参数
θ=theta
alpha是学习速率[0,1]——
//保证梯度下降的速率不要太快,在一个合适的区间之内,是函数迅速收敛,找到局部最小值
theta=theta-alpha(theta * X - Y)*X
np.sum()/组数——加权平均
>>> import numpy as np
>>> from numpy.linalg import inv
>>> from numpy import dot
>>> from numpy import mat
>>> X=mat([1,2,3]).reshape(3,1)
>>> Y=2*X
>>> theta=1.0
>>> alpha=0.1
>>> for i in range(100):
... theta=theta + np.sum(alpha*(Y-dot(X,theta))*X.reshape(1,3))/3.0
...
>>> print(theta)
2.0
>>>
查看全部 -
inv: 矩阵求逆
dot: 矩阵点乘
mat: 二维矩阵
array: 一维数组
.T: 矩阵的转置
.reshape : 重新构置矩阵
查看全部 -
理解通过梯度下降进行参数求解过程
直接计算的问题
矩阵是否满秩(Python矩阵运算对于不是满秩矩阵的情况适用模糊近似处理)
运算性能
梯度下降法近似的计算,解决了直接计算的问题
查看全部 -
不满秩或者不正定的时候,存在多个解,并不是没有解,即解不唯一。此时选择哪一个解作为最后模型的参数呢?一是通过既定的选择便好来决定;二是采用梯度下降来近似。我觉得性能问题倒不是主要原因,主要原因是因为存在多个解
查看全部 -
理解向量运算进行参数求解过程
向量表示
Y=θX,θ和X是矩阵
L=1/2(θX-Y)^T(θX-Y)
第二行为损失函数(欧几里得距离/向量中向量空间的距离)
//这个损失函数是线性的,而神经网络的损失函数是非线性的
查看全部 -
理解向量运算进行参数求解过程
向量表示
Y=θX,θ和X是矩阵
L=1/2(θX-Y)^T(θX-Y)
第二行为损失函数(欧几里得距离/向量中向量空间的距离)
//这个损失函数是线性的,而神经网络的损失函数是非线性的
查看全部 -
线性回归的一般化模型的数学表示
θ^0表示一维时的截距
也表示为多维时的偏移量
查看全部 -
Y = θX
通过训练,得到θ的过程,就是线性回归算法。
查看全部
举报