线性回归算法梳理

1.机器学习的一些概念

有监督 无监督 泛化 过(欠)拟合 交叉验证

1.有监督学学习 (Supervised learning) 即数据集有label,通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到输出,如分类、回归问题。
2. 半监督学习 综合利用有类标签的数据和没有类标签的数据,来生成合适的分类函数。
有监督、无监督、泛化能力、过拟合欠拟合(方差和偏差以及各自解决办法)、交叉验证。
3.无监督学习(Unsupervised Learning)目的是对原始资料进行分类,以便了解资料内部结构,区别于监督式学习网络,无监督式学习网络在学习时并不知道其分类结果是否正确,亦即没有受到监督式增强(告诉它何种学习是正确的)。其特点是仅对此种网络提供输入范例,而它会自动从这些范例中找出其潜在类别规则。当学习完毕并经测试后,也可以将之应用到新的案例上,如聚类。
4.泛化能力是指机器学习算法对新鲜样本的适应能力。 学习的目的是学到隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。
5.过拟合(overfitting)是指为了得到一致假设而使假设变得过度严格。 避免过拟合是分类器设计中的一个核心任务,通常采用1.增大数据量和测试样本集的方法,2.正则化( l 1 l1 l1 l 2 l2 l2 )正则化)对分类器性能进行评价。
6.欠拟合(underfitting)模型不能够很好地拟合数据。采用增加新特征、尝试非线性模型,减小正则化参数 λ \lambda λ的值等可以解决欠拟合问题。
7.交叉验证 交叉验证的基本想法是重复地使用数据;把给定的数据进行切分,将切分的数据集组合为训练集和测试集,再次基础上反复的进行训练、测试以及模型的选择。

  • 7.1 简单交叉验证–首先随机地将已给数据分为两部分,一部分作为训练集,一部分作为测试集;然后训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。
  • 7.2 S折交叉验证–首先随机地将已给数据切分为S个互不相交的大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的S种选择重复进行;最后选出S次评测中平均测试误差最小的模型。
  • 7.3 留一交叉验证–S折交叉验证的特殊情形是S=N,成为留一交叉验证,往往在数据缺乏的情况下使用。这里N为给定数据的容量。

2.线性回归的原理

对于线性回归就是找到最适合的一条线(想象一个高维)来最好的拟合我们的数据。
h θ ( x 1 , x 2 , … , x n ) = θ 0 + θ 1 x 1 + … + θ n x n h_\theta(x_1,x_2,…,x_n)=\theta_0+\theta_1x_1+…+\theta_nx_n hθ(x1,x2,,xn)=θ0+θ1x1++θnxn

3.线性回归损失函数、代价函数、目标函数

  • 损失函数(Loss):样本模型真实值( y y y)与预测值( y ^ \hat{y} y^)之间的误差,即: l o s s = ( y − y ^ ) 2 loss=(y-\hat{y})^2 loss=(yy^)2,损失函数越小,拟合越好
  • 代价函数(Cost):
    J ( θ ) = 1 2 m ∑ i = 1 m ( y ^ i − y i ) 2 = 1 2 m ∑ i = 1 m ( h θ ( x i ) − y i ) 2 J(\theta)=\frac{1}{2m}\sum _{i=1} ^{m}(\hat{y}^{i}-y^{i})^2=\frac{1}{2m}\sum _{i=1} ^{m}(h_\theta(x^{i})-y^{i})^2 J(θ)=2m1i=1m(y^iyi)2=2m1i=1m(hθ(xi)yi)2
  • 目标函数:表示误差的损失函数,代价函数,加入了正则惩罚项后得到的最终优化函数。
    J ( θ ) = 1 2 m ∑ i = 1 m ( y ^ i − y i ) 2 = 1 2 m [ ∑ i = 1 m ( h θ ( x i ) − y i ) 2 + λ ∑ j = 1 n θ j 2 ] J(\theta)=\frac{1}{2m}\sum _{i=1} ^{m}(\hat{y}^{i}-y^{i})^2=\frac{1}{2m}[ \sum _{i=1} ^{m}(h_\theta(x^{i})-y^{i})^2+\lambda\sum _{j=1} ^{n}\theta_j^2] J(θ)=2m1i=1m(y^iyi)2=2m1[i=1m(hθ(xi)yi)2+λj=1nθj2]

4.优化方法

梯度下降法

(Gradient descent)是一个一阶最优化算法,通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。
更新所有的 θ i \theta_i θi表示为
θ 0 : = θ 0 − α 1 m ∑ i = 0 m ( h θ ( x ( i ) ) − y i ) x 0 ( i ) \theta_0:=\theta_0-\alpha\frac{1}{m}\sum _{i=0} ^{m}(h_\theta(x^{(i)})-y^i)x_0^{(i)} θ0=θ0αm1i=0m(hθ(x(i))yi)x0(i)
θ j : = θ k − α 1 m ∑ i = 0 m ( h θ ( x ( i ) ) − y i ) x k ( i ) − λ m θ j ( j = 1 , 2 , … , n ) \theta_j:=\theta_k-\alpha\frac{1}{m}\sum _{i=0} ^{m}(h_\theta(x^{(i)})-y^i)x_k^{(i)}-\frac{\lambda}{m}\theta_j (j=1,2,…,n) θj=θkαm1i=0m(hθ(x(i))yi)xk(i)mλθj(j=1,2,,n)

牛顿法

牛顿法的基本思想是利用迭代点 x k x_k xk处的一阶导数(梯度)和二阶导数(Hessen矩阵)对目标函数进行二次函数近似,然后把二次模型的极小点作为新的迭代点,并不断重复这一过程,直至求得满足精度的近似极小值。牛顿法的速度相当快,而且能高度逼近最优值。牛顿法分为基本的牛顿法和全局牛顿法。

拟牛顿法

在每一步迭代时只要求知道目标函数梯度,通过测量梯度变化构造一个目标函数的模型,使之产生超线性收敛性。不需要二阶层数信息。可以用来解决无约事,约事,和大规模的优化问题。
它是解非线性方程组及最优化计算中最有效的方法之一。
BFGS算法是使用较多的一种拟牛顿方法

5. 线性回归评估指标

1.SSE(误差平方和):即前面所述loss函数 l o s s = ( y − y ^ ) 2 loss=(y-\hat{y})^2 loss=(yy^)2,同样的数据集的情况下,SSE越小,误差越小,模型效果越好。但是随着样本增加,SSE必然增加。
2.R-square(决定系数):(coefficient of determination)决定系数反应了y的波动有多少百分比能被x的波动所描述,即表征依变数Y的变异中有多少百分比,可由控制的自变数X来解释. R 2 R^2 R2越接近1,表示方程变量对y的解释能力越强,模型对数据拟合越好,反之越差
3.Adjusted R-square:校正决定系数。加入样本数据和特征数据评价指标,消除了样本数据和特征数量的影响。

6.sklearn参数解释

sklearn 线性回归LinearRegression()参数:
首先要对数据训练集以及测试集进行构造
from sklearn.cross_validation import train_test_split
linreg = LinearRegression()

linreg.fit(X_train, y_train)
导入sklearn线性回归:
from sklearn.linear_model import LinearRegression
model=LinearRegression()的参数:

  • fit_intercept: 是否存在截距,默认存在
  • normalize: 标准化开关,用于将数据归一化,默认关闭
  • copy_X:默认为True,当为True时,X会被copied,否则X将会被覆写
  • n_jobs:默认值为1,线程数目
    默认操作:
    linreg = LinearRegression()
    linreg.fit(X_train, y_train)
    print(linreg.intercept_)–截距
    print(linreg.coef_)–系数
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
逻辑回归是一种分类算法,它的主要思想是根据现有数据对分类边界线(Decision Boundary)建立回归公式,以此进行分类。 与线性回归相似,逻辑回归通过一组预测器变量来预测特征与输出结果。但逻辑回归更适用于二分类问题,输出结果为0或1。通过方程系数,我们可以估计模型中自变量的比率。这使得逻辑回归可以用于确定某个事件的可能性。 逻辑回归和多重线性回归的区别在于因变量的不同。多重线性回归的因变量只有一个,而逻辑回归的因变量可以是二分类,也可以是多分类。广义线性模型家族中的模型基本形式相似,主要区别在于因变量的不同。例如,如果因变量是连续的,那么就是多重线性回归;如果因变量是二项分布,那就是逻辑回归;如果因变量是泊松分布,那就是泊松回归。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [逻辑回归算法梳理](https://blog.csdn.net/pandawang830/article/details/88867221)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [逻辑回归算法](https://blog.csdn.net/qq_39691463/article/details/119257621)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值