机器学习笔记(第二周)

这周的内容是对多元线性回归模型的学习,感觉还可以,就是不知道代码实现起来会不会比较难。不过这几天的学习,别的不说,头发是噌噌噌地掉,进入正题。

先介绍符号

X_{j}^{i}:表示第i个对象的第j个特征值。

思路和一元线性回归模型一样,就是一些细节处理有点变化。

模型:f_{w,b}(x) = w_{1}x_{1}+w_{2}x_{2}+w_{3}x_{3}+\cdot \cdot \cdot \cdot \cdot +w_{n}x_{n}+b 

将参数进行矢量化:                                                                                                                          \vec{w} = \begin{bmatrix} w_{1},&w_{2},&w_{3},&.... &w_{n} \end{bmatrix},b作为一个单独的参数                                                                     \vec{x} = \begin{bmatrix} x_{1},&x_{2},&x_{3},&.... &x_{n} \end{bmatrix}  

所以模型变为:f_{\vec{w},b}(\vec{x}) = \vec{w}\cdot \vec{x}+b

然后是对矢量化的代码实现思路:

# 代码实现一
f = 0
for i in range(0,n):
    f = f + w[j]*x[j]
f = f + b


# 代码实现二
f = np.dot(w,x) + b

梯度更新函数可以写为:\vec{w} = \vec{w}-\alpha \vec{d}   这里的\vec{d}是对那个偏导数的缩写

用于多元线性回归的梯度下降法:

模型:f_{\vec{w},b}(\vec{x}) = \vec{w}\cdot \vec{x}+b

误差成本函数:J(\vec{w},b)

梯度下降公式:

w_{j} = w_{j} - \alpha \frac{\partial }{\partial w_{j}}J(\vec{w},b)

b = b - \alpha \frac{\partial }{\partial b}J(\vec{w},b)

在线性回归中,还有另一种寻找w和b的方式,就是使用正规方程法,该方法只适用于线性回归,其他都不适用,如果特征值太多(>10000),会很慢。具体的老师没讲,等这一周学完,我再回过头来搞一下。(((做个标签)))

然后是特征缩放

特征缩放的原因:有些特征值的范围比较极端,太大了,或者太小了,比如:x_{1}:1000~3000, x_{2}:0~5,这时候对应选的w最后也会很极端,那么我们再用梯度下降的时候,找这种极端的,就很容易一不小心跳过去,所以就要做一下缩放

特征缩放的目的:让那极端的范围变为正常,这样的w就不极端了,得到最后结果的速度也会快很多

具体操作:

方法一:除以最大值,用.describe()来查看最大值

方法二:均值归一化:x = \frac{x-u}{max-min}    u:平均值

方法三:Z-score标准化:x = \frac{x-u}{\sigma }          u:平均值  \sigma:标准差

特征缩放到最后,最好是能将范围缩到 -1 ~ 1 或者 -3 ~ 3  或者  -0.3 ~ 0.3,超出这几个范围,就缩放吧。

判断梯度下降是否收敛,就是靠绘图,

 图像                                                                                                

这种图像,他的代价函数有时候会上涨,有两个可能的问题:1、学习率太大了。2、代码有bug。解决办法:选择较小的学习率

这种图像。他的代价函数直接随迭代次数上涨,还是有两个可能的问题:1、学习率太太太太大了。2、代码有很严重的bug。

解决办法:先选小的,看是不是学习率的问题,再判断是不是代码的问题

学习率:0.001  ,   0.01  ,   0.1 ,1

最后是特征工程

比如一块房子,你有他的长度特征x_{1},宽度特征 x_{2},那么你可以自己定义一个面积特征x_{3} = x_{1} * x_{2}来代替上述两个特征,这种更有效。

这是特征方程的一个例子,你自己也可以创造出别的特征

 变化或结合原有特征,创造新特征。(不得不说,这里让我想到了,主成成分法)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值