集成学习2
在线性回归模型中,极大似然估计与最小二乘估计有什么联系与区别?
最小二乘估计,最合理的参数估计量应该使得模型能最好地拟合样本数据,也就是估计值和观测值之差的平方和最小。
最大似然法,最合理的参数估计量应该使得从模型中抽取该n组样本观测值的概率最大,也就是概率分布函数或者说是似然函数最大。
为什么多项式回归在实际问题中的表现经常不是很好?
多项式回归容易发生过拟合,所以预测效果并不好。
决策树模型与线性模型之间的联系与差别?
树形模型是一个一个特征进行处理,线性模型是所有特征给予权重相加得到一个新的值。决策树与逻辑回归的分类区别也在于此,逻辑回归是将所有特征变换为概率后,通过大于某一概率阈值的划分为一类,小于某一概率阈值的为另一类;而决策树是对每一个特征做一个划分。另外逻辑回归只能找到线性分割(输入特征x与logit之间是线性的,除非对x进行多维映射),而决策树可以找到非线性分割。
而树形模型更加接近人的思维方式,可以产生可视化的分类规则,产生的模型具有可解释性(可以抽取规则)。树模型拟合出来的函数其实是分区间的阶梯函数。
为什么要引入原问题的对偶问题?
1. 对偶问题将原始问题中的约束转为了对偶问题中的等式约束。 2. 方便核函数的引入。 3. 改变了问题的复杂度。由求特征向量w转化为求比例系数a,在原始问题下,求解的复杂度与样本的维度有关,即w的维度。在对偶问题下,只与样本数量有关。
用numpy 实现线性回归
代码如下(示例):
1.读入数据
import numpy as np
import matplotlib.pyplot as plt
2.读入数据
代码如下(示例):
import numpy as np
import matplotlib.pyplot as plt
def computerCost(X,y,theta):
m = np.size(X[:,0])
J = 1/(2*m)*np.sum((np.dot(X,theta)-y)**2)
return J
data = np.loadtxt("./machine-learning-ex1/ex1/ex1data1.txt",dtype="float",delimiter=",")
m=np.size(data[:,0])
X = data[:,0:1]
y = data[:,1:2]
one =np.ones(m)
X = np.insert(X,0,values=one,axis=1)
theta = np.zeros((2,1))
iterations = 1500
alpha =0.01
J_history = np.zeros((iterations,1))
for iter in range(0,iterations):
theta = theta - alpha/m*np.dot(X.T,(np.dot(X,theta)-y))
J_history[iter] = computerCost(X,y,theta)
plt.plot(data[:,0],np.dot(X,theta),"-")
plt.plot(X[:,1],y,"rx")
plt.xlabel("Population of City in 10,000s")
plt.ylabel("Profit in $ 10,000s")
plt.show()
|