统计学习方法——第二章的c++实现
2024-09-21 07:00:38
1、东西搞丢了,只写一部分
2、算法那收敛性
证明逻辑:
a、γ是yi*(wopt*Xi)最小值
b、R是Xi最小值
c、k<=(R/γ)^2
难打公式,直接说,Wk由Wk-1迭代而来,所以事实上,只需要找到迭代第三项就可以了,迭代第三项有R有eta,Wk的迭代公式有,通过放缩,得到k,eta,R的关系。
与此同时,得到Wk与Wopt的关系,这里,Wopt是最终结果的W,同样,将Wk拆分,与上面a配合,得到eta与R 关系,结合上面这条,得证。
下面是C++代码
感知机原始代码:
#include <iostream>
using namespace std; int main_2() {
double x1[] = {,,};
double x2[] = {,,};
double y[] = {,,-};
double w[] = {,};
double b[] = { };
int index = ;
double eta = ;
while ( index <= ) {
double temp = y[index] * (x1[index] * w[] + x2[index] *w[] + b[]);
if (temp <= ) {
w[] = w[] + eta * (x1[index])*y[index]; cout << w[] << endl;
w[] = w[] + eta * (x2[index])*y[index]; cout << w[] << endl;
b[] += y[index]; cout << b[] << endl;
index = ;//这一步很重要,实现了每当出现问题,全部重新开始 //cout << w[0] << " " << w[1];
//cout << b[0]; }
else
{
index = index+;
} };
cout << w[]<<" "<<w[]<<endl;
cout << b[];
system("pause");
return ;
}
感知机对偶代码:
#include<iostream> using namespace std;
int main()
{
int x1[] = { ,, };
int x2[] = { ,, };
int y[] = { ,,- }; int b = ;
int a[] = { ,, };
int G[][];
for (int i = ; i < ; i++)
for (int j = ; j < ; j++)
{
G[i][j] = x1[i] * x1[j] + x2[i] * x2[j];
cout << G[i][j] << "\t";
if (j == ) } int index = ;
int eta = ;
while (index < )
{
int temp = ;
for (int j = ; j < ; j++)
{
temp += a[j] * y[j] * G[j][index];
}
int all = y[index] * (temp + b);
if (all <= )
{
a[index] += eta;
b += y[index];
index = ; }
else
{
index++;
} }
cout << "a:" << a[] << " " << a[] << " " << a[] << endl;
cout << "b:" << b; int w[] = { , };
for (int i = ; i < ; i++)
{
w[] += a[i] * y[i] * x1[i];
w[] += a[i] * y[i] * x2[i];
}
b = ;
for (int i = ; i < ; i++)
{
b += a[i] * y[i];
}
cout << endl << "w:" << w[] << " " << w[] << endl;
cout << "b:" << b;
getchar();
return ;
}
最新文章
- 我的公司培训讲义(1):.NET开发规范教程
- <;HTML>;菜鸟入门基础须知
- Selenium_用selenium webdriver实现selenium RC中的类似的方法
- (转)【Android测试工具】03. ApkTool在Mac上的安装和使用(2.0版本)
- linux下的php网站放到Windows服务器IIS下导入 .htaccess文件伪静态规则转换 (wordpress)
- 【MySQL】DNS与MHA/ZABBIX构建的高可用MySQL
- 一些有用的Azure工具
- Google文档
- Linux pipe功能
- Hibernate乐观锁和悲观锁
- SimpleMembership续
- 《31天成为IT服务达人》最新文件夹
- Xcode 7.0 官方免费的真机开发
- Asp.net mvc 知多少(二)
- Java学习笔记(一)网格袋布局
- Java Web乱码原因与解决
- 提高MYSQL大数据量查询的速度
- bzoj 4621: Tc605 动态规划
- 自己动手实现java数据结构(五)哈希表
- 资源 Des加密