Click here to Skip to main content
15,891,778 members
Articles / Desktop Programming / MFC

Neural Network Classifier

Rate me:
Please Sign up or sign in to vote.
4.47/5 (23 votes)
29 Jan 2005CPOL2 min read 166K   8.4K   82  
A Multilayer perceptron used to classify blue and red points.
// MultiLayerPerceptronDlg.h : header file
//

#pragma once
#include "Perceptron.h"
#include "ErrorDlg.h"
#include "afxwin.h"

// CMultiLayerPerceptronDlg dialog
class CMultiLayerPerceptronDlg : public CDialog
{
// Construction
public:
	CMultiLayerPerceptronDlg(CWnd* pParent = NULL);	// standard constructor
	~CMultiLayerPerceptronDlg()// standard destructor
	{
		delete m_ErrorDlg;
	};	

// Dialog Data
	enum { IDD = IDD_MULTILAYERPERCEPTRON_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support

public:
	Perceptron* perceptron;

	void initPerceptron();
	void learnPoints();
	void setSamples();
	void UpdateDisplay();
// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnBnClickedInit();
	// number of neuron in hidden layer
	UINT m_hidSize[3];
	static const n_in  = 2;//10*10;
	static const n_out = 1;//32;
	double m_dLearningRate;
	double m_dMomentum;
	CErrorDlg *m_ErrorDlg;
	CArray<CPoint> m_RedPts,m_BluePts;//Sample points from user
	float m_fRedRatio[600][800];
	afx_msg void OnBnClickedLearn();
	long m_nIter;
	CComboBox m_cmbColor;
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnBnClickedClear();
	double m_dTargetError;
	BOOL m_bWritetoFile;
	afx_msg void OnBnClickedShowError();
	afx_msg void OnBnClickedLoadWeights();
	afx_msg void SaveWeights();
	CString m_strErrorFile;
	afx_msg void OnBnClickedWritetofile();
};

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) https://shahaab-co.com
Iran (Islamic Republic of) Iran (Islamic Republic of)
Currently I'm working at Dept. of Electrical Engineering in University of Shahrood.
Pattern Recognition (specially OCR), Neural Networks, Image Processing and Machine Vision are my interests. However I'm a PROGRAMMER as well.
BSc: Sharif University of technology @ 2002
MSc. and PhD: Tarbiat Modarres University @ 2006 & 2010 respectively

Personal Blog: Andisheh Online

Religious Blogs: Shia Muslims , Islamic Quotes

Company Site: Shahaab-co
My old Site: Farsi OCR

Comments and Discussions