Применение нейронных сетей к оценке кредитоспособности физических лиц
Модели оценки кредитоспособности физических лиц в российских банках. Нейронные сети как метод решения задачи классификации. Описание возможностей программы STATISTICA 8 Neural Networks. Общая характеристика основных этапов нейросетевого моделирования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 21.10.2013 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
{-4,67149656505120e-001, -6,09590774067550e+000, 1,75210100895654e+000, -3,13956250775567e+000, 1,43068245551182e+001, -7,85053944357368e-001, 4,24516927798281e+000, -2,59941858924333e+000, 6,03602215289459e-001, -2,18964575431617e+000, 1,14808888593193e+001, 7,03883507225023e+000 },
{-1,00981535367063e+000, -6,32535934729304e+000, 4,01064987145387e+000, 1,48465851842388e+000, 9,81770015310024e+000, 3,56768950228247e+000, 2,09026878326488e+000, -3,56947927444606e+000, 3,78673354205937e+000, 6,97345367206553e+000, 3,56882993548831e+000, 4,76152715633977e-001 },
{-8,54838370143648e-001, -6,96381955453000e+000, 3,30845287107656e+000, 8,45395665670600e-001, 1,02274795138672e+001, 2,97825904668851e+000, 2,34064744676174e+000, -4,02916055317983e+000, 3,23672074326387e+000, 5,90548752061914e+000, 4,22109537118753e+000, 7,78710016942739e-001 }
};
double hidden_bias[5]={ -4,89949635603894e-001, -1,92268683845077e+000, 4,34461990732500e+000, 2,67856825427872e+000, 2,22697833237394e+000 };
double hidden_output_wts[3][5]=
{
{-3,31754742496978e+000, 8,98228051391912e+000, 4,09646018637776e+000, -2,98424512535983e+000, -6,24495119880673e+000},
{1,29127644257301e+000, -3,38886487369035e+000, 4,27371800423730e+000, -7,54734238002245e-002, 5,79364818806007e-001 },
{2,10323923959187e+000, -5,53525376784362e+000, -8,23942580395382e+000, 3,02222658249428e+000, 5,59800454230386e+000 }
};
double output_bias[3]={ 2,55329441003075e+000, 9,52241585555783e-001, -3,56191361399268e+000 };
double max_input[12]={ 3,00000000000000e+000, 4,00000000000000e+000, 3,00000000000000e+000, 4,00000000000000e+000, 3,00000000000000e+000, 4,00000000000000e+000, 4,00000000000000e+000, 3,00000000000000e+000, 3,00000000000000e+000, 3,00000000000000e+000, 3,00000000000000e+000, 6,00000000000000e+000 };
double min_input[12]={ 1,00000000000000e+000, 1,00000000000000e+000, 0,00000000000000e+000, 1,00000000000000e+000, 1,00000000000000e+000, 1,00000000000000e+000, 1,00000000000000e+000, 1,00000000000000e+000, 1,00000000000000e+000, 1,00000000000000e+000, 1,00000000000000e+000, 1,00000000000000e+000 };
double input[12];
double hidden[5];
double output[3];
void FindMax(double* vec, double* max, long* maxIndex,int len)
{
long i;
*max = vec[0];
*maxIndex = 0;
for(i=1; i<len; i++)
{
if(vec[i]>*max)
{
*max = vec[i];
*maxIndex = i;
}
}
}
void ScaleInputs(double* input, double minimum, double maximum, int size)
{
double delta;
long i;
for(i=0; i<size; i++)
{
delta = (maximum-minimum)/(max_input[i]-min_input[i]);
input[i] = minimum - delta*min_input[i]+ delta*input[i];
}
}
void softmax(double* vec,int len)
{
long i, j;
double sum=0.0;
for(i=0; i<len; i++)
{
if(vec[i]>200)
{
double max;
long maxIndex;
FindMax(vec, &max, &maxIndex,len);
for(j=0; j<len; j++)
{ if(j==maxIndex) vec[j] = 1.0;
else vec[j] = 0.0;
}
return;
}
else
{
vec[i] = exp(vec[i]);
}
sum += vec[i];
}
if(sum==0)
{
long a = 1;
}
if(sum!=0.0)
{
for(i=0; i<len; i++) vec[i] = vec[i]/sum;
}
else for(i=0; i<len; i++) vec[i] = 1.0/(double)len;
}
double logistic(double x)
{
if(x > 100.0) x = 1.0;
else if (x < -100.0) x = 0.0;
else x = 1.0/(1.0+exp(-x));
return x;
}
void ComputeFeedForwardSignals(double* MAT_INOUT,double* V_IN,double* V_OUT, double* V_BIAS,int size1,int size2,int layer)
{
int row,col;
for(row=0;row < size2; row++)
{
V_OUT[row]=0.0;
for(col=0;col<size1;col++)V_OUT[row]+=(*(MAT_INOUT+(row*size1)+col)*V_IN[col]);
V_OUT[row]+=V_BIAS[row];
if(layer==0) V_OUT[row] = logistic(V_OUT[row]);
}
}
void RunNeuralNet_Classification ()
{
ComputeFeedForwardSignals((double*)input_hidden_weights,input,hidden,hidden_bias,12, 5,0);
ComputeFeedForwardSignals((double*)hidden_output_wts,hidden,output,output_bias,5, 3,1);
}
int main()
{
int index;
int i=0;
int keyin=1;
double max;
while(1)
{
max=3.e-300;
printf("\nEnter values for Continuous inputs\n");
printf("Cont. Input-0(Var1): ");
scanf("%lg",&input[0]);
printf("Cont. Input-1(Var2): ");
scanf("%lg",&input[1]);
printf("Cont. Input-2(Var3): ");
scanf("%lg",&input[2]);
printf("Cont. Input-3(Var4): ");
scanf("%lg",&input[3]);
printf("Cont. Input-4(Var5): ");
scanf("%lg",&input[4]);
printf("Cont. Input-5(Var6): ");
scanf("%lg",&input[5]);
printf("Cont. Input-6(Var7): ");
scanf("%lg",&input[6]);
printf("Cont. Input-7(Var8): ");
scanf("%lg",&input[7]);
printf("Cont. Input-8(Var9): ");
scanf("%lg",&input[8]);
printf("Cont. Input-9(Var10): ");
scanf("%lg",&input[9]);
printf("Cont. Input-10(Var11): ");
scanf("%lg",&input[10]);
printf("Cont. Input-11(Var12): ");
scanf("%lg",&input[11]);
ScaleInputs(input,0,1,12);
RunNeuralNet_Classification();
//Output Activation is Softmax;
softmax(output, 3);
for(i=0;i<3;i++)
{
if(max<output[i])
{
max=output[i];
index=i+1;
}
}
printf("\nPredicted category = ");
switch(index)
{
case 1: printf("A\n"); break;
case 2: printf("B\n"); break;
case 3: printf("C\n"); break;
default: break;
}
printf("\nConfidence level = %.14f",max);
printf("\n\nPress any key to make another prediction or enter 0 to quit the program.\n");
keyin=getch();
if(keyin==48)break;
}
return 0;
}
Размещено на Allbest.ru
Подобные документы
Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.
дипломная работа [2,3 M], добавлен 13.10.2015Технологии решения задач с использованием нейронных сетей в пакетах расширения Neural Networks Toolbox и Simulink. Создание этого вида сети, анализ сценария формирования и степени достоверности результатов вычислений на тестовом массиве входных векторов.
лабораторная работа [352,2 K], добавлен 20.05.2013Понятие о нейронных сетях и параллели из биологии. Базовая искусственная модель, свойства и применение сетей. Классификация, структура и принципы работы, сбор данных для сети. Использование пакета ST Neural Networks для распознавания значимых переменных.
реферат [435,1 K], добавлен 16.02.2015- Разработка автоматизированной системы оценки кредитоспособности физических лиц (АС "CreditAnalysis")
Проектирование автоматизированной информационной системы по оценке кредитоспособности клиента Банка для принятия решения по выдаче кредита. Разработка интерфейса и алгоритма работы программы. Составление сметы затрат на создание программного изделия.
дипломная работа [2,3 M], добавлен 26.07.2014 Разработка системы оценки кредитоспособности заемщика с использованием персептрона. Сущность скоринговых систем, нейронных сетей. Скоринговые системы как средство минимизации кредитного риска. Этапы проектирования сети. Определение значимости параметров.
презентация [882,9 K], добавлен 19.08.2013Разработка методики оценки кредитоспособности индивидуальных предпринимателей с использованием нейросетевых технологий. Оптимизация и упрощение нейронной сети. Экономическая эффективность инвестиций в разработанную интеллектуальную информационную систему.
дипломная работа [2,6 M], добавлен 29.06.2012Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Особенности нейронных сетей как параллельных вычислительных структур, ассоциируемых с работой человеческого мозга. История искусственных нейронных сетей как универсального инструмента для решения широкого класса задач. Программное обеспечение их работы.
презентация [582,1 K], добавлен 25.06.2013Определение и виды модели, ее отличие от понятия моделирования. Формула искусственного нейрона. Структура передачи сигнала между нейронами. Способность искусственных нейронных сетей к обучению и переобучению. Особенности их применения в финансовой сфере.
реферат [136,2 K], добавлен 25.04.2016Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
дипломная работа [4,6 M], добавлен 22.09.2011