机器学习基础(二十)—— 数学语言与 Python 代码

  • (1)加权求和就是计算内积;
  • (2)加权(weighted)的权值用于衡量重要程度
  • (3)编程语言中的赋值即更新,尤其在 iterative process:
    ww+λv
  • (4)自然对数,因为其微分比较方便;

1. weighted base algorithm

Euin(h)=1Nn=1Nu1yngt(xn)

加权求和就是计算内积;

u = np.ones(N)/N                            # 权重初始化
errLabels = np.ones(N)
predLabels = clf(X, y)
errLabels[predLabels == y] = 0              # 实现了指示器函数
u.dot(errLabels)

2. AdaBoost 的权重更新

如果某样本被正确分类,那么该样本的权重更改为:

Dt+1i=DtiiDti/1ϵϵ

如果样本被错分,那么该样本的权重更新为:

Dt+1i=DtiiDti1ϵϵ

其中 D 为权重向量;

这看似是一个二分支的判断、处理问题,在 Python(Numpy)中根据强大的布尔索引判断(二分类问题的列别标签为1/-1),可简化为一条语句:

ratio = np.sqrt((epsilon-1)/max(epsilon, 1e-16))
D = D*ratio**(-pred*y)
                                # 误分类时,pred*y == -1
                                # 正确分类时,pred*y == 1
D /= D.sum()

3. feature projection

Python机器学习——如何shuffle一个数据集(ndarray类型)

特征投影也即特征选择,如下实现 RdRd

ϕ(xi1,xi2,,xid)=Px

Pd×d 的构建过程如下:

def randomProjMat(d, d_prime):
    P = np.hstack((np.eye(d_prime), np.zeros(d_prime, d-d_prime)))
    r = np.random.permutation(d)
    return P[:, r]

P=[100100]

实现了 R3R2 ,也即将 (x,y,z)(x,y)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值