⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 luckylottery.h

📁 利用人工智能原理中BP神经网络算法
💻 H
字号:
// LuckyLottery.h : main header file for the LUCKYLOTTERY application
//

#if !defined(AFX_LUCKYLOTTERY_H__8FBD7D05_B6D0_11D4_B1F4_0800690F4DCC__INCLUDED_)
#define AFX_LUCKYLOTTERY_H__8FBD7D05_B6D0_11D4_B1F4_0800690F4DCC__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifndef __AFXWIN_H__
	#error include 'stdafx.h' before including this file for PCH
#endif

#include "resource.h"       // main symbols

/////////////////////////////////////////////////////////////////////////////
// CLuckyLotteryApp:
// See LuckyLottery.cpp for the implementation of this class
//


#define IN_NUM 280 			//输入层 单元数
#define HIDE_NUM 70			//隐层   单元数
#define OUT_NUM 7			//输出层 单元数
#define DATA_NUM 40   		//训练数据的组数
#define END_VALUE 0.5 		//误差值结束条件
#define END_COUNT 100000    //训练次数结束条件



class CLuckyLotteryApp : public CWinApp
{
public:
	CLuckyLotteryApp();

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CLuckyLotteryApp)
	public:
	virtual BOOL InitInstance();
	//}}AFX_VIRTUAL

// Implementation
public:
	double data_in[DATA_NUM][IN_NUM];	//训练数据的输入
	double data_ot[DATA_NUM][OUT_NUM];	//训练数据的输出
	
	double ot_in[IN_NUM];				//输入层 单元的输出
	double teach[OUT_NUM];				//输出层输出的期望值
	double error_value;


	double ot_hd[HIDE_NUM];				//隐层   单元的输出
	double  w_in_hd[HIDE_NUM][IN_NUM];	//来自输入层的连接权值
	double dw_in_hd[HIDE_NUM][IN_NUM];	//来自输入层的连接权值的修正值
	double ow_in_hd[HIDE_NUM][IN_NUM];	//来自输入层的连接权值的上一次修正值
	double  cw_hd[HIDE_NUM];			//隐层单元的阈值
	double dcw_hd[HIDE_NUM];			//隐层单元的阈值的修正值
	double ocw_hd[HIDE_NUM];			//隐层单元的阈值的上一次修正值

	double ot_ot[OUT_NUM];				//输出层 单元的输出
	double  w_hd_ot[OUT_NUM][HIDE_NUM];	//来自隐层的连接权值 
	double dw_hd_ot[OUT_NUM][HIDE_NUM];	//来自隐层的连接权值的修正值 
	double ow_hd_ot[OUT_NUM][HIDE_NUM];	//来自输入层的连接权值的上一次修正值 
	double  cw_ot[OUT_NUM];				//输出层单元的阈值
	double dcw_ot[OUT_NUM];				//输出层单元的阈值的修正值
	double ocw_ot[OUT_NUM];				//输出层单元的阈值的上一次修正值

	double del_ot[OUT_NUM];				//输出层单元的误差中间值
	double del_hd[HIDE_NUM];			//隐层单元的误差中间值
	double alpha;						//调整权值变化量的参数
	double steplength;					//调整权值变化量的学习步长
	double ru0;							//决定sigmode函数形状的参数

	char buffer[9*(DATA_NUM+(IN_NUM/7)+1)];

public:
	void GetData();
	void InitNetwork();
	double Sigmf(double su);
	CString ForecastLottery(CString input_data);
	//{{AFX_MSG(CLuckyLotteryApp)
	afx_msg void OnAppAbout();
	afx_msg void OnInputLottery();
	afx_msg void OnTrainNetwork();
	afx_msg void OnOutputLottery();
	afx_msg void OnWriteLottery();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};


/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_LUCKYLOTTERY_H__8FBD7D05_B6D0_11D4_B1F4_0800690F4DCC__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -